Erforderliche Berechtigungen zum Ausführen von SQL Server Profiler

Gilt für:SQL ServerAzure SQL Managed Instance

Standardmäßig sind zum Ausführen des SQL Server-Profilers die gleichen Benutzerberechtigungen wie für die gespeicherten Transact-SQL-Prozeduren erforderlich, die zum Erstellen von Ablaufverfolgungen verwendet werden. Zum Ausführen des SQL Server-Profilers muss den Benutzern die ALTER TRACE-Berechtigung erteilt werden. Weitere Informationen finden Sie unter GRANT (Serverberechtigungen) (Transact-SQL).

Wichtig

Abfragepläne und Abfragetexte, die von der SQL Server-Ablaufverfolgung sowie auf andere Weise erfasst werden, z. B. über dynamische Verwaltungssichten und -funktionen (DMVs, DMFs), Erweiterte Ereignisse, können vertrauliche Informationen enthalten. Daher sollten die Berechtigungen ALTER TRACE, SHOWPLAN und die übergreifende Berechtigung VIEW SERVER STATE nur denjenigen erteilt werden, die diese zur Erfüllung ihrer Aufgaben benötigen, und zwar nach dem Prinzip der geringsten Rechte.

Darüber hinaus wird empfohlen, Showplan- oder Ablaufverfolgungsdateien, die Ereignisse mit Bezug zu Showplan enthalten, nur an einem Speicherort zu speichern, für den das NTFS-Dateisystem verwendet wird, und den Zugriff auf Benutzer zu beschränken, die für den Zugriff auf möglicherweise vertrauliche Informationen berechtigt sind.

Wichtig

Die SQL-Ablaufverfolgung und SQL Server Profiler sind veraltet. Der Microsoft.SqlServer.Management.Trace-Namespace, der die Objekte für die Microsoft SQL Server-Ablaufverfolgung und -Wiedergabe enthält, ist ebenfalls veraltet.

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

Verwenden Sie stattdessen erweiterte Ereignisse. Weitere Informationen zu erweiterten Ereignissen finden Sie unter Schnellstart: Erweiterte Ereignisse in SQL Server und Verwenden des SSMS XEvent Profilers.

Hinweis

SQL Server Profiler wird für Analysis Services-Workloads unterstützt.

Hinweis

Wenn Sie versuchen, eine Verbindung mit einer Azure SQL-Datenbank über den SQL Server Profiler herzustellen, wird fälschlicherweise eine irreführende Fehlermeldung wie folgt ausgelöst:

  • Zum Ausführen einer Ablaufverfolgung für SQL Server müssen Sie ein Mitglied einer festen sysadmin-Serverrolle sein oder über die ALTER TRACE-Berechtigung verfügen.

Die Nachricht sollte erläutern, dass Azure SQL-Datenbank nicht vom SQL Server Profiler unterstützt wird.

Berechtigungen zur Wiedergabe von Ablaufverfolgungen

Für die Wiedergabe von Ablaufverfolgungen benötigt der Benutzer, der die Ablaufverfolgung wiedergibt, ebenfalls die ALTER TRACE-Berechtigung.

Während der Wiedergabe verwendet der SQL Server-Profiler jedoch den EXECUTE AS-Befehl, falls ein Audit Login-Ereignis in der wiedergegebenen Ablaufverfolgung gefunden wird. Der SQL Server-Profiler verwendet den EXECUTE AS-Befehl, um die Identität des Benutzers anzunehmen, der dem Anmeldeereignis zugeordnet ist.

Falls der SQL Server-Profiler ein Anmeldeereignis in einer wiedergegebenen Ablaufverfolgung findet, werden die folgenden Berechtigungsüberprüfungen ausgeführt:

  1. User1, der die ALTER TRACE-Berechtigung hat, startet die Wiedergabe einer Ablaufverfolgung.

  2. Ein Anmeldeereignis für User2 wird in der wiedergegebenen Ablaufverfolgung gefunden.

  3. Der SQL Server-Profiler verwendet den EXECUTE AS-Befehl, um die Identität von User2 anzunehmen.

  4. Der SQL Server-Profiler versucht User2 zu identifizieren. In Abhängigkeit von den Ergebnissen trifft dann eine der folgenden Aussagen zu:

    1. Falls User2 nicht authentifiziert werden kann, gibt der SQL Server-Profiler einen Fehler zurück und setzt die Wiedergabe der Ablaufverfolgung als User1 fort.

    2. Falls User2 erfolgreich authentifiziert wird, wird die Wiedergabe der Ablaufverfolgung als User2 fortgesetzt.

  5. Die Berechtigungen für User2 werden in der Zieldatenbank überprüft. In Abhängigkeit von den Ergebnissen trifft eine der folgenden Aussagen zu:

    1. Falls User2 Berechtigungen für die Zieldatenbank hat, war der Identitätswechsel erfolgreich, und die Ablaufverfolgung wird als User2 wiedergegeben.

    2. Falls User2 keine Berechtigungen für die Zieldatenbank hat, sucht der Server nach einem Gastbenutzer in dieser Datenbank.

  6. Das Vorhandensein eines Gastbenutzers wird in der Zieldatenbank überprüft. In Abhängigkeit von den Ergebnissen trifft eine der folgenden Aussagen zu:

    1. Falls ein Gastkonto vorhanden ist, wird die Ablaufverfolgung mit dem Gastkonto wiedergegeben.

    2. Falls in der Zieldatenbank kein Gastkonto vorhanden ist, wird ein Fehler zurückgegeben, und die Ablaufverfolgung wird als User1 wiedergegeben.

Das folgende Diagramm zeigt, wie bei der Wiedergabe von Ablaufverfolgungen die Berechtigungen überprüft werden:

SQL Server Profiler replay trace permissions.

Weitere Informationen