Агент сервера PowerShell шаг задания - Разница между вызовом файла и вызова команды

Вопрос задан: 2 года назад Последняя активность: 2 года назад
up 1 down

У меня есть простой код PowerShell для вставки значения в таблицу:

Invoke-SqlCmd -ServerInstance myserver -Query 'insert into Database.dbo.tbl values (1)'

и если я сохранить его в виде файла, я могу назвать его в шаге задания CmdExec. Тем не менее, может кто-нибудь сказать мне, почему я не могу запустить команду, особенно, как это только одна строка:

powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-Sqlcmd -ServerInstance myserver -Query ''insert into DBADatabase.dbo.tbl values (1)'''

Может кто-нибудь сказать мне, почему работает как команда не будет работать, пока тот же код, как файл может работать. Любая помощь приветствуется.

Благодарность

2 ответа

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Реклама

up 0 down accepted

Ваш powershell.exe ... команда выполняется из-за пределов PowerShell, возможно, через cmd.exe.

В таком случае, '...'-enclosed строка не имеет синтаксическую функции и передается прямо через PowerShell, заставляя его интерпретировать их как ограждающие строковый литерал, который просто выход как есть (другие слова: ваша команда печатается, а не выполняется).

Вместо этого, вы должны использовать "..." приложить команду перейти к PowerShell; внутри этой строки, вы вольны использования '...':

powershell.exe -ExecutionPolicy Bypass -Command "Invoke-Sqlcmd -ServerInstance myserver -Query 'insert into DBADatabase.dbo.tbl values (1)'"
up 0 down

У меня есть создать тестовое задание на моем сервере с ниже Powershell кода и его работой. Ниже изображения имеют мою деталь работы.

Код My Test

Invoke-Sqlcmd -ServerInstance 'MYSERVER' -Query 'insert into DBA_TOOLS.dbo.tbl values (1)'

ваш код - вам не хватает одинарные кавычки «» MyServer вокруг SQL Server.

Invoke-Sqlcmd -ServerInstance 'myserver' -Query ''insert into DBADatabase.dbo.tbl values (1)'

Агент сервера PowerShell шаг задания - Разница между вызовом файла и вызова команды

надеюсь, что это поможет

Ошибка 505

Что-то пошло не так

Попробуйте воспользоваться поиском