MSSQL Server Statistics Backup ve Diskte Nerede Bulunur

Bu makalede ilk olarak mssql server yapısında istatistik komutlarının nerede tutulduğu nasıl bir yoldan geçtiğine değinelim. SQL Server’da istatistikler hem diskte hem de bellekte tutulabilir, ancak temel çalışma prensibi şöyledir:

SQL Server, istatistik verilerini diskte saklar. Bu veriler, tablolar veya indeksler için oluşturulan B-tree yapıları ve histogramlar gibi bilgileri içerir. İstatistikler, veritabanının bir parçası olarak MDF (Primary Data File) dosyasına yazılır. sys.stats ve sys.stats_columns gibi sistem görünümünden bu verilerin disk üzerindeki meta bilgilerine erişebilirsiniz.

Sorgu çalıştırıldığında, istatistikler bellek içine yüklenir ve sorgu optimizasyonu sırasında sorgu planını oluşturmak için kullanılır. İstatistiklerin histogramları, yoğunluk (density) ve diğer bilgileri sorgu planı optimizasyon aşamasında analiz edilir. Bu süreç geçicidir ve sorgu tamamlandığında bellekte tutulan istatistikler serbest bırakılır.

Sorgu Optimizasyonu ile SQL Server, diskteki istatistikleri okur ve gerekirse bu bilgileri belleğe alarak sorgu yürütme planını oluşturur. İstatistikler otomatik olarak veya manuel güncellendiğinde, bu değişiklikler diskte saklanır. Güncellenmiş bilgiler bir sonraki sorgu yürütmede bellekten tekrar yüklenir.

Çok büyük istatistik dosyaları diskten okunduğunda performans sorunlarına yol açabilir.
SQL Server, gerektiğinde bellekten istatistikleri okur, ancak bellek sınırlamaları veya yüksek yük olduğunda diskteki verilere bağımlı kalabilir.


 Özet olarak:
 Disk: İstatistiklerin kalıcı olarak saklandığı yerdir.
 Bellek: İstatistikler sorgu planlaması sırasında geçici olarak kullanılır. 
 İdeal performans için, istatistiklerin güncel ve doğru olduğundan emin olmak gerekir.

SQL Server’daki istatistikler başka bir ortama taşınabilir. Bu işlem, özellikle farklı ortamlarda (örneğin, geliştirme, test ve üretim ortamları) aynı sorgu performansını test etmek veya yeniden oluşturmak için faydalıdır. Ancak, istatistiklerin taşınması için belirli yöntemler kullanılmalıdır. İşte bu süreçte izlenebilecek adımlar:

 1. DBCC SHOW_STATISTICS ile İstatistik Verilerini Çıkartma
SQL Server’daki belirli bir tablo veya indeks için istatistikleri görüntülemek amacıyla DBCC SHOW_STATISTICS kullanılır. Bu komut, histogram ve yoğunluk (density) bilgilerini verir.

Kullanım:

DBCC SHOW_STATISTICS ('TabloAdı', 'İstatistikAdı');

Çıktıyı bir dosyaya veya başka bir veri kaynağına aktararak kaydedebilirsiniz. Daha sonra bu bilgileri hedef ortama taşıyabilirsiniz, ancak manuel olarak yeniden oluşturmanız gerekir.

 2. CREATE STATISTICS ile Yeni Ortamda İstatistikleri Oluşturma
İstatistikleri manuel olarak yeniden oluşturmak için hedef ortamda CREATE STATISTICS komutunu kullanabilirsiniz. Başka ortamdaki istatistiğe bakılarak aynı istatistikler oluşturulabilir.

 Örnek:

CREATE STATISTICS İstatistikAdı
ON TabloAdı (KolonAdı)
WITH FULLSCAN;

Histogram gibi detaylı bilgileri yeniden oluşturmak için orijinal ortamdan alınan veriler kullanılabilir.

 3. İstatistikleri Script ile Dışa Aktarma

SQL Server Management Studio’da (SSMS), bir tablonun veya indeksin istatistiklerini görmek için “Script Statistics” özelliğini kullanabilirsiniz.

Bu ifade ile ilgili istatistiğin create scriptini alıp başka bir ortama restore edebiliriz. Eğer tüm veritabanını taşıyorsanız, istatistikler de bu süreçte otomatik olarak taşınır. Ancak, yalnızca istatistikleri taşımak istiyorsanız yukarıdaki yöntemlerden birini kullanmanız gerekir.

Önemli Noktalar:
1. İstatistikler taşınırken kaynak ve hedef ortamın SQL Server sürümleri uyumlu olmalıdır.
2. İstatistikler, taşındıkları ortamda aynı veri yapısına sahip tablolarda kullanılırsa anlamlı olur.
3. Taşınan istatistiklerin sorgu performansını doğru etkilediğinden emin olmak için testler yapılmalıdır.

Bu yöntemlerle istatistikleri güvenli bir şekilde başka bir ortama taşıyabilirsiniz.

Bu makalede mssql server istatistiklerde yedek nasıl alınır veya disk üzerinde nerede tutulurlar konusuna değinmiş olduk. Başka bir makalede görüşmek dileğiyle..

Sabır ve namazla yardım dileyin. Bu, şüphesiz, huşû duyanların dışındakiler için ağır (bir yük)dır. Bakara Suresi, 45. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir