使用ServerConnection时,我在使用SMO连接到SQL Server时遇到问题。在过去的几个月里,这一直在发挥作用,但现在却失败了。这是脚本的片段:
$svrname = "Server"
#Establish Server connection
Write-ColorOutput "Establishing SQL Server Connection to $svrName" "White"
$mysvrConn = new-object Microsoft.SqlServer.Management.Common.ServerConnection
$mysvrConn.ServerInstance=$svrName
$mysvrConn.LoginSecure = $false
$mysvrConn.Login = "Admin"
$mysvrConn.Password = "Password"
$svr = new-object 'Microsoft.SqlServer.Management.SMO.Server' $mysvrConn
但是,以下工作。
$svrname = "Server"
$svr = new-object ('Microsoft.SQLServer.Management.SMO.Server') $svrname
和集会:
Write-ColorOutput "Loading assemblies" "White"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SQLServer.Smo") | out-null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoExtended") | out-null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.ConnectionInfo") | out-null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoEnum") | Out-Null
答案 0 :(得分:0)
您几乎肯定会遇到SQL登录的权限问题。您要么使用了错误的密码,要么登录没有正确的信用。
令人尴尬的是,当我遇到这个问题时,原来是我输错了登录密码。
我曾预料到一条特定错误,说明登录失败。相反,它更通用:Failed to connect to server localhost.
,它让我失望。
和你一样,我运行了$LoginSecure = $True
的测试,告诉我与服务器的连接没问题。只有到那时我才发现我的错字并且正在前往SMO幸福的路上。