以编程方式检测哪个SQL Server是主体,哪个是镜像?

SRG*_*SRG 5 sql-server powershell scripting sqlcmd

我正在寻找一种方法来以编程方式查询哪个SQL服务器作为主要SQL服务器,哪一个是一对中的镜像.有没有人知道这是否可以通过PowerShell(SQLPS)或CMD(SQLCMD)?如果是这样,我该如何查询此信息?

提前致谢!

rsb*_*rro 4

我没有方便测试的实例,但我认为您应该能够使用 SQLCMD 查询sys.database_mirroring_witnesses(SQL Server 2005 或更高版本)来获取您正在查找的信息。

编辑
感谢@Remus 的精彩评论。合适的查找位置是sys.database_mirroring

  • 不过,您应该使用“sys.database_mirroring”,其中包含数据库状态/角色(http://msdn.microsoft.com/en-us/library/ms178655.aspx)。`sys.database_mirror_witnesses` 包含有关镜像见证的信息。 (2认同)