Не удается подключиться к базе данных с помощью PowerShell
У меня проблемы с sqlps
в моем скрипте PowerShell. Я пытаюсь выбрать строки из таблицы и сохранить их в .csv
файл.
Запрос
$TABLE="events"
Import-Module sqlps
$SQLquery='SELECT * FROM dbo.$TABLE'
$result=invoke-sqlcmd -query $SQLquery -HostName LOCALHOST -Password test -Username test
$result |export-csv c:\TEST.csv -notypeinformation
Я получаю эту ошибку:
invoke-sqlcmd : Login failed for user 'test'.
At line:6 char:9
+ $result=invoke-sqlcmd -query $SQLquery -HostName LOCALHOST -Password ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Invoke-Sqlcmd], SqlException
+ FullyQualifiedErrorId : SqlExectionError,Microsoft.SqlServer.Management.
PowerShell.GetScriptCommand
invoke-sqlcmd :
At line:6 char:9
+ $result=invoke-sqlcmd -query $SQLquery -HostName LOCALHOST -Password ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ParserError: (:) [Invoke-Sqlcmd], ParserException
+ FullyQualifiedErrorId : ExecutionFailureException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Может ли кто-нибудь быть в состоянии помочь?
1 ответ
Таким образом, основная проблема заключалась в том, что запрос должен был заключаться в кавычки, а не в кавычки, и сервер должен получать явное разрешение на вход в учетную запись Microsoft и вход SQL. даже если у вас есть настройки пользователя для входа в SQL. опция находится в свойствах / безопасности / аутентификации сервера.
Я оставляю этот ответ здесь, если кто-нибудь столкнется с этой проблемой для начинающих, как я. Спасибо за помощь от сообщества, чтобы так быстро разобраться