Sie können Optionen für 3 Bereiche einstellen: public, user und temporary.
Temporäre Optionen setzen benutzerdefinierte und öffentliche Einstellungen außer Kraft. Optionen auf der Benutzerebene heben öffentliche Einstellungen auf. Wenn Sie eine Option der Benutzerebene für den aktuellen Benutzer einstellen, wird die entsprechende temporäre Option ebenfalls gesetzt.
Einige Optionen (wie COMMIT-Verhalten) haben einen datenbankweiten Geltungsbereich. Das Setzen dieser Optionen erfordert DBA-Berechtigung. Andere Optionen (wie isolation_level) können auch nur bei der aktuellen Verbindung angewendet werden und benötigen keine besonderen Berechtigungen.
Änderungen der Optionseinstellungen erfolgen je nach Option zu verschiedenen Zeitpunkten. Die Änderung einer globalen Option wie recovery_time tritt in Kraft, wenn die Datenbank das nächste Mal hochgefahren wird.
Optionen, die nur die aktuelle Verbindung betreffen, treten normalerweise gleich in Kraft. Sie können Optionen während einer Transaktion ändern. Eine Ausnahme ist die Änderung von Optionen bei geöffnetem Cursor, weil dies zu unvorhersehbaren Ergebnissen führen kann. Beispiel: Die Änderung von date_format ändert vielleicht nicht das Format für die nächste Zeile, wenn ein Cursor geöffnet wird. Je nach der Art und Weise, wie ein Cursor abgerufen wird, kann es einige Zeilen dauern, bevor sich die Änderung bis zum Benutzer "durchspricht".
Zum Einrichten einer Option für die Benutzer-ID PUBLIC ist die DBA-Berechtigung erforderlich.
Wenn der Wert einer Option für die Benutzer-ID PUBLIC geändert wird, gilt dieser permanente Wert für alle Benutzer, für die kein eigener Wert festgelegt wurde. Ein Optionswert kann nur dann für eine einzelne Benutzer-ID festgelegt werden, wenn es bereits eine Einstellung für die Benutzer-ID PUBLIC für diese Option gibt.
Einige Optionen, die nur für den PUBLIC-Benutzer gesetzt werden können, treten für bestehende Verbindungen sofort in Kraft, auch wenn die geänderte Einstellung für Benutzer über die Funktion CONNECTION_PROPERTY nicht sofort sichtbar ist. Ein Beispiel dafür ist die Option global_database_id. Aus diesem Grund sollten nur für PUBLIC geltende Optionen nicht geändert werden, während andere Benutzer mit der Datenbank verbunden sind.
Das Hinzufügen des Schlüsselworts TEMPORARY zur SET OPTION-Anweisung verändert die Dauer des Änderungsvorgangs. Normalerweise ist eine Optionsänderung dauerhaft. Sie ändert sich solange nicht, bis sie durch die SET OPTION-Anweisung explizit geändert wird.
Wenn die SET TEMPORARY OPTION-Anweisung ausgeführt wird, wirkt sich der neue Optionswert nur auf die aktuelle Verbindung und für die Dauer der Verbindung aus.
Wenn die Anweisung SET TEMPORARY OPTION verwendet wird, um eine PUBLIC-Option einzurichten, ist die Änderung so lange wirksam, wie die Datenbank läuft. Wenn die Datenbank heruntergefahren wird, werden die temporären Optionen für die Benutzer-ID PUBLIC wieder auf ihre permanenten Werte zurückgesetzt.
Wenn Sie eine temporäre Option für die Benutzer-ID PUBLIC setzen, haben Sie einen Sicherheitsvorteil. Wenn zum Beispiel die login_mode-Option aktiviert ist, richtet sich die Datenbank nach der Login-Sicherheit des Systems, auf dem sie läuft. Wenn diese Option als temporäre Optionseinstellung aktiviert wird, ist eine Datenbank, die von der Sicherheit einer Windows-Domäne abhängig ist, nicht gefährdet, wenn sie heruntergefahren und auf einen lokalen Computer kopiert wird. In diesem Fall wird die login_mode-Option auf ihren dauerhaften Wert zurückgesetzt, der der Standardwert sein könnte, nämlich ein Modus, in dem integrierte Logins nicht erlaubt sind.
Die INSERT-, UPDATE-, DELETE-, SELECT-, UNION, EXCEPT- und INTERSECT-Anweisungen enthalten eine OPTION-Klausel, mit der Sie festlegen können, wie materialisierte Ansichten von der Anweisung verwendet werden und wie die Abfrage optimiert wird. Diese Klausel kann auch verwendet werden, um eine Optionseinstellung festzulegen, die bei dieser Anweisung Vorrang vor allen aktivierten öffentlichen und temporären Optionseinstellungen hat. Sie können die Einstellung der folgenden Optionen mit der OPTION-Klausel ändern:
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |