Megosztás a következőn keresztül:


sys.dm_db_index_usage_stats (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

A különböző típusú indexműveletek visszajelzéseit és az egyes műveletek utolsó végrehajtásának időpontját mutatja be.

Az Azure SQL Database-ben a dinamikus felügyeleti nézetek nem tehetnek közzé olyan információkat, amelyek hatással lennének az adatbázis-elszigetelésre, vagy nem tehetnek közzé információkat más olyan adatbázisokról, amelyekhez a felhasználó hozzáfér. Az információk felfedésének elkerülése érdekében a rendszer kiszűr minden olyan sort, amely nem a csatlakoztatott bérlőhöz tartozó adatokat tartalmaz.

Megjegyzés:

A DMV sys.dm_db_index_usage_stats nem küld vissza információkat memóriaoptimalizált indexekről vagy térbeli indexekről. A memóriaoptimalizált indexhasználatról további információkért lásd sys.dm_db_xtp_index_stats (Transact-SQL).

Megjegyzés:

Az Azure Synapse Analytics vagy Analytics Platform System (PDW) nézetének megnevezéséhez használd sys.dm_pdw_nodes_db_index_usage_stats. 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 Az adatbázis azonosítója, amelyen a tábla vagy nézet van definiálva.

Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül.
object_id int Az index definiáló táblázat vagy nézet azonosítója
index_id int Az index azonosítója.
user_seeks bigint A felhasználói lekérdezések kereséseinek száma.
user_scans bigint A felhasználói lekérdezések száma, amelyek nem használták a 'seek 'predikátumot'.
user_lookups bigint A felhasználói lekérdezések könyvjelző lekérdezéseinek száma.
user_updates bigint Felhasználói lekérdezések frissítéseinek száma. Ez magában foglalja a Insert, Delete és Updates műveletek számát, nem pedig a tényleges érintett sorokat. Például, ha egy állításból 1000 sort törölsz, ez 1-csel nő
last_user_seek datetime Az utolsó felhasználói keresés ideje
last_user_scan datetime Az utolsó felhasználói szkennelésidő.
last_user_lookup datetime Az utolsó felhasználói keresés ideje.
last_user_update datetime Az utolsó felhasználói frissítés ideje.
system_seeks bigint A keresések száma rendszerlekérdezések szerint.
system_scans bigint A rendszerlekérdezések száma.
system_lookups bigint Rendszerlekérdezések száma.
system_updates bigint Frissítések száma rendszerlekérdezések szerint.
last_system_seek datetime Az utolsó rendszerkeresés ideje.
last_system_scan datetime Az utolsó rendszervizsgálat ideje.
last_system_lookup datetime Az utolsó rendszerkeresés ideje.
last_system_update datetime Az utolsó rendszerfrissítés ideje.
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ó.

Megjegyzések

Minden egyes keresés, szkennelés, keresés vagy frissítés a megadott indexen egyetlen lekérdezés végrehajtásával annak az indexnek való felhasználásának számít, és növeli a megfelelő számlálót ebben a nézetben. Az információkat mind a felhasználók által benyújtott lekérdezések által okozott műveletekre, mind a belső lekérdezések által generált műveletekre vonatkoznak, például statisztikák gyűjtésére irányuló szkennelésekre.

Az user_updates oszlop az index karbantartási számlálója, amelyet a tagasztal vagy nézet behelyezése, frissítése vagy törlése okoz. Ezt a nézetet arra használhatod, hogy meghatározd, mely indexeket használják csak enyhén az alkalmazásaid. A nézetet arra is használhatod, hogy meghatározd, mely indexek járnak karbantartási költséggel. Érdemes lehet elhagyni azokat az indexeket, amelyek karbantartási költségeket okoznak, de nem használják lekérdezésekhez, vagy csak ritkán használják lekérdezésekhez.

A számlálókat inicializálják, hogy üressenek, amikor az adatbázis motorját elindítják. A sqlserver_start_time oszlopával keresse meg az adatbázismotor utolsó indítási idejét. Ezen felül, amikor egy adatbázist leválasztanak vagy leállítanak (például mivel AUTO_CLOSE ON-ra van állítva), az adatbázishoz tartozó összes sor eltávolításra kerül.

Amikor indexet használnak, akkor hozzáadnak egy sort, sys.dm_db_index_usage_stats ha az indexhez még nincs sor a sor. Amikor a sort hozzáadjuk, a számlálói kezdetben nullára vannak állítva.

Az SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) vagy SQL Server 2014 (12.x) frissítése során a bejegyzések sys.dm_db_index_usage_stats eltávolításra kerülnek. Az SQL Server 2016-tól (13.x) kezdve a bejegyzések úgy maradnak, ahogy az SQL Server 2008 R2 (10.50.x) előtt voltak.

Permissions

Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.

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.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Lásd még

Indexelt dinamikus felügyeleti nézetek és függvények (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
Monitorozás és teljesítmény optimalizálás