2016-08-19 3 views
1

У меня возникла проблема с подключением к SQL Server с использованием SMO при использовании ServerConnection. За последние несколько месяцев это работает, но теперь не удается. Ниже приведен фрагмент сценария: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.

Смежные вопросы