У меня возникла проблема, когда я не могу подключиться к SQL Server, используя учетные данные домена. Используя учетные данные SA, он работает, и запрос выполняется, как ожидалось. Но когда я использую учетные данные домена, я получаю сообщение об ошибке.
Вот сценарий:
$SQLServer = 'server.domain.com'
$SQLDBName = 'DBname'
$username = "DOMAIN\user"
$password = "password"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
#--> With SA, it works, with DOMAIN creds, it does not
#$SqlConnection.ConnectionString = "Server=$SQLServer; Database=$SQLDBName; User ID=sa; Password=SApassword;"
$SqlConnection.ConnectionString = "Server=$SQLServer; Database=$SQLDBName; User ID=$username; Password=$password;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = 'select count (*) from my.table'
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
И вот ошибка, которую я получаю при запуске скрипта:
Исключение, вызывающее «Заполнить» с аргументом (-ами) «1»: «Произошла ошибка, связанная с сетью или экземпляром, при установлении соединения с SQL Server. Сервер не найден или недоступен. Убедитесь, что имя экземпляра правильное. и что SQL Server настроен на разрешение удаленных подключений (поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть подключение к SQL Server).
В C:\scripts\PowerShell\myscript.ps1:28 char:1
+ $SqlAdapter.Fill($DataSet)
+ ~~~~~~~~~~~~~~~~~~ ~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SqlException
Я должен отметить тот факт, что я подключаюсь к SQL Server с компьютера, который НЕ находится в домене (поэтому я не могу использовать какую-либо сквозную аутентификацию).
Любые идеи относительно того, почему я не могу подключиться с учетными данными своего домена? Я следил за другими сообщениями, которые предлагают советы по проверке соединений, брандмауэров и т. д. Все это в рабочем состоянии, и сценарий отлично работает как sa (локальный) пользователь. Только не в домене..