2016-08-19 48 views
1

我在使用ServerConnection時遇到了使用SMO連接到SQL Server的問題。在過去的幾個月裏,這一直在發揮作用,但現在失敗了。這裏是腳本的片段:Powershell SMO無法連接

 $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

你幾乎可以肯定有你的SQL登錄權限的問題。您要麼使用了錯誤的密碼,要麼登錄信息不正確。尷尬的是,當我遇到這個問題時,原來我輸入的登錄密碼不正確。

我原本以爲一個特定的錯誤說明登錄失敗。相反,它是更通用的:Failed to connect to server localhost.,它扔了我。

和你一樣,我運行了$LoginSecure = $True工作的測試,告訴我到服務器的連接是好的。直到那時我才發現我的錯字,並正在去SMO幸福的路上。