Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Кто последний изменил хранимую процедуру / 14 сообщений из 14, страница 1 из 1
01.06.2009, 09:46
    #36018296
Кто последний изменил хранимую процедуру
Может кто подскажет, как посмотреть кто последний правил хранимую процедуру???
...
Рейтинг: 0 / 0
01.06.2009, 10:41
    #36018404
Crimean
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
сервер какой?
...
Рейтинг: 0 / 0
01.06.2009, 13:58
    #36018940
beaver06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Crimeanсервер какой?

Например MS SQL 2005
...
Рейтинг: 0 / 0
01.06.2009, 15:01
    #36019086
Crimean
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
beaver06Crimeanсервер какой?

Например MS SQL 2005

например DLL триггера
...
Рейтинг: 0 / 0
01.06.2009, 16:44
    #36019515
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Crimeanbeaver06Crimeanсервер какой?

Например MS SQL 2005

например DLL триггера
Именно.. А можно еще и через Event Notifocation (через Service Broker).
С уважением, Алексей
...
Рейтинг: 0 / 0
02.06.2009, 08:43
    #36020404
Кто последний изменил хранимую процедуру
Так всетаки как на 2005 SQL Servere посмотреть, кто изменил хранимку???
...
Рейтинг: 0 / 0
02.06.2009, 10:09
    #36020554
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Код выдран из стандартных отчетов...
так пойдет?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
use db_name;

declare @enable int; 
select top  1  @enable = convert(int,value_in_use) from sys.configurations where name = 'default trace enabled'  
if @enable =  1  
begin 
        declare @d1 datetime; 
        declare @diff int; 
        declare @curr_tracefilename varchar( 500 );  
        declare @base_tracefilename varchar( 500 );  
        declare @indx int ; 
        declare @temp_trace table (
                obj_name nvarchar( 256 )
        ,       obj_id int
        ,       database_name nvarchar( 256 )
        ,       start_time datetime
        ,       event_class int
        ,       event_subclass int
        ,       object_type int
        ,       server_name nvarchar( 256 )
        ,       login_name nvarchar( 256 )
        ,       user_name nvarchar( 256 )
        ,       application_name nvarchar( 256 )
        ,       ddl_operation nvarchar( 40 ) 
        );
        
        select @curr_tracefilename = path from sys.traces where is_default =  1  ;  
        set @curr_tracefilename = reverse(@curr_tracefilename) 
        select @indx  = PATINDEX('%\%', @curr_tracefilename) 
        set @curr_tracefilename = reverse(@curr_tracefilename) 
        set @base_tracefilename = LEFT( @curr_tracefilename,len(@curr_tracefilename) - @indx) + '\log.trc'; 
        
        insert into @temp_trace 
        select ObjectName
        ,       ObjectID
        ,       DatabaseName
        ,       StartTime
        ,       EventClass
        ,       EventSubClass
        ,       ObjectType
        ,       ServerName
        ,       LoginName
        ,       NTUserName
        ,       ApplicationName
        ,       'temp' 
        from ::fn_trace_gettable( @base_tracefilename, default )  
        where EventClass in ( 46 , 47 , 164 ) and EventSubclass =  0   and DatabaseID = db_id() ; 

        update @temp_trace set ddl_operation = 'CREATE' where event_class =  46 ;
        update @temp_trace set ddl_operation = 'DROP' where event_class =  47 ;
        update @temp_trace set ddl_operation = 'ALTER' where event_class =  164 ; 

        select @d1 = min(start_time) from @temp_trace 
        set @diff= datediff(hh,@d1,getdate())
        set @diff=@diff/ 24 ; 
        
        select  @diff as difference
        ,       @d1 as date
        ,       object_type as obj_type_desc 
        ,       (dense_rank() over (order by obj_name,object_type ) )% 2  as l1 
        ,       (dense_rank() over (order by obj_name,object_type,start_time ))% 2  as l2
        ,       *
        from @temp_trace where object_type not in ( 21587 ) -- don't bother with auto-statistics as it generates too much noise
        order by start_time desc;
end else 
begin 
        Select top  0   1  as difference,    1  as date,  1  as obj_type_desc,   1  as l1,  1  as l2,        1  as obj_name,   1  as obj_id,  1  as database_name,         1  as start_time,  1  as event_class,  1  as event_subclass,  1  as object_type,  1  as server_name,  1  as login_name,  1  as user_name,  1  as application_name,  1  as ddl_operation  
end  
...
Рейтинг: 0 / 0
02.06.2009, 10:12
    #36020557
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.07.2021, 10:10
    #40084980
Кто последний изменил хранимую процедуру
Здравствуйте!

Может что изменилось по этому вопросу в MS SQL Server 2017? Предложенный здесь скрипт не помог. Я поменял в нем наименование БД вверху. Может еще что надо было?
...
Рейтинг: 0 / 0
21.07.2021, 16:12
    #40085136
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Борис Гаркун,

настройте аудит, dafault trace хранит данные не вечно.
...
Рейтинг: 0 / 0
21.07.2021, 17:51
    #40085167
dvim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Борис Гаркун,сделайте DDL триггер и пишите всю историю изменений хп в базу.... реально помогает
...
Рейтинг: 0 / 0
21.07.2021, 23:05
    #40085222
Wlr-l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Интересно, хранимые процедуры могут изменять все в любое удобное им время, или все-таки есть организационная процедура?
...
Рейтинг: 0 / 0
21.07.2021, 23:56
    #40085241
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Wlr-l,

бывают системы, где, условно, 100 пользователей и все они - sa. Мир прекрасен и ужасен одновременно, что поделать.
...
Рейтинг: 0 / 0
22.07.2021, 08:48
    #40085276
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кто последний изменил хранимую процедуру
Владислав Колосов
Wlr-l,

бывают системы, где, условно, 100 пользователей и все они - sa. Мир прекрасен и ужасен одновременно, что поделать.
Даже тогда история будет полезна - с какого компа меняли, когда, что за изменения.
Даже если комп будет один и тот же (например, SSMS запущен на самом сервере), знание "когда" и "что" решает 99% задач.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Кто последний изменил хранимую процедуру / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]