Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Minden adatfájlhoz térhasználati adatokat ad vissza az adatbázisban.
Megjegyzés:
Ha ezt az Azure Synapse Analytics vagy az Analytics Platform System (PDW) szolgáltatásból szeretné meghívni, használja a nevet sys.dm_pdw_nodes_db_file_space_usage. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
| Oszlop név | Adattípus | Description |
|---|---|---|
database_id |
smallint | Adatbázis-azonosító. Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül. |
file_id |
smallint | Fájlazonosító.file_id A file_idsys.dm_io_virtual_file_stats-ben és a sys.sysfiles fájlazonosítója. |
filegroup_id |
smallint |
A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. Fájlcsoport azonosító. |
total_page_count |
bigint |
A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. Az adatfájl összes oldala. |
allocated_extent_page_count |
bigint |
A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. Az adatfájlban kijelölt kiterjedések összes oldala. |
unallocated_extent_page_count |
bigint | Az adatfájl nem kiosztott kiterjedésein lévő oldalak teljes száma. A kiosztott kiterjedésben nem használt oldalak nincsenek belefoglalva. |
version_store_reserved_page_count |
bigint | Az egységes kiterjedésű oldalak teljes száma, amelyet a verzióraktárhoz különítettek. A verzióbolt oldalakat soha nem osztják ki vegyes mértékben. Az IAM oldalak nincsenek benne, mert mindig vegyes mértékben vannak kijelölve. A PFS oldalakat is belevonják, ha egységes mértékben vannak kiosztva. További információért lásd sys.dm_tran_version_store (Transact-SQL). |
user_object_reserved_page_count |
bigint | Az adatbázisban egységes kiterjedésű oldalak teljes száma. A kiosztott területről származó használatlan oldalak is beleszámítanak a számlálásba. Az IAM oldalak nincsenek benne, mert mindig vegyes mértékben vannak kijelölve. A PFS oldalakat is belevonják, ha egységes mértékben vannak kiosztva. A sys.allocation_units katalógus nézetében található total_pages oszlopot használhatod, hogy visszaadd a felhasználói objektum minden allokációs egységének fenntartott oldalszámát. Azonban az total_pages oszlopban IAM oldalak is találhatók. |
internal_object_reserved_page_count |
bigint | A fájl belső objektumainak egységes kiterjedésű oldalainak teljes száma. A kiosztott területről származó használatlan oldalak is beleszámítanak a számlálásba. Az IAM oldalak nincsenek benne, mert mindig vegyes mértékben vannak kijelölve. A PFS oldalakat is belevonják, ha egységes mértékben vannak kiosztva. Nincs katalógusnézet vagy dinamikus menedzsment objektum, amely minden belső objektum oldalszámát adja vissza. |
mixed_extent_page_count |
bigint | A fájlban vegyes kiterjedésű és kiosztatlan oldalak teljes száma. A vegyes kiterjedések különböző objektumokhoz rendelt oldalakat tartalmaznak. Ez a szám tartalmazza az összes IAM oldalt a fájlban. |
modified_extent_page_count |
bigint |
A következőkre vonatkozik: SQL Server 2016 (13.x) SP2 és újabb verziók. Az utolsó teljes adatbázis-mentés óta módosított oldalak száma a fájl kijelölt kiterjedésében. A módosított oldalszám segítségével nyomon követhetjük az adatbázisban történt differenciális változások számát az utolsó teljes mentés óta, hogy eldöntsük, szükséges-e differenciális mentés. |
pdw_node_id |
int |
A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW) Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található. |
distribution_id |
int |
A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW) Az eloszláshoz tartozó egyedi numerikus azonosító. |
Megjegyzések
Az oldalszám mindig a terjedelem szintjén van. Ezért az oldalszám értékei mindig nyolc szorzatúak. Azok a kiterjedések, amelyek tartalmazzák a Global Allocation Map (GAM) és a Shared Global Allocation Map (SGAM) oldalát, egységes kiterjedésekkel rendelkeznek. Ezek nincsenek benne a korábban leírt oldalszámban. A lapokról és a mértékekről további információt a Pages and Extents Architektúra útmutatójában talál.
A jelenlegi verzió áruház tartalma sys.dm_tran_version_store-ben van. A verziótároló oldalakat a fájl szintjén követik, nem az ülés- és feladatszinten, mert globális erőforrások. Egy session generálhat verziókat, de a verziókat nem lehet eltávolítani a session végén. A verzió tároló tisztításának figyelembe kell vennie a leghosszabb ideig futó tranzakciót, amelyhez hozzáférésre van szükség. A verziótároló tisztításához kapcsolódó leghosszabb ideig futó tranzakció a sys.dm_tran_active_snapshot_database_transactions elapsed_time_seconds oszlop megtekintésével fedezhető fel.
Az oszlop gyakori változásai mixed_extent_page_count arra utalhatnak, hogy az SGAM oldalak nagy használata van. Amikor ez megtörténik, sok PAGELATCH_UP várakozási időszakot láthatsz, amikor a várakozási erőforrás egy SGAM oldal. További információért lásd sys.dm_os_waiting_tasks (Transact-SQL),sys.dm_os_wait_stats (Transact-SQL) és sys.dm_os_latch_stats (Transact-SQL) címeket.
Felhasználói objektumok
A következő objektumok találhatók a felhasználói objektum oldalszámlálóiban:
- Felhasználó által definiált táblák és indexek
- Rendszertáblák és indexek
- Globális ideiglenes táblázatok és indexek
- Helyi ideiglenes táblázatok és indexek
- Táblaváltozók
- Táblázatok, amelyek táblázatértékű függvényekben térnek vissza
Belső objektumok
A belső objektumok csak a -ben tempdbvannak. A következő objektumok találhatók a belső objektumoldalszámlálókban:
- Munkatáblák kurzor- vagy tekercsműveletekhez, valamint ideiglenes nagy objektum (LOB) tárolásához
- Munkafájlok olyan műveletekhez, mint például hash csatlakozás
- Futtatások rendezése
Kapcsolati számosságok
| Ettől kezdve | Há | Kapcsolat |
|---|---|---|
sys.dm_db_file_space_usage.database_id, file_id |
sys.dm_io_virtual_file_stats.database_id, file_id |
One-to-one |
Permissions
Az SQL Server 2019 (15.x) és korábbi verziók, valamint az SQL Managed Instance esetében engedélyt igényel VIEW SERVER STATE .
SQL Server 2022 (16.x) és újabb verziókban a szerveren VIEW SERVER PERFORMANCE STATE engedélyt kell megadni.
Az SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.
Példák
Határozd meg a szabad hely mennyiségét tempdb
A következő lekérdezés adja vissza a szabad oldalak teljes számát és a teljes szabad helyet megabájtokban (MB) minden adatfájlban (MB) az összes adatfájlban .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;
Határozd meg, mennyi helyet használ a felhasználói objektumok
A következő lekérdezés adja vissza a felhasználói objektumok által használt oldalak teljes számát és a felhasználói objektumok által használt teljes teret a .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;