SQL Server ‘da Kim ? Ne Zaman Objelerimi Sildi !!!

SQL Server üzerinde bu tarz bilgilere erişmek için genelde TRIGGER kullanırız. Fakat Trigger kullanmadan bu tarz bilgiye ulaşmanın yolu var. (Ben yoğun sistemlerinizde Trigger kullanmanıza karşıyım.)

Bu bilgiye erişmek için aşağıda gerçekleştirdiğimiz demo adımlarımızı yapmanız gerekmektedir.

Demo adımlarımızı gerçekleştirilmek için ilk önce bir tablo ve bu tablodan data çeken Stored Procedure oluşturacağız.

-- Demo tablomuzu oluşturuyoruz.
CREATE TABLE Demo_SQLTR
(
c1 Int Identity(1,1) Primary Key Clustered,
c2 nvarchar(100)
);


-- Tablomuza Index ekliyoruz.
CREATE INDEX sqlTR_NCIX_c2 ON Demo_SQLTR (c2);


-- Demo SP 'mizi oluşturuyoruz.
CREATE PROCEDURE sqltr_SP_get_Demo 
AS
BEGIN
SELECT * FROM Demo_SQLTR
END

Daha sonra Stored Procedure ‘ümüzü silip bu silindi bilgisine nerden nasıl erişiyoruz ona bakacağız.

-- ProcedureDROP ediyoruz.
DROP PROCEDURE sqltr_SP_get_Demo;

Procedure ümüzü sildikten sonra Database ‘imizin üzerine gelip Sağ tıklıyoruz ve önümüze gelen pencereden Reports sekmesine gelip bu sekmenin içerisinde yer alan Schema Changes History raporunu açıyoruz.(Adımları aşağıda ki resimde gösterilmiştir.)

Schema_Change_History

Daha sonra karşımıza aşağıda ki gibi rapor gelmekte.

Report_1

Objelerin önünde ki + butonuna bastığımızda ne zaman ve kim tarafından oluşturuldukları ve ne zaman ve kim tarafından silindikleri bilgilerine erişmiş oluyoruz.

Report_2

Gördüğünüz gibi sqltr_SP_get_Demo Procedure ‘ü 19:10 da ‘sa’ kullanıcısı ile oluşturulmuş ve 19:14 de yine ‘sa’ kullanıcısı ile DROP edilmiş. Diğer objelerinde durumlarını görmektesiniz.

Eğer bu raporu Db bazında değilde Instance bazında almak istiyor ise o zamanda Instance ‘ın üzerine gelip sağ tıklıyoruz ve aşağıda ki adımları gerçekleştirip Genel Instance bazında ki değişiklikleri görebiliyoruz.

Burada dikkat etmemiz gereken bir durum var bazen fazla log dan olayı üzerini ezebilir verinin ve geriye dönük fazla data dataya erişemeyebilirsiniz. O yüzden periyodik olarak bir tabloya loglayabilirseniz istediğiniz süre boyunca rahatça bu bilgilere erişim sağlayabilrisiniz geriye dönük olarak.

Peki veritabanı üzerinde sildiğiniz bir objeyi nasıl kurtarırız sorusnun cevabını ise diğer makalemden ulaşabilirsiniz.Diğer makaleme gitmek için tıklayınız….

Kolay Gelsin.

Leave a Reply

Your email address will not be published. Required fields are marked *