Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка 42000  [new]
Гузы
Guest
Отправляю почту с сервера процедурой sp_send_dbmail с sql запросом.
exec msdb.dbo.sp_send_dbmail 
...
@sql = 'select f1,f2,... from table'


В студии - все работает. Создал джобу - тип шага sql, вложил отлаженный в студии скрипт, запускаю и получаю ошибку сервера 42000 - мол не может форматировать запрос, возможно ошибка в параметрах...
Пробую, как вложение типа txt - опять, в студии все ОК, а в джобе - та же ошибка.
Как не вертел - все одно и то же.
Обошел просто: переделал результат запроса в строку
select @res = @res +f1+f2+.. from table

и в тело сообщения
exec msdb.dbo.sp_send_dbmail 
...@body = @res

Работает, но хочется, как вложенный файл...
Может кто что подскажет?
2008 R2, кластер.
Ни в МСДН ни на форуме ничего вразумительного не нашел.
24 авг 12, 12:54    [13059439]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Приведите полный текст шага джоба и полное сообщение об ошибке из истории шага джоба.
24 авг 12, 13:00    [13059482]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
pkarklin,
Ну, Павел! Прям как юный пионер - все-то покажи и попробовать дай!
exec msdb.dbo.sp_send_dbmail 
@profile_name = 'ххх',
@recipients = 'ххх@ххх.ru;',
@subject = 'Ку-ку', 
@body = 'Му-му',
@body_format = 'HTML'
@execute_query_database='ХХХХ',
@query_result_header = 0,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Result.txt',
@query = 'select f1,f2,...from dbo.Table'

А с ошибкой - хуже, сейчас ее нет, а скопировать - поленился, sorry!
В студии - работает на ура.
24 авг 12, 13:08    [13059517]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Гузы
А с ошибкой - хуже, сейчас ее нет


Почистили историю джоба?
24 авг 12, 13:11    [13059532]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
pkarklin,
Да еще накладки. В студии через раз открывался шаг задания - так что джобу переделывал скриптом удалить - создать...
24 авг 12, 13:13    [13059541]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Гузы,

В шаге джоба ничего больше нет, кроме этого вызова?
24 авг 12, 13:21    [13059576]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
pkarklin,
Yes,sir!
24 авг 12, 13:24    [13059591]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Гузы,

А в запросе часом нет обращения к линкованному серверу?
24 авг 12, 13:30    [13059623]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
И, можно ли увидеть весь запрос, передаваемый в @query?
24 авг 12, 13:35    [13059655]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
pkarklin,
Нет обращения к линкованному, а шаблон запроса приведен. Уж совсем точно:
where f2 <> 'Бла-бла-бла'
24 авг 12, 13:42    [13059705]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Чтоб я проверил. Что в настройках свойств шага Database = msdb. Что учетная запись, под которой работает служба агента имеет доступ к бд, в которой должен быть выполнен запрос.
24 авг 12, 13:58    [13059788]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
pkarklin,
@database_name = OLTP 

В студии скрипт работает на OLTP.
Джобы запускаются от имени учетки, имеющей полные права на БД (кроме DDL - может здесь? Проверить не могу, только через админов, а у них крутая тяпница...).
24 авг 12, 14:11    [13059884]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Гузы,

Я говорил об учетке, под которой работает служба Агента.
Про базу имелось ввиду здесь:

К сообщению приложен файл. Размер - 37Kb


Сообщение было отредактировано: 24 авг 12, 14:20
24 авг 12, 14:20    [13059964]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
pkarklin,
А я и отвечал об учетке службы агента, бд в этом месте - OLTP. Вызов процедуры:
msdb.dbo.sp_send_dbmail 

Если ее запускать только с @body - все отрабатывает нормально.
Контекст запроса - параметр процедуры = OLTP
24 авг 12, 14:36    [13060122]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
Ошибка:
(специально повторил для интересующихся)

Выполняется от имени пользователя: MAIN\ХХХ_Agent.
Error formatting query, probably invalid parameters [SQLSTATE 42000] (Ошибка 22050). Шаг завершился с ошибкой.

При создании шага ошибок нет. В студии скрипт отрабатывает. Предположения о двойных - одинарных кавычках к рассмотрению не принимаются.
27 авг 12, 10:54    [13067944]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Гузы
При создании шага ошибок нет. В студии скрипт отрабатывает. Предположения о двойных - одинарных кавычках к рассмотрению не принимаются.
Вы приведите скрипт создания шага, а то какие вообще могут быть предположения?
Предположение только одно - у вас где то ошибка.
27 авг 12, 11:00    [13067976]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
Гузы
Guest
alexeyvg,
Шаг создал через мастер: рабочий вариант скрипта из студии копипастил в мастер шага задания. Парсер мастера без ошибок.

Проблема с редактированием шага задания (ошибка фабрики классов) решается SP, но пока не установлен - редактировать получается только после перезапуска студии.
Так что Truth is out there...
27 авг 12, 11:27    [13068161]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 42000  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Гузы
alexeyvg,
Шаг создал через мастер: рабочий вариант скрипта из студии копипастил в мастер шага задания.
Ну вы можете хоть сюда скопировать строку, которую пишете в параметр @query?

Прикольно, "найдите ошибку в коде, но код я не покажу" :-)
Гузы
Проблема с редактированием шага задания (ошибка фабрики классов) решается SP, но пока не установлен - редактировать получается только после перезапуска студии.
Зачем редактировать? Сгенерите скрипт джоба.
27 авг 12, 11:54    [13068349]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить