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.

Konu bağlantısı simgesi 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

Index (Transact-sql) oluştur

Tablo (Transact-sql) oluştur

dbcc updateusage (Transact-sql)

allocation_units (Transact-sql)

sys.indexes (Transact-sql)

index_columns (Transact-sql)

sys.Objects (Transact-sql)

sys.Partitions (Transact-sql)

Sistem saklı yordamları (Transact-sql)

Kavramlar

SQL Server Service Broker