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 dynamische Verwaltungsfunktionen (DMFs) geben Serverstatusinformationen zurück, die verwendet werden können, um die Integrität eines Servers instance zu überwachen, Probleme zu diagnostizieren und die Leistung zu optimieren.

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. Dynamische Verwaltungssichten und -funktionen können in Transact-SQL-Anweisungen nicht mit einteiligen Namen referenziert werden.

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. Erstellen Sie dazu zunächst den Benutzer in master , und verweigern Sie dann der BENUTZER SELECT-Berechtigung für die dynamischen Verwaltungsansichten oder Funktionen, auf die sie nicht zugreifen sollen. Danach kann der Benutzer nicht mehr aus diesen dynamischen Verwaltungsansichten oder -funktionen auswählen, unabhängig vom Datenbankkontext des Benutzers.

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