Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Execute SQL Task Failed - SSIS  [new]
temoxa
Member

Откуда:
Сообщений: 405
Всем привет! Тыкните пожалуйста способ как можно запустить из SSIS вот такой скрипт:

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Erase Phantom System Health Records.', 
		@step_id=3, 
		@cmdexec_success_code=0, 
		@on_success_action=1, 
		@on_success_step_id=0, 
		@on_fail_action=2, 
		@on_fail_step_id=0, 
		@retry_attempts=0, 
		@retry_interval=0, 
		@os_run_priority=0, @subsystem=N'PowerShell', 
		@command=N'if (''$(ESCAPE_SQUOTE(INST))'' -eq ''MSSQLSERVER'') {$a = ''\DEFAULT''} ELSE {$a = ''''};
(Get-Item SQLSERVER:\SQLPolicy\$(ESCAPE_NONE(SRVR))$a).EraseSystemHealthPhantomRecords()', 
		@database_name=N'master', 
		@flags=0


Вопрос возник из-за того что SSIS (Execute SQL Task) не может распарсить команды из переменной @command! Есть ли какой то альтернативный выход?
Спасибо.
18 июл 14, 11:09    [16323478]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
temoxa
SSIS (Execute SQL Task)

Наврено потому,что вы пытаетесь его заставить выполнть повершел ?
18 июл 14, 11:13    [16323499]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
temoxa
Member

Откуда:
Сообщений: 405
Maxx, идея в том, что выгружаются скрипты для создания джоб (T-sql), а далее эти скрипты нужно запустить на другом сервере... Отсюда и вопрос как можно из SSIS эти скрипты запустить?
18 июл 14, 11:19    [16323554]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104751
temoxa
Вопрос возник из-за того что SSIS (Execute SQL Task) не может распарсить команды из переменной @command!

А зачем Execute SQL Task-ю парсить значение агрумента системной процедуры ?
18 июл 14, 11:22    [16323579]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
... ну так создайтье отдельный конекшин и скормите ему скрипты...
Коьнекшин 1 - создаем джоб (скрипт)
Передаем файлы
Конекшин 2 - выполняем файл
18 июл 14, 11:23    [16323585]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
temoxa
Member

Откуда:
Сообщений: 405
Glory, я имел ввиду, что ошибка возникает из-за вот этой строки:

@command=N'if (''$(ESCAPE_SQUOTE(INST))'' -eq ''MSSQLSERVER'') {$a = ''\DEFAULT''} ELSE {$a = ''''};
(Get-Item SQLSERVER:\SQLPolicy\$(ESCAPE_NONE(SRVR))$a).EraseSystemHealthPhantomRecords()'


То есть в Execute SQL Task при нажатии на ParseQuery -> ошибка The Syntax of sql statement is not suppored.
18 июл 14, 11:39    [16323708]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
temoxa
Member

Откуда:
Сообщений: 405
Maxx,
ну вот так все и делается, скрипты джобов выгружаются в файл .sql (через ps) и далее отправляются на выполнение, но они падают из-за ошибки, которую я описал...
18 июл 14, 11:41    [16323733]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
temoxa,

вы понимаете, что скл такс не предназначен для выполнения повершел ????
18 июл 14, 11:55    [16323863]     Ответить | Цитировать Сообщить модератору
 Re: Execute SQL Task Failed - SSIS  [new]
temoxa
Member

Откуда:
Сообщений: 405
Всем спасибо! Обошел вопрос выполнением скрипта через Execute Process Task и командлета sqlcmd.
18 июл 14, 13:44    [16324926]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить