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

Откуда:
Сообщений: 137
Собственно создатель функции, где то эта инфа хранится в системных таблицах??
11 окт 16, 17:09    [19770273]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37200
Нигде не хранится.
11 окт 16, 17:16    [19770316]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
kolyady
Member

Откуда:
Сообщений: 137
Гавриленко Сергей Алексеевич,
совсем нигде нет???

системное имя , имя компьютера , любая инфа создателя обьекта бд???
11 окт 16, 17:19    [19770339]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37200
Аудит заранее настраивать надо, если нужна эта информация.

Сообщение было отредактировано: 11 окт 16, 17:24
11 окт 16, 17:20    [19770344]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
kolyady
Member

Откуда:
Сообщений: 137
Гавриленко Сергей Алексеевич,
:((
11 окт 16, 17:21    [19770354]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
komrad
Member

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

если была создана недавно, то можно посмотреть в дефолтном трейсе (событие "Object:Created")
но есть особенность - у дефолтного трейса всего 5 файлов по 20МБ каждый и инфа могла затереться...
11 окт 16, 17:33    [19770421]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
kolyady
Member

Откуда:
Сообщений: 137
komrad,
создана была сегодня.
А можно более подробно, желательно скиньте скрипт как можно посмотреть , буду признателен. :)
11 окт 16, 17:46    [19770492]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
komrad
Member

Откуда:
Сообщений: 5601
kolyady
komrad,
создана была сегодня.
А можно более подробно, желательно скиньте скрипт как можно посмотреть , буду признателен. :)


попробуйте этот :

+
SELECT	top 100
		te.name, 
		ft.SPID,
		ft.LoginName,
		ft.SessionLoginName,
		ft.Hostname,
		ft.ClientProcessID,
		ft.DatabaseName, 
		ft.FileName, 
		ft.StartTime, 
		dateadd(ms,ft.Duration/1000,ft.StartTime) [FinishTime],
		ft.ApplicationName ,
		ft.ObjectID,
		ft.ObjectName,
		ft.Duration/1000/1000 [Duration (s)],
	ft.TextData,
	ft.RoleName,
	ft.TargetUserName

FROM sys.traces st CROSS Apply
	::fn_trace_gettable(st.path, st.max_files) AS ft 
INNER JOIN sys.trace_events AS te ON ft.EventClass = te.trace_event_id 
WHERE 
	te.name LIKE 'Object:Created'  
					 
and st.is_default=1 
and st.status=1
ORDER BY ft.StartTime desc;
11 окт 16, 17:54    [19770536]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
kolyady
Member

Откуда:
Сообщений: 137
komrad,
Спасибо огромное нашел засранца, пошел бить :)
11 окт 16, 17:58    [19770563]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37200
kolyady
komrad,
Спасибо огромное нашел засранца, пошел бить :)
Подумайте заодно, как вы будете искать засранца, который вам сначала выключит дефолтный трейс.
11 окт 16, 17:59    [19770569]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть под каким пользователем создана функция  [new]
komrad
Member

Откуда:
Сообщений: 5601
kolyady
komrad,
Спасибо огромное нашел засранца, пошел бить :)

:)

скрипт, указанный выше, проверит только активный файл
вот более полная версия скрипта, которая проверяет все 5 файлов:


+
declare @all_files varchar(512)
select @all_files=CAST(value AS VARCHAR(200))
	FROM sys.fn_trace_getinfo(DEFAULT)
	WHERE traceid = 1 AND property = 2
	select @all_files=left(@all_files,len(@all_files)-charindex('_',reverse(@all_files)))+right(@all_files,4)

SELECT	top 100
		te.name, 
		ft.SPID,
		ft.LoginName,
		ft.SessionLoginName,
		ft.Hostname,
		ft.ClientProcessID,
		ft.DatabaseName, 
		ft.FileName, 
		ft.StartTime, 
		dateadd(ms,ft.Duration/1000,ft.StartTime) [FinishTime],
		ft.ApplicationName ,
		ft.ObjectID,
		ft.ObjectName,
		ft.Duration/1000/1000 [Duration (s)],
	ft.TextData,
	ft.RoleName,
	ft.TargetUserName

FROM sys.traces st CROSS Apply
	::fn_trace_gettable(@all_files, st.max_files) AS ft 
INNER JOIN sys.trace_events AS te ON ft.EventClass = te.trace_event_id 
WHERE 
	te.name LIKE 'Object:Created'  
					 
and st.is_default=1 
and st.status=1
ORDER BY ft.StartTime desc;
11 окт 16, 18:04    [19770606]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить