sp_spaceused (Transact-sql)
Satırlar, disk alanı ayrılmış ve dizin oluşturulmuş görünüm, tablo tarafından kullanılan disk alanını görüntüler veya Service Brokersıra geçerli veritabanı veya ayrılmış ve tüm veritabanı tarafından kullanılan disk alanını görüntüler.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_spaceused [[ @objname = ] 'objname' ]
[,[ @updateusage = ] 'updateusage' ]
Bağımsız değişkenler
@objname='objname'
Nitelikli ya da niteliksiz tablo, dizin oluşturulmuş görünüm veya hangi alan kullanım bilgileri talep edilen sıra addır. Tırnak işaretleri yalnızca nitelikli nesne adı belirtilmişse gereklidir. (Veritabanı adı dahil) bir tam nitelikli nesne adı verdiyse, geçerli veritabanının adını veritabanı adı olmalıdır.Eğer objnamebelirtilmezse, sonuçlar için tüm veritabanını geri döndü.
objnameise nvarchar(776), null varsayılan.
@updateusage='updateusage'
dbcc updateusage alanı kullanım bilgilerini güncelleştirmek için çalışması gerektiğini gösterir. Ne zaman objname, tüm veritabanı; deyimini çalıştırın belirtilmemiş Aksi takdirde, deyimini çalıştırın objname. Değer-ebilmek var olmak trueya false. updateusageise varchar(5), varsayılan false.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Sonuç Kümeleri
Eğer objname ise ihmal, aşağıdaki sonuç kümesi döndürülen geçerli veritabanı boyutu bilgi sağlamak için.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
veritabanı_adı |
nvarchar(128) |
Geçerli veritabanının adı. |
database_size |
varchar(18) |
Geçerli veritabanında megabayt cinsinden boyutu. database_size veri ve günlük dosyaları içerir. |
ayrılmamış |
varchar(18) |
Alanı veritabanında bulunan veritabanı nesneleri için ayrılmış değil. |
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
aittir |
varchar(18) |
Veritabanındaki nesneleri tarafından ayrılan alan toplam miktarı. |
veri |
varchar(18) |
Verileri tarafından kullanılan alan toplam miktarı. |
index_size |
varchar(18) |
Dizinleri tarafından kullanılan alan toplam miktarı. |
kullanılmayan |
varchar(18) |
Veritabanındaki nesneler için ayrılmıştır, ancak henüz kullanılan alan toplam miktarı. |
Eğer objnamebelirtilirse, belirtilen nesne için aşağıdaki sonuç kümesi geri döndü.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
name |
nvarchar(128) |
Hangi alan kullanım bilgileri istenen nesnenin adı. Nesnenin şema adı döndürülür. Şema adı kullanırsanız, sys.dm_db_partition_stats veya sys.dm_db_index_physical_stats eşdeğer boyut bilgilerini almak için dinamik yönetimi görünümleri. |
satırlar |
char(11) |
Varolan tablodaki satır sayısı. Belirtilen nesne bir Service Brokersırası, bu sütunda gösterir kuyruktaki iletilerin sayısı. |
aittir |
varchar(18) |
İçin ayrılan alan toplam miktarı objname. |
veri |
varchar(18) |
Verileri tarafından kullanılan alan toplam miktarı objname. |
index_size |
varchar(18) |
Dizinler tarafından kullanılan alan toplam miktarı objname. |
kullanılmayan |
varchar(18) |
İçin ayrılan alan toplam miktarı objnameancak henüz kullanılan. |
Açıklamalar
database_size her zaman toplamından daha büyük olacak ayrılmış + ayrılmamış günlüğü dosyalarının boyutu içerdiğinden ama ayrılmış ve unallocated_space yalnızca veri sayfaları düşünün.
xml dizinler ve tam metin dizinleri tarafından kullanılan sayfaların dahildir index_size için iki sonuç kümeleri. Ne zaman objnamebelirtilirse, sayfalar xml dizin ve tam metin dizin nesnesi için de toplamda sayılır ayrılmış ve index_size sonuçları.
Alanı kullanımı, bir veritabanı veya kayma dizin, alan boyutu sütunlar gibi sahip bir nesne için hesaplanırsa database_size, reserved, ve index_size, kayma dizin boyutunu içerir.
Ne zaman updateusagebelirtilen SQL Server Veritabanı Altyapısıveri sayfaları veritabanında ve herhangi bir geçici taramaları gerekli düzeltmeleri allocation_units ve sys.partitionsindex_id katalog görünümleri ile ilgili her tablo tarafından kullanılan depolama alanı. Bazı durumlar vardır, örneğin, sonra tablo için alan bilgiler geçerli olmayabilir zaman dizin düştü. updateusagebüyük tablolar veya veritabanları üzerinde çalıştırmak için biraz zaman alabilir. Kullanım updateusagesadece zaman yanlış değerleri döndürülen şüpheli ve ne zaman süreci olumsuz etkisi diğer kullanıcılar ya da işlemler veritabanında olmaz. Tercih edilen, dbcc updateusage ayrı olarak çalıştırabilirsiniz.
[!NOT]
Sen bırak büyük dizinleri yeniden oluşturmak veya damla veya kesecek büyük tablolar, Veritabanı Altyapısıgirmesini hareketi tamamlar sonra gerçek sayfa deallocations ve bunların ilişkili kilitleri kadar erteledi. Ertelenen bırak işlemleri ayrılan alan hemen yayın değil. Bu nedenle, döndürülen değerleri sp_spaceused sonra hemen bırakarak veya bir büyük nesne kesiliyor gerçek disk alanı yansıtmayabilir.
İzinler
Yürütme izni sp_spaceused verilir Genel rolü. Yalnızca üyeleri db_owner sabit veritabanı rolü belirtme @ updateusage parametresi.
Örnekler
A.Disk alanı bilgileri hakkında bir tablo görüntüleme
Aşağıdaki örnek raporları için disk alanı bilgilerini Vendortablo ve dizinleri.
USE AdventureWorks2012;
GO
EXEC sp_spaceused N'Purchasing.Vendor';
GO
USE AdventureWorks2012;
GO
EXEC sp_spaceused N'Purchasing.Vendor';
GO
B.Güncellenme Zamanı alan bir veritabanı hakkında bilgi görüntüleme
Aşağıdaki örnek, geçerli veritabanında kullanılan alanı özetler ve isteğe bağlı bir parametre kullanır @updateusagegeçerli değerleri döndürülür sağlamak için.
USE AdventureWorks008R2;
GO
EXEC sp_spaceused @updateusage = N'TRUE';
GO
USE AdventureWorks008R2;
GO
EXEC sp_spaceused @updateusage = N'TRUE';
GO
Ayrıca bkz.
Başvuru
dbcc updateusage (Transact-sql)
allocation_units (Transact-sql)
Sistem saklı yordamları (Transact-sql)