การหาผู้ที่ปรับเปลี่ยนขั้นตอนการจัดเก็บบน SQL Server?


10

ดูเหมือนว่าบางคนได้เข้าสู่ระบบและปรับเปลี่ยนขั้นตอนการจัดเก็บในฐานข้อมูล SQL Server ของเรา มีวิธีหาข้อมูลประจำตัวของบุคคลที่ทำเช่นนั้นหรือไม่

คำตอบ:


17

คุณสามารถดูร่องรอยเริ่มต้นและคิดออกได้อย่างง่ายดาย ลองตัวอย่างจาก Jonathan Kehayias

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

นี่คือการแสดงเป็นตัวอย่างและคุณต้องดูที่ประเภทเหตุการณ์ ALB วัตถุ

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, 0, 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; 

ขั้นตอนการจัดเก็บจะไม่แสดงในผลลัพธ์ ความคิดใด ๆ
Behrang Saeedzadeh

หากมีการแก้ไข SP พวกเขาจะปรากฏขึ้น หากคุณต้องการลองสร้างหุ่นจำลองและเปลี่ยนมันและดูว่ามันแสดงในรายงานข้างต้น
Sankar Reddy

ลืมความคิดเห็นก่อนหน้าของฉัน คิดออก ขอบคุณ
Behrang Saeedzadeh

ดีใจที่คุณเข้าใจแล้ว :-)
Sankar Reddy

โปรดทราบว่าระบบการติดตามนี้เลิกใช้แล้วตามเอกสาร MSDN ไมโครซอฟท์แนะนำให้ใช้ของพวกเขา "เหตุการณ์ขยาย" กระบวนทัศน์แทน: technet.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
Keiths
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.