我正在尝试运行此查询
从sys.database_mirroring中选择mirroring_role_desc,其中database_id >4且mirroring_state不为空
因此,该查询基本上将输出数据库的数量,并且只显示主体/镜像,如下所示

我希望这个查询输出到excel文件中另一件有趣的事情,如果实例中的任何一个数据库是主/镜像,那么我们可以假设整个实例是主/镜像。所以在excel文件中,我想要一个带有servername\hostname的列,然后下一列显示它是镜像、主体还是无(如果没有,就留空),该怎么做呢?
我试过了,
$ServerInstance = "server1\instance1a "
$Database = " "
$ConnectionTimeout = 30
$Query = "select mirroring_role_desc from sys.database_mirroring where database_id > 4 and mirroring_state is NOT NULL"
$QueryTimeout = 120
$conn=new-object System.Data.SqlClient.SQLConnection
$ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $ServerInstance,$Database,$ConnectionTimeout
$conn.ConnectionString=$ConnectionString
$conn.Open()
$cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn)
$cmd.CommandTimeout=$QueryTimeout
$ds=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
[void]$da.fill($ds)
$conn.Close()
$ds.Tables坦率地说,上面的代码工作得很好,但问题是将实例名称和只有一个带有主体/镜像的列放入excel文件,这就是我遇到的问题。
为了获得更好的想法,这是我试图实现的:

发布于 2012-12-05 23:35:25
不久前,我写了一篇博客文章,在中央管理服务器中的所有服务器上运行脚本。你应该能够相当容易地适应它。请查看here。
https://stackoverflow.com/questions/13719571
复制相似问题