Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (P-Z)

 

SETUSER-Anweisung

Mit dieser Anweisung ermöglichen Sie einem Datenbankadministrator, einen anderen Benutzer zu verkörpern und Verbindungspooling zu aktivieren.

Syntax
{ SET SESSION AUTHORIZATION | SETUSER }
[ [ WITH OPTION ] Benutzer-ID ]
Parameter
  • WITH OPTION-Klausel   Standardmäßig werden nur Berechtigungen (einschließlich Gruppenmitgliedschaft) geändert. Wenn WITH OPTION angegeben ist, werden die geltenden Datenbankoptionen in die aktuellen Datenbankoptionen von Benutzer-ID geändert.

  • Benutzer-ID   Die Benutzer-ID ist ein Bezeichner (SETUSER-Syntax) oder eine Zeichenfolge (SET SESSION AUTHORIZATION-Syntax). Weitere Hinweise finden Sie unter Bezeichner und Zeichenfolgen.

Bemerkungen

Die SETUSER-Anweisung wird zur Vereinfachung der Datenbankverwaltung bereitgestellt. Sie ermöglicht es einem Benutzer mit DBA-Berechtigung, einen anderen Benutzer der Datenbank zu verkörpern. Nachdem Sie eine SETUSER-Anweisung ausgeführt haben, können Sie überprüfen, welchen Benutzer Sie verkörpern, indem Sie einen der folgenden Befehle ausführen:

SETUSER kann auch von einem Anwendungsserver aus verwendet werden, um die Vorteile des Verbindungspoolings zu nutzen. Verbindungspooling vermindert die Anzahl der unterschiedlichen Verbindungen, die aufgebaut werden müssen. Dadurch kann die Performance verbessert werden.

SETUSER ohne Angabe einer Benutzer-ID macht alle vorherigen SETUSER-Anweisungen rückgängig.

Die Anweisung SETUSER ist in gespeicherten Prozeduren, Triggern, Ereignisverarbeitungsroutinen oder Batches nicht zulässig.

Zu den zahlreichen Anwendungsmöglichkeiten der SETUSER-Anweisung gehören auch die folgenden:

  • Objekte erstellen   Mit SETUSER können Sie ein Datenbankobjekt erstellen, dessen Eigentümer ein anderer Benutzer ist.

  • Berechtigungen überprüfen   Indem der Datenbankadministrator an Stelle eines anderen Benutzers mit dessen Berechtigungen und Gruppenmitgliedschaften agiert, kann er die Berechtigungen und Namensauflösung von Abfragen, Prozeduren, Ansichten usw. überprüfen.

  • Sichere Umgebung für Administratoren bereitstellen   Der Datenbankadministrator ist berechtigt, Handlungen jeder Art in der Datenbank vorzunehmen. Wenn Sie sicherstellen möchten, dass Sie nicht versehentlich eine unbeabsichtigte Handlung vornehmen, können Sie mit SETUSER zu einer anderen Benutzer-ID mit weniger Berechtigungen wechseln.

Hinweis

Die SETUSER-Anweisung kann nicht in Prozeduren, Triggern, Ereignissen oder Batches verwendet werden.

Berechtigungen

DBA-Berechtigung ist erforderlich.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   SET SESSION AUTHORIZATION ist eine Kernfunktion. SETUSER ist eine Erweiterung des Herstellers.

Beispiel

Die folgenden Anweisungen werden von einem Benutzer namens DBA durchgeführt und ändern die Benutzer-ID auf 'Joe', dann 'Jane' und dann wieder zurück zu DBA.

SETUSER "Joe"
// ... operations...
SETUSER WITH OPTION "Jane"
// ... operations...
SETUSER

Die folgende Anweisung setzt den Benutzer auf 'Jane'. Die Benutzer-ID wird als Zeichenfolge und nicht als Bezeichner geliefert.

SET SESSION AUTHORIZATION 'Jane';