Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Dynamiska hanteringsobjekt inkluderar dynamiska förvaltningsvyer (DMV) och dynamiska hanteringsfunktioner (DMF). Dessa objekt returnerar serverstatusinformation som du kan använda för att övervaka hälsan hos en serverinstans, diagnostisera problem och justera prestandan.
Dynamiska hanteringsobjekt är antingen server-begränsade eller databas-scoped.
Fråga dynamiska hanteringsobjekt
Alla dynamiska hanteringsobjekt finns i schemat sys och följer namngivningskonventionen dm_*.
När du använder ett dynamiskt hanteringsobjekt måste du prefixa objektets namn genom att använda schemat sys . Till exempel, för att fråga den dynamiska hanteringsvyn dm_os_wait_stats , kör följande fråga:
SELECT wait_type,
wait_time_ms
FROM sys.dm_os_wait_stats;
Följande tabell beskriver hur man refererar till dynamiska hanteringsobjekt i Transact-SQL:
| T-SQL-referens | Dynamisk hanteringsvy | Dynamisk ledningsfunktion |
|---|---|---|
| Endelad namngivning | No | No |
| Tvådelad namngivning | Yes | Yes |
| Tredelad namngivning | Yes | Yes |
| Fyrdelad namngivning | Yes | No |
Anmärkningar
Dynamiska hanteringsobjekt returnerar interna, implementationsspecifika tillståndsdata. Deras scheman och data de returnerar kan ändras i framtida Database Engine-versioner. Därför kan dynamiska hanteringsobjekt i framtida versioner vara inkompatibla med dynamiska hanteringsobjekten i denna version.
Till exempel kan Microsoft i framtida Database Engine-versioner utöka definitionen av vilken dynamisk hanteringsvy som helst genom att lägga till kolumner i slutet av kolumnlistan. Använd inte syntaxen SELECT * FROM dynamic_management_view_name i produktionskod eftersom antalet returnerade kolumner kan förändras och förstöra din applikation.
Permissions
Att fråga ett dynamiskt hanteringsobjekt kräver SELECT behörighet på objektet och beror på objektets omfattning och Databasmotor för SQL Server-versionen:
| Version | Serveromfattning | Databasomfång |
|---|---|---|
| SQL Server 2019 (15.x) och tidigare versioner | VIEW SERVER STATE |
VIEW DATABASE STATE |
| SQL Server 2022 (16.x) och senare versioner |
VIEW SERVER PERFORMANCE STATE, eller VIEW SERVER SECURITY STATE för säkerhetsrelaterade objekt |
VIEW DATABASE PERFORMANCE STATE, eller VIEW DATABASE SECURITY STATE för säkerhetsrelaterade objekt |
För att selektivt begränsa åtkomsten, skapa användaren eller logga in master och neka sedan användarbehörigheten SELECT på de specifika dynamiska hanteringsvyer eller funktioner du vill blockera. Användaren kan inte välja från dessa objekt efteråt, oavsett databasens kontext.
Note
DENY har företräde framför GRANT. Till exempel kan en användare som beviljats VIEW SERVER PERFORMANCE STATE men nekats VIEW DATABASE PERFORMANCE STATE se servernivåinformation men inte databasnivåinformation.