sql-server – 找出谁在SQL Server上修改了存储过程?

前端之家收集整理的这篇文章主要介绍了sql-server – 找出谁在SQL Server上修改了存储过程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看起来有人登录修改了我们的sql Server数据库上的存储过程.有没有办法找出那个人的凭据?

解决方法

您可以查看默认跟踪并轻松搞清楚.试试Jonathan Kehayias的例子.

http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/05/27/pass-dba-sig-default-trace-presentation-files.aspx

这是作为示例显示的,您需要查看ALTER OBJECT事件类型.

http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/09/29/what-session-created-that-object-in-tempdb.aspx

编辑:

代码由Jonathan Kehayias提供.

DECLARE @filename VARCHAR(255) 
SELECT @FileName = SUBSTRING(path,LEN(path)-CHARINDEX('\',REVERSE(path))+1) + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

SELECT gt.HostName,gt.ApplicationName,gt.NTUserName,gt.NTDomainName,gt.LoginName,gt.SPID,gt.EventClass,te.Name AS EventName,gt.EventSubClass,gt.TEXTData,gt.StartTime,gt.EndTime,gt.ObjectName,gt.DatabaseName,gt.FileName,gt.IsSystem
FROM [fn_trace_gettable](@filename,DEFAULT) gt 
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id 
WHERE EventClass in (164) --AND gt.EventSubClass = 2
ORDER BY StartTime DESC;
原文链接:https://www.f2er.com/mssql/81097.html

猜你在找的MsSQL相关文章