Dynamische Systemverwaltungssichten

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Dynamische Verwaltungssichten (DMVs) und -funktionen geben Serverstatusinformationen zurück, mit denen Sie den Zustand einer Serverinstanz überwachen, Probleme diagnostizieren und die Leistung optimieren können.

Wichtig

Dynamische Verwaltungssichten und -funktionen geben interne, implementierungsspezifische Statusdaten zurück. Die zugehörigen Schemas und die zurückgegebenen Daten können in zukünftigen Releases von SQL Server geändert werden. Deshalb kann es sein, dass dynamische Verwaltungssichten und -funktionen in zukünftigen Versionen nicht mit den dynamischen Verwaltungssichten und -funktionen in dieser Version kompatibel sind. In zukünftigen Versionen von SQL Server könnte Microsoft beispielsweise die Definition einer dynamischen Verwaltungssicht erweitern, indem am Ende der Spaltenliste Spalten hinzugefügt werden. Von der Verwendung der Syntax SELECT * FROM dynamic_management_view_name im Produktionscode wird abgeraten, da sich die Anzahl der zurückgegebenen Spalten möglicherweise ändert und Ihre Anwendung dadurch beschädigt werden kann.

Es gibt zwei Arten von dynamischen Verwaltungssichten und -funktionen:

  • Dynamische Verwaltungssichten und -funktionen mit Serverbereich. Sie erfordern die VIEW SERVER STATE-Berechtigung auf dem Server. Für SQL Server 2022 und höher ist VIEW SERVER PERFORMANCE STATE erforderlich, oder VIEW SERVER SECURITY STATE ist für einige sicherheitsrelevante DMVs erforderlich.

  • Dynamische Verwaltungssichten und -funktionen mit Datenbankbereich. Sie erfordern die VIEW DATABASE STATE-Berechtigung für die Datenbank. Für SQL Server 2022 und höher ist VIEW DATABASE PERFORMANCE STATE erforderlich, oder VIEW DATABASE SECURITY STATE ist für einige sicherheitsrelevante DMVs erforderlich.

Abfragen von dynamischen Verwaltungssichten

Auf dynamische Verwaltungssichten kann in Transact-SQL-Anweisungen mithilfe zweiteiliger, dreiteiliger oder vierteiliger Namen verwiesen werden. Auf dynamische Verwaltungsfunktionen kann in Transact-SQL-Anweisungen hingegen mithilfe zweiteiliger oder dreiteiliger Namen verwiesen werden. Der Verweis auf dynamische Verwaltungssichten und -funktionen in Transact-SQL-Anweisungen mithilfe einteiliger Namen ist nicht möglich.

Alle dynamischen Verwaltungssichten und -funktionen sind im sys-Schema vorhanden und verwenden die Benennungskonvention dm_*. Wenn Sie eine dynamische Verwaltungssicht oder -funktion verwenden, müssen Sie vor dem Namen der Sicht oder Funktion das sys-Schema als Präfix einfügen. Führen Sie z. B. die folgende Abfrage aus, um die dynamische Verwaltungssicht dm_os_wait_stats abzufragen:

SELECT wait_type, wait_time_ms  
FROM sys.dm_os_wait_stats;  

Erforderliche Berechtigungen

Zum Abfragen einer dynamischen Verwaltungssicht oder -funktion sind die SELECT-Berechtigung für das Objekt und die VIEW SERVER STATE- oder VIEW DATABASE STATE-Berechtigung erforderlich. Auf diese Weise können Sie den Zugriff eines Benutzers oder eines Anmeldenamens selektiv auf dynamische Verwaltungssichten und -funktionen einschränken. Dazu erstellen Sie zunächst den Benutzer in master und verweigern dem Benutzer dann die SELECT-Berechtigung für die dynamischen Verwaltungssichten oder -funktionen, auf die er keinen Zugriff haben soll. Der Benutzer kann dann diese dynamischen Verwaltungssichten oder -funktionen unabhängig vom Datenbankkontext des Benutzers nicht auswählen.

Hinweis

DENY hat Vorrang. Daher kann ein Benutzer, dem die VIEW SERVER STATE-Berechtigung erteilt, aber die VIEW DATABASE STATE-Berechtigung verweigert wurde, zwar Informationen auf Serverebene, aber keine Informationen auf Datenbankebene anzeigen.

In diesem Abschnitt

Dynamische Verwaltungssichten und -funktionen wurden in die folgenden Kategorien unterteilt.

Nächste Schritte

GRANT (Serverberechtigungen) (Transact-SQL)
GRANT (Datenbankberechtigungen) (Transact-SQL)
Systemsichten (Transact-SQL)