Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analytics Platform Sistemi (PDW)
Microsoft Fabric'te SQL Veritabanı
Veritabanındaki her veri dosyası için alan kullanım bilgilerini döndürür.
Uyarı
Bunu Azure Synapse Analytics veya Analytics Platform Sistemi'nden (PDW) çağırmak için adını sys.dm_pdw_nodes_db_file_space_usagekullanın. Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.
| Sütun adı | Veri türü | Description |
|---|---|---|
database_id |
smallint | Veritabanı Kimliği. Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir. |
file_id |
smallint | Dosya Kimliği.file_id
file_id
sys.dm_io_virtual_file_stats içinde ve sys.sysfiles içindeki fileid ile eşleştiriyor. |
filegroup_id |
smallint |
için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler. Dosya grubu kimliği. |
total_page_count |
bigint |
için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler. Veri dosyasındaki toplam sayfa sayısı. |
allocated_extent_page_count |
bigint |
için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler. Veri dosyasında tahsis edilen kapsamlardaki toplam sayfa sayısı. |
unallocated_extent_page_count |
bigint | Veri dosyasındaki tahsis edilmemiş kapsamlardaki toplam sayfa sayısı. Tahsis edilen kapsamlarda kullanılmayan sayfalar dahil edilmez. |
version_store_reserved_page_count |
bigint | Versiyon mağazası için tahsis edilen üniformalı kapsamlarda toplam sayfa sayısı. Sürüm mağazası sayfaları hiçbir zaman karışık boyutlardan ayrılmaz. IAM sayfaları dahil edilmez, çünkü her zaman karışık boyutlardan tahsis edilirler. PFS sayfaları, tek bir ölçüde tahsis edilmişse dahil edilir. Daha fazla bilgi için sys.dm_tran_version_store (Transact-SQL)'a bakınız. |
user_object_reserved_page_count |
bigint | Veritabanındaki kullanıcı nesneleri için uniform kapsamlardan tahsis edilen toplam sayfa sayısı. Tahsis edilen bir alandan kullanılmayan sayfalar sayıma dahil edilir. IAM sayfaları dahil edilmez, çünkü her zaman karışık boyutlardan tahsis edilirler. PFS sayfaları, tek bir ölçüde tahsis edilmişse dahil edilir. sys.allocation_units katalog görünümündeki total_pages sütunu, kullanıcı nesnesinde her tahsis biriminin ayrılmış sayfa sayısını döndürmek için kullanabilirsin. Ancak, köşe total_pages yazısında IAM sayfaları da yer almaktadır. |
internal_object_reserved_page_count |
bigint | Dosyadaki iç nesneler için ayrılan uniform kapsamlarda toplam sayfa sayısı. Tahsis edilen bir alandan kullanılmayan sayfalar sayıma dahil edilir. IAM sayfaları dahil edilmez, çünkü her zaman karışık boyutlardan tahsis edilirler. PFS sayfaları, tek bir ölçüde tahsis edilmişse dahil edilir. Her dahili nesnenin sayfa sayısını döndüren katalog görünümü veya dinamik yönetim nesnesi yoktur. |
mixed_extent_page_count |
bigint | Dosyada tahsis edilen ve tahsis edilmemiş sayfaların toplam sayısı, karışık alanlarda. Karışık kapsamlar, farklı nesnelere tahsis edilmiş sayfaları içerir. Bu sayı, dosyadaki tüm IAM sayfalarını da kapsar. |
modified_extent_page_count |
bigint |
Şunlar için geçerlidir: SQL Server 2016 (13.x) SP2 ve sonraki sürümleri. Son tam veritabanı yedeklemesinden bu yana dosyanın tahsis edilen kapsamlarında toplam sayfa sayısı. Değiştirilmiş sayfa sayısı, son tam yedeklemeden bu yana veritabanındaki diferansiyel değişikliklerin sayısını takip etmek ve diferansiyel yedeklemeye ihtiyaç olup olmadığına karar vermek için kullanılabilir. |
pdw_node_id |
int |
için geçerlidir: Azure Synapse Analytics, Analiz Platformu Sistemi (PDW) Bu dağıtımın üzerinde olduğu düğümün tanımlayıcısı. |
distribution_id |
int |
için geçerlidir: Azure Synapse Analytics, Analiz Platformu Sistemi (PDW) Dağılımla ilişkili benzersiz sayısal ID. |
Açıklamalar
Sayfa sayısı her zaman kapsam düzeyindedir. Bu nedenle, sayfa sayısı değerleri her zaman sekizin katıdır. Küresel Tahsis Haritası (GAM) ve Paylaşılan Küresel Tahsis Haritası (SGAM) tahsis sayfalarını içeren kapsamlar tek tip kapsamlardır. Daha önce açıklanan sayfa sayılarına dahil edilmezler. Sayfalar ve kapsamlar hakkında daha fazla bilgi için bkz. Sayfalar ve Kapsamlar Mimarisi Kılavuzu.
Mevcut sürüm mağazasının içeriği sys.dm_tran_version_store. Sürüm deposu sayfaları, oturum ve görev düzeyi yerine dosya seviyesinde takip edilir, çünkü bunlar küresel kaynaklardır. Bir oturum sürümler oluşturabilir, ancak oturum bittiğinde sürümler kaldırılamaz. Sürüm deposu temizliği, belirli sürüme erişim gerektiren en uzun süredir devam eden işlemi dikkate almalıdır. Sürüm deposu temizliğiyle ilgili en uzun süreli işlem, sys.dm_tran_active_snapshot_database_transactions'daki elapsed_time_seconds sütununa bakıldığında bulunabilir.
Sütundaki mixed_extent_page_count sık değişiklikler, SGAM sayfalarının yoğun kullanıldığını gösterebilir. Bu gerçekleştiğinde, bekleme kaynağının bir SGAM sayfası olduğu birçok PAGELATCH_UP bekleme görebilirsiniz. Daha fazla bilgi için sys.dm_os_waiting_tasks (Transact-SQL),sys.dm_os_wait_stats (Transact-SQL) ve sys.dm_os_latch_stats (Transact-SQL) bölümlerine bakınız.
Kullanıcı nesneleri
Kullanıcı nesne sayfa sayaclarında aşağıdaki nesneler yer alır:
- Kullanıcı tanımlı tablolar ve indeksler
- Sistem tabloları ve indeksleri
- Küresel geçici tablolar ve indeksler
- Yerel geçici tablolar ve indeksler
- Tablo değişkenleri
- Tablo değerli fonksiyonlarda döndürülen tablolar
İç nesneler
İç nesneler yalnızca 'de bulunur tempdb. Aşağıdaki nesneler dahili nesne sayfa sayaclarına dahil edilmiştir:
- İmleç veya makara işlemleri ve geçici büyük nesne (LOB) depolama için çalışma tabloları
- Hash birleştirme gibi işlemler için çalışma dosyaları
- Çalıştırmaları sırala
İlişki kardinaliteleri
| Kaynak | İçin | İlişki |
|---|---|---|
sys.dm_db_file_space_usage.database_id, file_id |
sys.dm_io_virtual_file_stats.database_id, file_id |
One-to-one |
Permissions
SQL Server 2019 (15.x) ve önceki sürümlerde ve SQL Managed Instance'da izin gereklidir VIEW SERVER STATE .
SQL Server 2022 (16.x) ve sonraki sürümlerde, sunucuda VIEW SERVER PERFORMANCE STATE izni gerektirir.
SQL Veritabanı Temel,S0 ve S1 hizmet hedeflerinive elastik havuzlardaki veritabanları için, sunucu yöneticisi hesabı, Microsoft Entra yönetici hesabı veya ##MS_ServerStateReader##sunucu rolü üyeliği gereklidir. Diğer tüm SQL Veritabanı hizmet hedeflerinde, veritabanında VIEW DATABASE STATE izni veya ##MS_ServerStateReader## sunucu rolü üyeliği gereklidir.
Örnekler
İçindeki boş alan miktarını belirleyin tempdb
Aşağıdaki sorgu, tüm veri dosyalarında mevcut tempdbolan toplam boş sayfa sayısını ve megabayt cinsinden toplam boş alanı (MB) döndürür.
USE tempdb;
GO
SELECT
SUM(unallocated_extent_page_count) AS [free pages],
(SUM(unallocated_extent_page_count) * 1.0 / 128) AS [free space in MB]
FROM sys.dm_db_file_space_usage;
Kullanıcı nesnelerinin kullandığı alan miktarını belirleyin
Aşağıdaki sorgu, kullanıcı nesneleri tarafından kullanılan toplam sayfa sayısını ve kullanıcı nesneleri tarafından kullanılan toplam alanı döndürür tempdb.
USE tempdb;
GO
SELECT
SUM(user_object_reserved_page_count) AS [user object pages used],
(SUM(user_object_reserved_page_count) * 1.0 / 128) AS [user object space in MB]
FROM sys.dm_db_file_space_usage;