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


Rendszerdinamikai felügyeleti nézetek

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

A dinamikus menedzsment nézetek (DMV-k) és a dinamikus menedzsment funkciók (DMF-ek) szerverállapot-információkat adnak vissza, amelyek segítségével figyelhetők egy szerverpéldány állapotának monitorozására, problémák diagnosztizálására és teljesítményének beállítására.

Fontos

A dinamikus menedzsment nézetek és függvények internali, megvalósítás-specifikus állapotadatokat adnak vissza. A sémák és az általuk visszaadott adatok megváltozhatnak az SQL Server későbbi kiadásaiban. Ezért előfordulhat, hogy a jövőbeli kiadások dinamikus felügyeleti nézetei és funkciói nem kompatibilisek a jelen kiadás dinamikus felügyeleti nézeteivel és funkcióival. Az SQL Server későbbi kiadásaiban például a Microsoft kibővítheti a dinamikus felügyeleti nézet definícióját úgy, hogy oszlopokat ad hozzá az oszloplista végéhez. Javasoljuk, hogy ne használja a szintaxist SELECT * FROM dynamic_management_view_name az éles kódban, mert a visszaadott oszlopok száma változhat, és megszakíthatja az alkalmazást.

Kétféle dinamikus menedzsment nézet és funkció létezik:

  • Szerver-hatótávolságú dinamikus menedzsment nézetek és funkciók. Ezek megkövetelik a VIEW SERVER STATE engedélyt a szerveren. SQL Server 2022 és újabb esetekben VIEW SERVER PERFORMANCE STATE szükséges, vagy néhány biztonsággal kapcsolatos DMV esetén VIEW SERVER SECURITY STATE szükséges.

  • Adatbázis-hatókörű, dinamikus menedzsment nézetek és függvények. Ezek megkövetelik az VIEW DATABASE STATE engedélyt az adatbázison. SQL Server 2022 és újabb esetekben VIEW DATABASE PERFORMANCE STATE szükséges, vagy VIEW DATABASE SECURITY STATE szükséges néhány biztonsággal kapcsolatos DMV esetén.

Lekérdezési dinamikus menedzsment nézetek

A dinamikus menedzsment nézetek Transact-SQL utasításokban hivatkozhatók két, három- vagy négyrészes nevek használatával. A dinamikus menedzsment funkciók viszont hivatkozhatók Transact-SQL állításokban két- vagy háromrészes nevek használatával. A dinamikus menedzsment nézeteket és függvényeket nem lehet Transact-SQL utasításokban egyrészes nevek használatával megidézni.

Minden dinamikus menedzsment nézet és függvény megtalálható a rendszersémában, és ezt a névsorrendet követi dm_*. Amikor dinamikus menedzsment nézetet vagy függvényt használsz, a rendszeri séma segítségével előbe kell terjesztened a nézet vagy függvény nevét. Például a dm_os_wait_stats dinamikus menedzsment nézet lekérdezéséhez futtassuk a következő lekérdezést:

SELECT wait_type,
       wait_time_ms
FROM sys.dm_os_wait_stats;

Szükséges engedélyek

Dinamikus felügyeleti nézet vagy függvény lekérdezéséhez objektumra és SELECTVIEW SERVER STATE engedélyre van szükségVIEW DATABASE STATE. Ez lehetővé teszi, hogy szelektíven korlátozd a felhasználó vagy bejelentkezés hozzáférését dinamikus menedzsment nézetekre és funkciókra. Ehhez először hozza létre a felhasználót master , majd tiltsa le a felhasználói SELECT engedélyt azon dinamikus felügyeleti nézeteken vagy függvényeken, amelyekhez nem szeretné, hogy hozzáférjenek. Ezután a felhasználó nem választhat ezekből a dinamikus menedzsment nézetekből vagy függvényekből, függetlenül az adatbázis kontextusától.

Megjegyzés:

Mivel DENY elsőbbséget élvez, ha egy felhasználó megkapta a VIEW SERVER STATE engedélyeket, de megtagadta VIEW DATABASE STATE az engedélyt, a felhasználó megtekintheti a kiszolgálószintű információkat, adatbázisszintű információkat azonban nem.