我正在尝试查找并显示处于理想镜像状态之外的任何数据库名称的列表。下面的代码在一个数据库处于这种状态时有效,但是当出现更多错误时,我得到这个问题所指的错误:Msg 512, Level 16, State 1, Line 4 Subquery returned more than 1 value。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
这是我的代码:
声明@result int 声明@dbs varchar(256)
SET @result = (SELECT database_id from sys.database_mirroring WHERE mirroring_state_desc in ('SUSPENDED','DISCONNECTED','PENDING_FAILOVER'))
SET @dbs = (SELECT name from sys.databases where database_id = @result)
if @@ROWCOUNT > 0
print @dbs
非常感谢您的任何帮助,
布拉德。