Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
Geeft ruimtegebruikinformatie terug voor elk databestand in de database.
Opmerking
Gebruik de naam sys.dm_pdw_nodes_db_file_space_usageom dit aan te roepen vanuit Azure Synapse Analytics of Analytics Platform System (PDW). Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
database_id |
smallint | Database-id. In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server. |
file_id |
smallint | Bestands-id.file_id Mapt naar file_id in sys.dm_io_virtual_file_stats en naar fileid in sys.sysfiles. |
filegroup_id |
smallint |
Van toepassing op: SQL Server 2012 (11.x) en latere versies. Bestandsgroep-ID. |
total_page_count |
bigint |
Van toepassing op: SQL Server 2012 (11.x) en latere versies. Totaal aantal pagina's in het databestand. |
allocated_extent_page_count |
bigint |
Van toepassing op: SQL Server 2012 (11.x) en latere versies. Totaal aantal pagina's in de toegewezen extents in het databestand. |
unallocated_extent_page_count |
bigint | Totaal aantal pagina's in de niet-toegewezen extents in het databestand. Ongebruikte pagina's in toegewezen extents zijn niet inbegrepen. |
version_store_reserved_page_count |
bigint | Totaal aantal pagina's in de uniforme extensies die zijn toegewezen voor de versieopslag. Versieopslagpagina's worden nooit toegewezen vanuit gemengde extents. IAM-pagina's zijn niet inbegrepen, omdat ze altijd vanuit gemengde omvang worden toegewezen. PFS-pagina's zijn inbegrepen als ze uit een uniforme omvang worden toegewezen. Voor meer informatie, zie sys.dm_tran_version_store (Transact-SQL). |
user_object_reserved_page_count |
bigint | Totaal aantal pagina's toegewezen vanuit uniforme extents voor gebruikersobjecten in de database. Ongebruikte pagina's uit een toegewezen omvang worden meegenomen in de telling. IAM-pagina's zijn niet inbegrepen, omdat ze altijd vanuit gemengde omvang worden toegewezen. PFS-pagina's zijn inbegrepen als ze uit een uniforme omvang worden toegewezen. Je kunt de total_pages kolom in de catalogusweergave van sys.allocation_units gebruiken om het aantal gereserveerde pagina's van elke allocatie-eenheid in het gebruikersobject terug te geven. De column bevat echter total_pages IAM-pagina's. |
internal_object_reserved_page_count |
bigint | Totaal aantal pagina's in uniforme extents toegewezen aan interne objecten in het bestand. Ongebruikte pagina's uit een toegewezen omvang worden meegenomen in de telling. IAM-pagina's zijn niet inbegrepen, omdat ze altijd vanuit gemengde omvang worden toegewezen. PFS-pagina's zijn inbegrepen als ze uit een uniforme omvang worden toegewezen. Er is geen catalogusweergave of dynamisch beheerobject dat het paginaaantal van elk intern object teruggeeft. |
mixed_extent_page_count |
bigint | Totaal aantal toegewezen en niet-toegewezen pagina's in toegewezen gemengde omvang in het bestand. Gemengde extents bevatten pagina's die aan verschillende objecten zijn toegewezen. Deze telling bevat alle IAM-pagina's in het bestand. |
modified_extent_page_count |
bigint |
Van toepassing op: SQL Server 2016 (13.x) SP2 en latere versies. Totaal aantal pagina's aangepast in toegewezen extents van het bestand sinds de laatste volledige databaseback-up. Het aangepaste paginatelling kan worden gebruikt om het aantal differentiële wijzigingen in de database sinds de laatste volledige back-up bij te houden, om te bepalen of een differentiële back-up nodig is. |
pdw_node_id |
int |
Van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW) De id voor het knooppunt waarop deze distributie zich bevindt. |
distribution_id |
int |
Van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW) De unieke numerieke ID die bij de distributie hoort. |
Opmerkingen
Het aantal pagina's is altijd op het niveau van de omvang. Daarom zijn paginatellingen altijd een veelvoud van acht. De extents die Global Allocation Map (GAM) en Shared Global Allocation Map (SGAM) allocatiepagina's bevatten, worden uniforme extents toegewezen. Ze zijn niet opgenomen in de eerder beschreven paginatellingen. Voor meer informatie over pagina's en gebieden, zie de architectuurgids voor pagina's en gebieden.
De inhoud van de huidige versie van de winkel is in sys.dm_tran_version_store. Versieopslagpagina's worden op bestandsniveau bijgehouden in plaats van op sessie- en taakniveau, omdat het globale bronnen zijn. Een sessie kan versies genereren, maar de versies kunnen niet worden verwijderd wanneer de sessie eindigt. Het opruimen van de versiewinkel moet rekening houden met de langstlopende transactie die toegang tot de specifieke versie vereist. De langstlopende transactie met betrekking tot versieopslag kan worden ontdekt door de kolom elapsed_time_seconds in sys.dm_tran_active_snapshot_database_transactions te bekijken.
Frequente wijzigingen in de mixed_extent_page_count kolom kunnen wijzen op intensief gebruik van SGAM-pagina's. Wanneer dit gebeurt, zie je vaak PAGELATCH_UP wachttijden waarbij de wachtbron een SGAM-pagina is. Voor meer informatie, zie sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL) ) en sys.dm_os_latch_stats (Transact-SQL).
Gebruikersobjecten
De volgende objecten zijn opgenomen in de paginatellers van de gebruikersobjecten:
- Door de gebruiker gedefinieerde tabellen en indexen
- Systeemtabellen en indexen
- Globale tijdelijke tabellen en indexen
- Lokale tijdelijke tabellen en indexen
- Tabelvariabelen
- Tabellen die worden teruggegeven in de tabelwaardige functies
Interne objecten
Interne objecten zijn alleen in tempdb. De volgende objecten zijn opgenomen in de interne objectpaginatellers van de pagina:
- Werktabellen voor cursor- of spooloperaties en tijdelijke opslag van grote objecten (LOB)
- Werkbestanden voor bewerkingen zoals een hash join
- Sorteringsuitvoeringen
Relatiekardinaliteiten
| Van | Tot | Relatie |
|---|---|---|
sys.dm_db_file_space_usage.database_id, file_id |
sys.dm_io_virtual_file_stats.database_id, file_id |
One-to-one |
Permissions
Op SQL Server 2019 (15.x) en eerdere versies, en SQL Managed Instance, is toestemming vereist VIEW SERVER STATE .
Op SQL Server 2022 (16.x) en latere versies is een VIEW SERVER PERFORMANCE STATE toestemming vereist op de server.
Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.
Voorbeelden
Bepaal de hoeveelheid vrije ruimte in tempdb
De volgende query geeft het totale aantal vrije pagina's en totale vrije ruimte in megabytes (MB) terug die beschikbaar is in alle databestanden in 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;
Bepaal de hoeveelheid ruimte die door gebruikersobjecten wordt gebruikt
De volgende query geeft het totale aantal pagina's dat door gebruikersobjecten wordt gebruikt en de totale ruimte die door gebruikersobjecten in tempdbwordt gebruikt, terug.
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;