DBCC UPDATEUSAGE

DBCC UPDATEUSAGE, SQL Server’da veritabanı üzerindeki depolama bilgilerini (metadata)güncellemek için kullanılan bir komuttur. Page ve row sayılarındaki hataları tespit etmektedir. Bu bilgilerin doğru olmaması durumunda düzeltilmesini sağlar.

Tablo, dizin veya veritabanı seviyesinde kullanılan veri sayfaları ve boş sayfalarla ilgili bilgileri kontrol eder ve doğru olmayanları günceller.  sp_spaceused gibi sorguların doğru depolama istatistikleri raporlamasını sağlar. Eğer tablolar veya dizinler için kullanılan alanla ilgili değerler yanlışsa, bu komut bu değerleri düzeltir.

DBCC UPDATEUSAGE şu şekilde çalıştırılır:

DBCC UPDATEUSAGE ('VeritabanıAdı');

Belirli bir tablo veya dizin çalıştırmak için aşağıdaki komut kullanılmaktadır.

DBCC UPDATEUSAGE ('VeritabanıAdı', 'TabloAdı'); 

Aşağıdaki komut belirli bir veritabanı altında bulunan tablonun belirtilen index için kontrol yapılmaktadır.

DBCC UPDATEUSAGE ('VeritabanıAdı', 'TabloAdı',IX_TabloAdı_IndexName);

WITH NO_INFOMSGS bilgilendirme mesajlarını devre dışı bırakır ve yalnızca hataları gösterir:

DBCC UPDATEUSAGE ('VeritabanıAdı') WITH NO_INFOMSGS;

Ne Zaman Kullanılır?
1.sp_spaceused komutu yanlış sayfa sayısı veya boş alan miktarını raporluyorsa. Hangi tablo veya veritabanı üzerindeyse yukarıdaki ilgili komut çalıştırılır.

2. DBCC CHECKDB veya DBCC CHECKALLOC gibi komutların ardından depolama istatistiklerini güncellemek için.

3. Çok fazla veri ekleme veya silme işlemleri sonrası SQL Server’ın tahsis bilgileri bozulabilir. Bu durumda bilgileri güncellemek gerekebilir.

4. Veritabanının gerçekten ne kadar yer kapladığını doğru bir şekilde görmek için.

 Eğer herhangi bir düzeltilme yapıldıysa:

Msg 17588, Level 16, State 1
Space usage information for table ‘TableName’ has been updated.


Depolama bilgileri zaten doğru ise, genelde herhangi bir mesaj gösterilmez(NO_INFOMSGS kullanılmadıysa standart bilgilendirme mesajı döner).

Büyük veritabanlarında çalıştırılması uzun sürebilir. Sistem kaynakları üzerinde belirli bir yük oluşturabilir. Bu yüzden düşük trafiğin olduğu zamanlarda çalıştırılması önerilir.

DBCC UPDATEUSAGE, veri üzerinde herhangi bir değişiklik yapmadığı için genelde tablo kilitleme problemi yaratmaz. Ancak büyük tablolar üzerinde çalışırken dikkatli olunmalıdır.

DBCC UPDATEUSAGE sadece istatistikleri günceller, veritabanı üzerinde fiziksel bir değişiklik yapmaz.
Bu komut veritabanı bakım işlemlerinin bir parçası olarak düzenli aralıklarla çalıştırılabilir. Büyük veritabanlarında sık çalıştırılması önerilmez, sadece gerektiğinde kullanılır.

Kısacası DBCC UPDATEUSAGE, SQL Server’da veritabanı nesnelerinin (özellikle tabloların ve dizinlerin) kullanım istatistiklerini güncellemek için kullanılan bir komuttur.

NOT:

  • DBCC MEMORYSTATUS: Bellek kullanım detaylarını gösterir.DBCC MEMORYSTATUS
  • DBCC SQLPERF(LOGSPACE): Transaction log doluluk oranları için çok yaygın kullanılır
  • DBCC SHRINKDATABASE: Veritabanını küçültür. DBCC SHRINKDATABASE (‘VeritabaniAdi’);
  • DBCC SHRINKFILE:Belirli bir data/log dosyasını küçültür.DBCC SHRINKFILE (N’LogicalFileName’, 1024);
  • DBCC USEROPTIONS: Mevcut oturum ayarlarını gösterir. DBCC USEROPTIONS
  • DBCC INPUTBUFFER: Son çalıştırılan sorguyu göstermektedir. DBCC INPUTBUFFER(@SPID);
  • DBCC TRACEON / TRACEOFF: Trace flag açıp kapatır. DBCC TRACEON-TRACEOFF (1118, -1);

Not: Çoğu DBCC komutu sysadmin yetkisi gerektirir.

Bu makalede DBCC UPDATEUSAGE komutunu detaylı bir şekilde görmüş olduk . Başka bir makalede görüşmek dileğiyle.

Şüphesiz iman edenler, hicret edenler ve Allah yolunda cihad edenler; işte onlar, Allah’ın rahmetini umabilirler. Allah bağışlayandır, esirgeyendir.” Bakara Suresi, 218. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

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