Как вы индивидуально регистрируете информацию о вложенных хранимых процедурах, которые выполняются родительской хранимой процедурой?Регистрация вложенных хранимых процедур в SQL Server
Пример:
CREATE PROCEDURE dbo.usp_ParentProcedure
AS
BEGIN
EXEC dbo.usp_ChildProcedure1
EXEC dbo.usp_ChildProcedure2
EXEC dbo.usp_ChildProcedure3
END
GO
В идеале я хотел бы войти время транзакции ввода/0, использование процессора каждой вложенной хранимой процедуры по отдельности в то время как только внесение изменений в родительской процедуры.
Причина в том, что вложенные процедуры часто добавляются и удаляются из родительской процедуры другими пользователями, и все мы знаем, что заставить всех следовать протоколу создания серьезно тяжело работать.
Aaron Bertrand поделился своим решением для сохранения единственного хранимой процедуры здесь http://www.mssqltips.com/sqlservertip/2003/simple-process-to-track-and-log-sql-server-stored-procedure-use/
Я был бы признателен, если кто-нибудь может мне помочь расширить это, чтобы покрыть мой сценарий выше.
Благодаря
Нила
Почему бы не просто создать триггер DDL, который предотвращает создание или изменение любой процедуры, в которой тело не содержит * не * содержит общие обработчики ведения журнала? Они не могут обходить ваши правила, если система их не допускает. Если это не вариант, вы можете легко обернуть вызовы в родительскую процедуру и время захвата (легко) и другие ресурсы (возможно, немного более жесткие) для каждого вызова. Но тьфу. И вы по-прежнему полагаетесь на людей, чтобы обернуть новые вызовы битом регистрации - не так сильно, как ожидалось, что они добавят обработчики протоколирования к дочерним процедурам. –
Вау, какая привилегия получить ответ от старшего консультанта в SQL Sentry. Спасибо, что нашли время, чтобы ответить на мой запрос. Я буду запускать DDL-идею мимо моего начальника и сказать им, что Аарон Бертран отправил меня;) –
Г-н Бертран, вы имеете в виду настройку политики SQL Server, которая обеспечит ее соблюдение? Как бы вы установили триггер ddl, который будет проверять proc? –