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

Откуда:
Сообщений: 13
Дано:
Есть процедуры, которые слушают свои очереди в Service Broker, в которых программисты добавили «энное» количество print’ов. Каждый запуск хранимки в Service Broker создает сообщение в
ERROR логе сервера и со временем лог сильно распухает.

Сообщения вида:

2019-12-04 14:05:52.42 spid43s The activated proc '[dbo].[Процедура]' running on queue 'База.dbo. queue22 _TargetQueue' output the following: 'Начало: 04 Dec 2019 14:05:52:420'
2019-12-04 14:05:52.42 spid43s The activated proc '[dbo].[Процедура]' running on queue 'База.dbo. queue22 _TargetQueue' output the following: 'ProtocolId:371095'



Пробовал сделать set nocount on в начале процедуры, если в студии запускаешь хранимку print’ов нет, но если она выполняется от Service Broker все равно лог пишутся print’ы.
Комментировать каждый print не вариант, гугл не помог.

Вопрос:
Как быть?
4 дек 19, 17:38    [22032377]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1369
osipen,

не меняя процедур - никак.

запись в еррор лог сделана специально что бы была возможность дебага фоновых процессов в процедурах активации.
4 дек 19, 17:54    [22032399]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
osipen, оторвать ручки разработчикам, которые оставляют print'ы в версии процедуры для прода.
Если уж так хочется пользоваться принтами вместо дебага - пусть делают входной необязательный параметр, который бы определял вывод принтов.

Я так делал когда-то:

create proc as ...
..., @debug bit = 0
as
...

if @debug = 1 print 'Some useful info'


При отладочном вызове, соответственно, передается явное значение.
А если логи нужны постоянно - то пусть и пишут их в постоянную таблицу.
4 дек 19, 18:21    [22032414]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
komrad
Member

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



osipen
если в студии запускаешь хранимку print’ов нет, но если она выполняется от Service Broker все равно лог пишутся print’ы.


похоже не print-ы там


https://social.msdn.microsoft.com/Forums/sqlserver/en-US/67bbc6a0-5883-4cb4-99c6-ff1c45c7b28d/sql-service-broker-activated-proc-writes-all-print-messages-into-sql-error-log?forum=sqlservicebroker
4 дек 19, 18:27    [22032419]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
komrad
Member

Откуда:
Сообщений: 5245
ну и вот еще ответ Aaron Bertrand :
https://dba.stackexchange.com/questions/87305/how-to-suppress-activation-procedure-output-from-the-error-log
4 дек 19, 18:37    [22032431]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
komrad
Minamoto,



osipen
если в студии запускаешь хранимку print’ов нет, но если она выполняется от Service Broker все равно лог пишутся print’ы.


похоже не print-ы там


https://social.msdn.microsoft.com/Forums/sqlserver/en-US/67bbc6a0-5883-4cb4-99c6-ff1c45c7b28d/sql-service-broker-activated-proc-writes-all-print-messages-into-sql-error-log?forum=sqlservicebroker
А что тогда? )
Видимо, какие-то условия для вывода принтов таки встроены - какие - это уже забота разработчиков разобраться и поправить.
4 дек 19, 18:37    [22032433]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
osipen
Member

Откуда:
Сообщений: 13
Всем спасибо за ответы!!! Грустно..... придётся выпиливать из каждой процедуры.
5 дек 19, 09:29    [22032777]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
komrad
Member

Откуда:
Сообщений: 5245
Minamoto
А что тогда? )

автор не пожелал нам показать это )
5 дек 19, 11:35    [22032926]     Ответить | Цитировать Сообщить модератору
 Re: Убрать принты из лога  [new]
Владислав Колосов
Member

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

отредактируйте процедуры.
5 дек 19, 14:44    [22033212]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить