Powershell SQL 查询--连接字符串

Powershell SQL 查询--连接字符串

我正在尝试查询几个不同的 SQL 服务器并在每个服务器上运行命令。我无法获取正确的连接字符串。代码如下。

我收到以下错误:登录失败。登录来自不受信任的域,无法与 Windows 身份验证一起使用。

我以为如果我将凭证传递给它,它就不会关心域。我该如何解决这个问题?

提前致谢。

$serverList = @(Get-Content "c:\AllServers.txt")
$query = "SELECT COUNT(thing) AS [RowCount] FROM My_table"
$Database = "My_DB"

# Read a file
foreach ( $svr in $serverList )
{
$conn=new-object System.Data.SqlClient.SQLConnection
$ConnectionString = "Server={0};Database={1};User ID=sa;Password=Password;Integrated Security=True" -f $svr, $Database
$conn.ConnectionString=$ConnectionString
$conn.Open()
$cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn)
$conn.Close()
}

答案1

您需要Integrated Security=True从连接字符串中删除。如果将其设置为 true,它将尝试通过您的 Windows 凭据而不是指定的用户 ID 和密码进行 AD/kerberos 身份验证。

另外,请查看connectionstrings.com 上的 SQL 2008 页面

相关内容