Tabloya En Son Ne Zaman Erisim Yapildi (Kullanilmayan Tablolar)

Tabloya En Son Ne Zaman Erisim Yapildi (Kullanilmayan Tablolar)

SQL Server’da bir tablonun en son ne zaman kullanildigini bulabilmek, bu sayede de bir süredir hiç kullanilmamis olan tablolari tespit etmek bir DBA için önemli bir konu haline gelebiliyor. Bu bilgiye göre az kullanilan veya kullanilmayan tablolari farkli bir sema altina tasima veya silme gibi kararlari vermek daha kolay oluyor.Ayrica yöneticiniz den gelen "Son ay hangi tablolarin kullanilmadigi listesini istiyorum" talebine cevap verebilmek için bu bilgilere ihtiyaç duyariz.

.

Yukaridaki sorunun cevabi için asagidaki t-sql sorgusunu kullanabilirsiniz.

 --Son islemleri SonAktivite içine at
WITH SonAktivite (ObjectID, SonIslem)
AS
(
	SELECT object_id AS TableName, Last_User_Seek as SonIslem
	FROM sys.dm_db_index_usage_stats u
	WHERE database_id = db_id(db_name())
	UNION
	SELECT object_id AS TableName,last_user_scan as SonIslem
	FROM sys.dm_db_index_usage_stats u
	WHERE database_id = db_id(db_name())
	UNION
	SELECT object_id AS TableName,last_user_lookup as SonIslem
	FROM sys.dm_db_index_usage_stats u 
	WHERE database_id = db_id(db_name()) 
		--sorgunun çalistigi veritabani
)

--Son Aktivite ile sistem üzerindeki objeleri joinleyip bilgileri olustur.
SELECT OBJECT_NAME(so.object_id)AS TableName,
	MAX(la.SonIslem)as SonIslemTarihi
FROM sys.objects so 
LEFT JOIN SonAktivite la ON so.object_id = la.ObjectID
WHERE so.type = 'U' --Sadece Kullanici Tablolari
GROUP BY OBJECT_NAME(so.object_id)
ORDER BY OBJECT_NAME(so.object_id)
 

.

Remark SQL Server tablolara yapilan erisim bilgilerini son çalisma anindan itibaren tutar yani yakin zamanda SQL Server restart edildi ise bu restarttan sonraki erisim bilgilerine ulasabilirsiniz.

One thought on “Tabloya En Son Ne Zaman Erisim Yapildi (Kullanilmayan Tablolar)

  1. Kullanılmayan tablolar ile ilgili yazınız çok yararlı oldu, aynı şekilde kullanılmayan view ve fonksiyon larıda tespit edebilir miyiz ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir