SQL Server’da İlgili Veritabanına Ait Tüm Tabloların Kayıt Sayılarının Listelenmesi
Herkese merhaba,
Bu yazıda SQL Server’da ilgili veritabanına ait tüm tabloların kayıt sayılarının nasıl listeleneceğinden bahsedeceğim.
SQL Server’da bazı durumlarda tüm tabloları incelemek adına ve bununla ilgili bir rapor oluşturmak için tüm tabloların kayıt sayılarının bulunup listelenmesi istenebilir.
İşte bu gibi durumlarda aşağıdaki sorguyu kullanarak ilgili veritabanındaki tüm tablolar için kayıt sayısını bulabiliriz.
CREATE TABLE #TabloarinKayitSayilari
(
TabloAdi [VARCHAR](MAX),
ToplamKayit INT
);
EXEC sp_MSforeachtable @command1 = ' Insert Into #TabloarinKayitSayilari(TabloAdi, ToplamKayit) SELECT ''?'', COUNT(*) FROM ?';
SELECT *
FROM #TabloarinKayitSayilari t
ORDER BY t.ToplamKayit DESC;
DROP TABLE #TabloarinKayitSayilari;
İlgili sorguyu çalıştırdığımız zaman aşağıdaki gibi bir sonuç elde edeceğiz. Ben işlemi AdventureWorksDW2014 veritabanını kullanarak yapıyorum.
Aşağıdaki sorguyu kullanarak da aynı sonucu alabilirsiniz. Sorguyu çalıştırmadan önce ilgili veritabanını seçtiğinizden emin olun.
SELECT OBJECT_NAME(object_id) [Tablo Adı],
st.row_count AS [Satır Sayısı]
FROM sys.dm_db_partition_stats st
WHERE index_id < 2
AND OBJECT_NAME(object_id)NOT LIKE '%sys%'
ORDER BY st.row_count DESC;
Görüldüğü üzere tüm tabloların kayıt sayıları listelenmiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.