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.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A megadott adatbázis-objektum (táblázat vagy indexelt nézet) statisztikai tulajdonságait adja vissza a jelenlegi SQL Server adatbázisban. A partíciós táblák esetében lásd a hasonló sys.dm_db_incremental_stats_properties.
Szemantika
sys.dm_db_stats_properties (object_id, stats_id)
Arguments
object_id
Az az objektum azonosítója az aktuális adatbázisban, amelyhez az egyik statisztikájának tulajdonságait kérik.
object_idint.
stats_id
A megadott object_id statisztikák azonosítója. A statisztikai azonosító a sys.stats dinamikus felügyeleti nézetből kérhető le.
stats_idint.
Visszaadott tábla
| Oszlop név | Adattípus | Description |
|---|---|---|
| object_id | int | Annak az objektumnak (tábla vagy indexelt nézet) az azonosítója, amelyhez a statisztikai objektum tulajdonságait szeretné visszaadni. |
| stats_id | int | A statisztikai objektum azonosítója. A tábla vagy az indexelt nézet egyedi. További információ: sys.stats (Transact-SQL). |
| last_updated | datetime2 | A statisztikai objektum utolsó frissítésének dátuma és időpontja. További információt a lap Megjegyzések szakaszában talál. |
| rows | bigint | A táblázatban vagy az indexelt nézetben szereplő sorok teljes száma, amikor a statisztikákat utoljára frissítették. Ha a statisztikák szűrve vannak, vagy egy szűrt indexnek felelnek meg, a sorok száma kisebb lehet, mint a tábla sorainak száma. |
| rows_sampled | bigint | Statisztikai számításokhoz mintavételezett sorok teljes száma. |
| steps | int | A hisztogram lépéseinek száma. További információ: DBCC SHOW_STATISTICS (Transact-SQL). |
| unfiltered_rows | bigint | A táblázatban lévő sorok összessége a szűrőkifejezés alkalmazása előtt (szűrt statisztikák esetén). Ha a statisztikákat nem szűrik, unfiltered_rows megegyezik a soroszlopban lévő értékvisszaadással. |
| modification_counter | bigint | A vezető statisztikai oszlop (az oszlop, amelyen a hisztográfia épül) összes módosítása az utolsó statisztika frissítése óta. Memóriára optimalizált táblák: az SQL Server 2016-tól (13.x) kezdve, és Azure SQL Database-ben ez az oszlop tartalmazza: a táblázat összes módosításának számát azóta, hogy legutóbb a statisztikák frissültek vagy újraindították az adatbázist. |
| persisted_sample_percent | float | Tartós mintaszázalék, amelyet statisztikai frissítésekhez használnak, és amelyek nem határozzák meg kifejezetten mintavételi százalékot. Ha az érték nulla, akkor nincs megőrzött minta százalékos értéke ehhez a statisztikai adathoz. Vonatkozik a következőkre: SQL Server 2016 (13.x) SP1 CU4 |
Megjegyzések
sys.dm_db_stats_properties üres sorhalmazt ad vissza az alábbi feltételek bármelyike esetén:
- object_id vagy stats_id NULL.
- A megadott objektum nem található meg, vagy nem felel meg egy táblának vagy indexelt nézetnek.
- A megadott statisztikai azonosító nem felel meg a megadott objektumazonosító meglévő statisztikáinak.
- A jelenlegi felhasználónak nincs engedélye a statisztikai objektum megtekintésére.
Ez a viselkedés lehetővé teszi a sys.dm_db_stats_properties biztonságos használatát, amikor sorokra keresztezve alkalmazzák olyan nézetekben, mint a sys.objects és a sys.stats.
A statisztikai frissítés dátuma a statisztikai blobobjektumban a hisztogram és sűrűségvektorvan tárolva, nem a metaadatokban. Ha nem olvasnak adatokat statisztikai adatok generálásához, a statisztikai folb nem jön létre, a dátum nem elérhető, és a last_updated oszlop NULL. Ez igaz szűrt statisztikákra, amelyeknél a predikátum nem ad sorokat, vagy új üres táblákra.
Permissions
Megköveteli, hogy a felhasználónak legyen kiválasztási joga statisztikai oszlopokhoz, vagy a felhasználó a tábla tulajdonosa, vagy a felhasználó tagja legyen a sysadmin fix szerver, fix db_owner adatbázis vagy fix db_ddladmin adatbázis szerepnek.
Példák
A. Egyszerű példa
A következő példa adja vissza a AdventureWorks adatbázis táblázatának Person.Person statisztikáit.
SELECT * FROM sys.dm_db_stats_properties (object_id('Person.Person'), 1);
B. Minden statisztikai tulajdonság visszaküldése egy táblázathoz
Az alábbi példa adja vissza minden statisztika tulajdonságait, amelyek a TEST táblához léteznek.
SELECT sp.stats_id, name, filter_definition, last_updated, rows, rows_sampled, steps, unfiltered_rows, modification_counter
FROM sys.stats AS stat
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE stat.object_id = object_id('TEST');
C. Statisztikai tulajdonságok visszaadása gyakran módosított objektumokhoz
A következő példa visszaadja az összes táblázatot, indexelt nézetet és statisztikát a jelenlegi adatbázisban, ahol a vezető oszlopot több mint 1000-szer módosították az utolsó statisztikai frissítés óta.
SELECT obj.name, obj.object_id, stat.name, stat.stats_id, last_updated, modification_counter
FROM sys.objects AS obj
INNER JOIN sys.stats AS stat ON stat.object_id = obj.object_id
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE modification_counter > 1000;
Lásd még:
DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL)
Objektumokkal kapcsolatos dinamikus felügyeleti nézetek és függvények (Transact-SQL)
dinamikus felügyeleti nézetek és függvények (Transact-SQL)
sys.dm_db_incremental_stats_properties (Transact-SQL)
sys.dm_db_stats_histogram (Transact-SQL)