Forum
Merhaba,
Aslında bahsettiğiniz olayı belki biraz uzun bir yöntem olacak ama Profiler ile takip edebilirsiniz.
SQL Server Profiler açıp, Trace Properties ekranında Event Selection da Show all eventsı seçerek bölümüne geçip Stored Procedure altında bulunan SP:StmtStarting veSP:StmtCompleted seçilerek dönen değerleri general bölümü altındaki save to table bölümünden bir tablo içerisinde yazarak istediğiniz takibi yapabilirsiniz aslında.
Trace istediğiniz tabloya insert olduğu anda gelen inserted kaydını da mail olarak attırabilirsiniz diye düşünüyorum.
Merhaba
Mikrosoft DISABLE TRIGGER komutu malesef DDLTriger ları tetiklemiyor. Aynı şekilde profiler tarafındanda yakalanamıyor.
Aşşağıdaki linkte konu ile ilgili bilgi var.
Alter Triger icin ddl event mevcut fakat Disable triger komutu bunu tetiklemiyor. Mikrosoft dba ler için arka kapı bırakmış.
Büyük ihtimalle auditlerde de bu komutla ilgili bilgi olmayabilir.
Geriye kulağımızı tersten kaşımak kalıyor. Belli süreler ile sys.triggers kontrol edip modify_date üzerinden son kontrol ettiğimiz andan itibaren
değişen bir kayıt var ise işlem yapmak.
Aşşağıdaki linklerde ddl trigerlar ile ilgili bilgi ve nasıl oluşturulabilecği ile ilgili bilgi mevcut
http://technet.microsoft.com/en-us/library/ms175941.aspx
http://www.mssqltips.com/sqlservertip/2085/sql-server-ddl-triggers-to-track-all-database-changes/
Cevaplarınız için teşekkürler.
Profiler ile incelediklerimden malesef bir şey yakalayamadım. Sys.objects ve sys.triggers var ama bunlar sanki view gibi çalışıyor.
Bana history lazımdı. Hangi kullanıcı , hangi veritabanında , hangi tablodaki, hangi trigger'ı disable etmiş o gerekiyordu bana. Ve anlık olarak.
Belirli sürelerde kurduğum işimi tam anlamıyla görmüyor. (Zaten job'lardan kendime mail attırıyorum belirlir süreler ile.) Ama kullanıcı 30 saniye içersinde triggerı disable edip istediğini yapabiliyor. Ve tekrar enable ediyor. Benim mail'ime de yakalanmıyor doğal olarak.
Sanırım Sql'de kullanıcı yetkilerine yönelerek çözüme gitmem gerekicek. Triggerları kapatmak gibi. Sadece view ve Store proc'ları gör gibi. Biraz inceleyeyim bu konuyu.
Bir de öğrenmek için şunu sorabilirim. sys.triggers ve sys.objects 'leri Sql management ile görebiliyor muyum ? Aynı bir tablo/view gibi nerede olduğu vs. Yoksa microsoft bunu arka planda herşeyi kendisi mi ayarlıyor. Kullanıcıya göstermiyor mu bunları ?