首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Powershell在多台服务器上运行sqlquery

使用Powershell在多台服务器上运行sqlquery
EN

Stack Overflow用户
提问于 2012-12-05 17:06:23
回答 1查看 2.6K关注 0票数 0

我正在尝试运行此查询

从sys.database_mirroring中选择mirroring_role_desc,其中database_id >4且mirroring_state不为空

因此,该查询基本上将输出数据库的数量,并且只显示主体/镜像,如下所示

我希望这个查询输出到excel文件中另一件有趣的事情,如果实例中的任何一个数据库是主/镜像,那么我们可以假设整个实例是主/镜像。所以在excel文件中,我想要一个带有servername\hostname的列,然后下一列显示它是镜像、主体还是无(如果没有,就留空),该怎么做呢?

我试过了,

代码语言:javascript
复制
$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文件,这就是我遇到的问题。

为了获得更好的想法,这是我试图实现的:

EN

回答 1

Stack Overflow用户

发布于 2012-12-05 23:35:25

不久前,我写了一篇博客文章,在中央管理服务器中的所有服务器上运行脚本。你应该能够相当容易地适应它。请查看here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13719571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档