sql-server - 将服务器添加到 SQL Management Studio

标签 sql-server powershell sql-server-2008

我想将不同服务器上的一堆 SQL(2000-2005 的混合)服务器实例添加到我的 SSMS(SQL 管理工作室)注册服务器,我正在关注本教程 here但这一次只添加一台服务器,而不是同时添加。

该列表当前在 Excel 中,但可以导入到记事本或任何其他文档格式,只要它可以被 PowerShell 命令识别。另外,要注意的另一件事是我可以在哪里更改登录以使用 sql 身份验证?并指定用户名和密码?

New-Item $(Encode-Sqlname "SERVERNAME\INSTANCENAME") -itemtype registration -Value “server=MyServer;integrated security=true” 

tks

错误
New-Object : Cannot convert argument "1", with value: "", for "PSCredential" to
 type "System.Security.SecureString": "Cannot convert the "" value of type "Sys
tem.String" to type "System.Security.SecureString"."
At line:4 char:32
+         -Credential (New-Object <<<<  System.Management.Automation.PSCredenti
al("sa", "")) }
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodExcept
   ion
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.Power
   Shell.Commands.NewObjectCommand

最佳答案

如果将 Excel 电子表格保存为 CSV 文件,则可以使用 Import-Csv 在 PowerShell 中轻松导入它。 cmdlet 并自动按名称在列表中注册服务器。

假设您的 CSV 文件如下所示:

|Name    |
|Server1 |
|Server2 |
|Server3 |

以下命令将导入其内容 作为对象列表 , CSV 文件中的每一行一个,都有一个 Name属性,其中包含实际值。然后在传递给 New-Item 的字符串中使用这些名称。 cmdlet 来实际进行注册:
Import-Csv ServersToRegister.csv | ForEach-Object { `
    New-Item $(Encode-Sqlname $_.Name) -ItemType Registration `
        -Value ("server=$($_.Name);integrated security=true") }

您可以通过传递 PSCredential 来指定用于连接到 SQL Server 实例的用户名和密码。反对 New-Item小命令。所以完整的命令是:
Import-Csv ServersToRegister.csv | ForEach-Object { `
    New-Item $(Encode-Sqlname $_.Name) -ItemType Registration `
        -Value ("server=$($_.Name);integrated security=true") `
        -Credential (New-Object System.Management.Automation.PSCredential("username", "password")) }

关于sql-server - 将服务器添加到 SQL Management Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256207/

相关文章:

sql-server - 子查询在 SSMS 2016 中返回了超过 1 个值

php - 如何从此查询中选择最新日期(不在现有表中)?

sql - TSQL统计字段并汇总

arrays - powershell Get-ChildItem 结果在数组中

SQL Server - 在 WHERE 子句中使用 CASE

SQL 双动态透视

sql - 无法绑定(bind)多部分标识符

sql-server - 如何按周顺序显示记录

powershell - 无法执行 DSC 配置文件

powershell - 如何使用单行命令在一个目录中创建多个目录