Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrací informace o využití místa pro každý datový soubor v databázi.
Poznámka:
K volání z Azure Synapse Analytics nebo systému PDW (Analytics Platform System) použijte název sys.dm_pdw_nodes_db_file_space_usage. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
| Název sloupce | Datový typ | Description |
|---|---|---|
database_id |
smallint | ID databáze. Ve službě Azure SQL Database jsou hodnoty jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru. |
file_id |
smallint | ID souboru.file_id mapuje na file_idin sys.dm_io_virtual_file_stats a na fileID v sys.sysfiles. |
filegroup_id |
smallint |
platí pro: SQL Server 2012 (11.x) a novější verze. ID souborové skupiny. |
total_page_count |
bigint |
platí pro: SQL Server 2012 (11.x) a novější verze. Celkový počet stránek v datovém souboru. |
allocated_extent_page_count |
bigint |
platí pro: SQL Server 2012 (11.x) a novější verze. Celkový počet stran v přidělených rozsahech datového souboru. |
unallocated_extent_page_count |
bigint | Celkový počet stran v nealokovaných rozsahech datového souboru. Nepoužité stránky v přidělených rozsahech nejsou zahrnuty. |
version_store_reserved_page_count |
bigint | Celkový počet stránek v jednotných rozsahech přidělených pro úložiště verzí. Stránky úložiště verzí se nikdy nepřidělují z různých rozsahů. IAM stránky nejsou zahrnuty, protože jsou vždy alokovány z různých rozsahů. PFS stránky jsou zahrnuty, pokud jsou alokovány z jednotného rozsahu. Pro více informací viz sys.dm_tran_version_store (Transact-SQL). |
user_object_reserved_page_count |
bigint | Celkový počet stránek přidělených z uniformních rozsahů pro uživatelské objekty v databázi. Nevyužité stránky z přiděleného rozsahu jsou zahrnuty do sčítání. IAM stránky nejsou zahrnuty, protože jsou vždy alokovány z různých rozsahů. PFS stránky jsou zahrnuty, pokud jsou alokovány z jednotného rozsahu. Sloupec total_pages v sys.allocation_units katalogovém zobrazení můžete použít k vrácení rezervovaného počtu stran každé alokační jednotky v uživatelském objektu. Sloupek total_pages však obsahuje stránky IAM. |
internal_object_reserved_page_count |
bigint | Celkový počet stran v jednotných rozsahech přidělených pro interní objekty v souboru. Nevyužité stránky z přiděleného rozsahu jsou zahrnuty do sčítání. IAM stránky nejsou zahrnuty, protože jsou vždy alokovány z různých rozsahů. PFS stránky jsou zahrnuty, pokud jsou alokovány z jednotného rozsahu. Neexistuje žádný katalogový pohled ani dynamický správcovský objekt, který by vracel počet stran každého interního objektu. |
mixed_extent_page_count |
bigint | Celkový počet přidělených a nealokovaných stran v přidělených smíšených rozsahech v souboru. Smíšené rozsahy obsahují stránky přiřazené různým objektům. Tento počet zahrnuje všechny stránky IAM ve spisu. |
modified_extent_page_count |
bigint |
Platí pro: SQL Server 2016 (13.x) SP2 a novější verze. Celkový počet stránek upravených v přidělených rozsahech souboru od poslední kompletní databázové zálohy. Počet upravených stránek lze použít ke sledování počtu rozdílných změn v databázi od poslední úplné zálohy, aby se rozhodlo, zda je potřeba diferenciální záloha. |
pdw_node_id |
int |
platí pro: Azure Synapse Analytics, Analytics Platform System (PDW) Identifikátor uzlu, na který je tato distribuce zapnutá. |
distribution_id |
int |
platí pro: Azure Synapse Analytics, Analytics Platform System (PDW) Jedinečné číselné ID spojené s distribucí. |
Poznámky
Počet stran je vždy na úrovni rozsahu. Proto jsou hodnoty počtu stran vždy násobkem osmi. Rozsahy, které obsahují stránky s Globální mapou alokace (GAM) a sdílenou globální mapou alokace (SGAM), jsou přiděleny jednotným rozsahům. Nejsou zahrnuty v dříve popsaném počtu stran. Další informace o stránkách a rozsahech naleznete v Průvodci architekturou stránek a rozsahů.
Obsah aktuálního úložiště verzí je v sys.dm_tran_version_store. Stránky úložiště verzí se sledují na úrovni souboru, nikoli na úrovni relace a úkolu, protože jsou globálními zdroji. Relace může generovat verze, ale ty nelze odstranit po jejím skončení. Čištění úložiště verzí musí zohlednit nejdéle běžící transakci, která potřebuje přístup k dané verzi. Nejdéle trvající transakce související s úklidem úložiště verzí lze zjistit zobrazením sloupce elapsed_time_seconds v sys.dm_tran_active_snapshot_database_transactions.
Časté změny ve sloupci mixed_extent_page_count mohou naznačovat časté používání SGAM stránek. Když k tomu dojde, můžete vidět mnoho PAGELATCH_UP čekání, kde je zdrojem čekání stránka SGAM. Pro více informací viz sys.dm_os_waiting_tasks (Transact-SQL),sys.dm_os_wait_stats (Transact-SQL) a sys.dm_os_latch_stats (Transact-SQL).
Uživatelské objekty
Následující objekty jsou zahrnuty v čítačích uživatelských objektových stránek:
- Uživatelsky definované tabulky a indexy
- Tabulky a indexy systémů
- Globální dočasné tabulky a indexy
- Lokální dočasné tabulky a indexy
- Proměnné tabulek
- Tabulky vracené v tabulkových funkcích
Interní objekty
Vnitřní objekty jsou pouze v tempdb. Následující objekty jsou zahrnuty v čítačích interních objektových stránek:
- Pracovní tabulky pro operace s kurzorem nebo spoolem a dočasné ukládání velkých objektů (LOB)
- Pracovní soubory pro operace, jako je hash join
- Řazení spuštění
Kardinality relací
| Od | To | Vztah |
|---|---|---|
sys.dm_db_file_space_usage.database_id, file_id |
sys.dm_io_virtual_file_stats.database_id, file_id |
One-to-one |
Povolení
Na SQL Server 2019 (15.x) a starších verzích a SQL Managed Instance VIEW SERVER STATE vyžaduje oprávnění.
Na SQL Server 2022 (16.x) a novějších verzích vyžaduje na serveru povolení ZOBRAZIT STAV VÝKONU SERVERU.
U cílů služby SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.
Examples
Určeme množství volného prostoru v tempdb
Následující dotaz vrací celkový počet volných stránek a celkový volný prostor v megabajtech (MB) dostupných ve všech datových souborech v tempdb.
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;
Určte množství prostoru využívaného uživatelskými objekty
Následující dotaz vrací celkový počet stránek používaných uživatelskými objekty a celkový prostor využitý uživatelskými objekty v 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;