微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用不同的域帐户连接到 SQL 服务器

如何解决使用不同的域帐户连接到 SQL 服务器

我目前正在尝试使用具有查询服务器权限的不同域/用户名连接到 sql 服务器。这里的powershell只是为了测试连接是否有效,

$connectionString = "Server=<my_server>;Database=<db>;User ID=<domain>\<testuser>;Password=<password>;Trusted_Connection=False;Encrypt=True;TrustServerCertificate=True;";
$connection = New-Object System.Data.sqlClient.sqlConnection($connectionString);
$connection.open();
$connection.Close(); 

我最终收到此错误

使用“0”个参数调用“Open”的异常:“用户''登录失败。

我确定用户名和密码是正确的。因为这就是客户端设置中的内容

但我想知道是否需要添加到连接字符串中的其他参数?

解决方法

此任务需要自动化,但解决方案是使用 -Credentials 连接到服务器以登录所需用户。

$computerName = 'SQLServer' 

$adminUsername = 'username'
$adminPassword = ConvertTo-SecureString 'password' -AsPlainText -Force
$adminCreds = New-Object PSCredential $adminUsername,$adminPassword

Invoke-Command -ScriptBlock {
$SQLServer = "sqlserver"
$SQLDBName = "database"
$uid ="account"
$pwd = "password"
$SqlQuery = "SELECT TOP (12) [attribute1]
 FROM [table].[dbo].[AAG00200];"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True; User ID = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)

} -ComputerName $computerName -Credential $adminCreds

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。