Vyer för dynamisk hantering av system

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Dynamiska hanteringsvyer (DMV) och dynamiska hanteringsfunktioner (DMF) returnerar serverstatusinformation som kan användas för att övervaka hälsan hos en serverinstans, diagnostisera problem och justera prestandan.

Viktigt!

Dynamiska hanteringsvyer och funktioner returnerar interna, implementationsspecifika tillståndsdata. Deras scheman och data de returnerar kan ändras i framtida versioner av SQL Server. Därför kan dynamiska hanteringsvyer och funktioner i framtida versioner vara inkompatibla med de dynamiska hanteringsvyerna och funktionerna i denna version. Till exempel kan Microsoft i framtida versioner av SQL Server utöka definitionen av vilken dynamisk hanteringsvy som helst genom att lägga till kolumner längst bak i kolumnlistan. Vi rekommenderar att du inte använder syntaxen SELECT * FROM dynamic_management_view_name i produktionskoden eftersom antalet kolumner som returneras kan ändras och bryta programmet.

Det finns två typer av dynamiska hanteringsvyer och funktioner:

  • Serverbegränsade dynamiska hanteringsvyer och funktioner. Dessa kräver behörighet VIEW SERVER STATE på servern. För SQL Server 2022 och senare krävs VIEW SERVER PERFORMANCE STATE, eller VIEW SERVER SECURITY STATE för några DMV:er som är säkerhetsrelaterade.

  • Databasbegränsade dynamiska hanteringsvyer och funktioner. Dessa kräver behörighet VISA DATABASENS TILLSTÅND i databasen. För SQL Server 2022 och senare krävs VIEW DATABASE PERFORMANCE STATE, eller VIEW DATABASE SECURITY STATE för några DMV:er som är säkerhetsrelaterade.

Fråga dynamiska hanteringsvyer

Dynamiska hanteringsvyer kan refereras i Transact-SQL satser genom att använda två-, tre- eller fyrdelade namn. Dynamiska hanteringsfunktioner kan däremot refereras till i Transact-SQL satser genom att använda antingen tvådelade eller tredelade namn. Dynamiska hanteringsvyer och funktioner kan inte refereras i Transact-SQL satser genom att använda endelsnamn.

Alla dynamiska hanteringsvyer och funktioner finns i sys-schemat och följer denna namngivningskonvention dm_*. När du använder en dynamisk hanteringsvy eller funktion måste du prefixa namnet på vyn eller funktionen genom att använda sys-schemat. Till exempel, för att fråga den dm_os_wait_stats dynamiska förvaltningsvyn, kör följande fråga:

SELECT wait_type, wait_time_ms
FROM sys.dm_os_wait_stats;

Behörigheter som krävs

För att fråga en dynamisk hanteringsvy eller funktion krävs SELECT-behörighet på objektet och behörighet VIEW SERVER STATE eller VIEW DATABASE STATE. Detta låter dig selektivt begränsa åtkomsten för en användare eller inloggning till dynamiska hanteringsvyer och funktioner. För att göra detta, skapa först användaren i master och neka sedan användaren SELECT-behörighet på de dynamiska hanteringsvyerna eller funktionerna som du inte vill att de ska komma åt. Efter detta kan användaren inte välja bland dessa dynamiska hanteringsvyer eller funktioner, oavsett användarens databaskontext.

Anmärkning

Eftersom DENY har företräde, kan användaren se servernivåinformation om han har fått tillstånd VISA SERVERSTATUS men nekats behörighet att se servernivåinformation, men inte databasnivåinformation.

I det här avsnittet

Dynamiska förvaltningsvyer och funktioner har organiserats i följande kategorier.