У нас есть сценарий, в котором несколько баз данных SQL установлены в одном экземпляре SQL (консолидация баз данных SQL)
VM Name = MyHostQAS
SQL Instance Name = MyHostQAS\NISQLSERVER2
SQL DB1 = QWA
SQL DB2 = QWB
Мое требование - написание сценария PS, который удаленно запускает / останавливает отдельную базу данных SQL (не весь экземпляр SQL)
Я попытался с sqlcmd, сначала запустив его локально (в cmd) на сервере, где установлен экземпляр SQL
sqlcmd -S MyHostQAS\NISQLSERVER2 -Q "ALTER DATABASE QWA SET online;"
Это работает нормально, и запускается QWA DB. Где, когда мы выполняем следующий запрос PS, мы получаем ошибки
Invoke-Sqlcmd -Username "admin" -Password "Admin123#" -ServerInstance "MyHostQAS\NISQLSERVER2" -Database "QWA" -Query "ALTER DATABASE QWA SET online;"
Ошибка:
Invoke-Sqlcmd: сбой входа для пользователя 'admin'. В строке: 1 символ: 1
+ Invoke-Sqlcmd -Username "admin" -Password "Admin123 #" -ServerIn ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: InvalidOperation: (:) [Invoke-Sqlcmd], SqlException
+ FullyQualifiedErrorId: SqlExectionError, Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Invoke-Sqlcmd: в строке: 1 символ: 1
+ Invoke-Sqlcmd -Username "admin" -Password "Admin123 #" -ServerIn ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: ParserError: (:) [Invoke-Sqlcmd], ParserException
+ FullyQualifiedErrorId: ExecutionFailureException, Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
Не могли бы вы помочь в устранении неполадок?