Erforderliche Berechtigungen zum Ausführen von SQL Server Profiler
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
Benutzer mit den Berechtigungen SHOWPLAN, ALTER TRACE oder VIEW SERVER STATE können Abfragen anzeigen, die in der Showplan-Ausgabe erfasst werden. Diese Abfragen enthalten möglicherweise vertrauliche Informationen wie Kennwörter. Daher wird empfohlen, diese Berechtigungen nur Benutzern zu gewähren, die zum Zugreifen auf vertrauliche Informationen berechtigt sind, z. B. Mitglieder der festen Datenbankrolle "db_owner" oder Mitglieder der festen Serverrolle "sysadmin". Darüber hinaus wird empfohlen, Showplan-Dateien 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 zum Zugreifen auf vertrauliche Informationen berechtigt sind.
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:
User1, der die ALTER TRACE-Berechtigung hat, startet die Wiedergabe einer Ablaufverfolgung.
Ein Anmeldeereignis für User2 wird in der wiedergegebenen Ablaufverfolgung gefunden.
Der SQL Server-Profiler verwendet den EXECUTE AS-Befehl, um die Identität von User2 anzunehmen.
Der SQL Server-Profiler versucht User2 zu identifizieren. In Abhängigkeit von den Ergebnissen trifft dann eine der folgenden Aussagen zu:
Falls User2 nicht authentifiziert werden kann, gibt der SQL Server-Profiler einen Fehler zurück und setzt die Wiedergabe der Ablaufverfolgung als User1 fort.
Falls User2 erfolgreich authentifiziert wird, wird die Wiedergabe der Ablaufverfolgung als User2 fortgesetzt.
Die Berechtigungen für User2 werden in der Zieldatenbank überprüft. In Abhängigkeit von den Ergebnissen trifft eine der folgenden Aussagen zu:
Falls User2 Berechtigungen für die Zieldatenbank hat, war der Identitätswechsel erfolgreich, und die Ablaufverfolgung wird als User2 wiedergegeben.
Falls User2 keine Berechtigungen für die Zieldatenbank hat, sucht der Server nach einem Gastbenutzer in dieser Datenbank.
Das Vorhandensein eines Gastbenutzers wird in der Zieldatenbank überprüft. In Abhängigkeit von den Ergebnissen trifft eine der folgenden Aussagen zu:
Falls ein Gastkonto vorhanden ist, wird die Ablaufverfolgung mit dem Gastkonto wiedergegeben.
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:
Weitere Informationen
SQL Server Profiler gespeicherte Prozeduren (Transact-SQL)Ablaufverfolgungen wiedergebenErstellen einer Ablaufverfolgung (SQL Server Profiler)Wiedergeben einer Ablaufverfolgungstabelle (SQL Server Profiler)Wiedergeben einer Ablaufverfolgungsdatei (SQL Server Profiler)