Festlegen von Datenbankoptionen
Für jede Datenbank können mehrere Datenbankoptionen festgelegt werden, durch die die Merkmale einer Datenbank bestimmt werden. Diese Optionen sind für jede Datenbank eindeutig und haben keinen Einfluss auf andere Datenbanken. Diese Datenbankoptionen werden beim Erstellen einer Datenbank als Standardwerte festgelegt; sie können mithilfe der SET-Klausel der ALTER DATABASE-Anweisung geändert werden. Außerdem kann SQL Server Management Studio verwendet werden, um die meisten dieser Optionen festzulegen.
Hinweis |
---|
Serverweite Einstellungen werden mithilfe der gespeicherten Systemprozedur sp_configure oder mithilfe von SQL Server Management Studio festgelegt. Weitere Informationen finden Sie unter Festlegen von Serverkonfigurationsoptionen. Einstellungen auf der Verbindungsebene werden mithilfe von SET-Anweisungen angegeben. Weitere Informationen finden Sie unter SET-Optionen. |
Wenn Sie die Standardwerte einer Datenbankoption für alle neu erstellten Datenbanken ändern möchten, ändern Sie die entsprechende Datenbankoption in der model-Datenbank. Wenn z. B. die Standardeinstellung der AUTO_CLOSE-Datenbankoption den Wert True für jede neue Datenbank erhalten soll, die nachfolgend erstellt wird, legen Sie die AUTO_CLOSE-Option für model auf den Wert True fest.
Nachdem Sie eine Datenbankoption festgelegt haben, wird automatisch ein Prüfpunkt ausgegeben, sodass die Änderung sofort wirksam wird. Weitere Informationen finden Sie unter CHECKPOINT (Transact-SQL).
Datenbankoptionen
Die folgende Tabelle führt die Datenbankoptionen auf, die beim Erstellen einer Datenbank festgelegt werden, und nennt die Standardwerte. Eine vollständige Beschreibung dieser Optionen finden Sie unter ALTER DATABASE (Transact-SQL).
Automatische Optionen
Steuern bestimmte automatische Verhaltensweisen.
Option |
Beschreibung |
Standardwert |
---|---|---|
AUTO_CLOSE |
Wenn ON festgelegt wurde, wird die Datenbank heruntergefahren, und die Ressourcen werden freigegeben, wenn der letzte Benutzer die Datenbank beendet hat. Die Datenbank wird automatisch erneut geöffnet, wenn ein Benutzer versucht, die Datenbank nochmals zu verwenden. Wenn OFF festgelegt wurde, bleibt die Datenbank geöffnet, nachdem der letzte Benutzer die Datenbank beendet hat. |
Diese Option ist für alle Datenbanken auf True festgelegt, wenn Sie SQL Server 2000 Desktop Engine oder SQL Server Express verwenden, und unabhängig vom Betriebssystem auf False festgelegt, wenn Sie eine der anderen Editionen verwenden. |
AUTO_CREATE_STATISTICS |
Wenn für diese Option der Wert ON festgelegt wurde, werden für Spalten, die in einem Prädikat verwendet werden, automatisch Statistiken erstellt. Ist diese Option auf OFF festgelegt, werden Statistiken nicht automatisch erstellt; stattdessen können sie manuell erstellt werden. |
True |
AUTO_UPDATE_STATISTICS |
Wenn diese Option auf ON festgelegt wurde, werden fehlende Statistiken, die von einer Abfrage zur Optimierung benötigt werden, automatisch während der Abfrageoptimierung erstellt. Wenn OFF festgelegt wurde, müssen die Statistiken manuell erstellt werden. Weitere Informationen finden Sie unter Verwenden von Statistiken zum Verbessern der Abfrageleistung. |
True |
AUTO_SHRINK |
Wenn für diese Option der Wert ON festgelegt wurde, werden die Datenbankdateien möglicherweise periodisch verkleinert. Sowohl Daten- als auch Protokolldateien können von SQL Server automatisch verkleinert werden. AUTO_SHRINK reduziert die Größe des Transaktionsprotokolls nur, wenn für die Datenbank das SIMPLE-Wiederherstellungsmodell festgelegt ist oder wenn das Protokoll gesichert wird. Wenn diese Option auf OFF festgelegt wurde, werden die Datenbankdateien während der periodisch ausgeführten Überprüfung auf nicht verwendeten Speicherplatz nicht automatisch verkleinert. |
False |
Auto_Update_Statistics_Asynchronously |
Wenn diese Option auf True festgelegt ist, werden die Statistiken asynchron aktualisiert. |
False |
Cursoroptionen
Steuern das Cursorverhalten und den Cursorbereich.
Option |
Beschreibung |
Standardwert |
---|---|---|
CURSOR_CLOSE_ON_COMMIT |
Wenn diese Option auf ON festgelegt wurde, und für eine Transaktion ein Commit oder ein Rollback ausgeführt wird, werden alle geöffneten Cursor geschlossen. Wenn OFF festgelegt wurde und für eine Transaktion ein Commit ausgeführt wird, bleiben diese Cursor geöffnet. Beim Rollback einer Transaktion werden alle Cursor mit Ausnahme der als INSENSITIVE oder STATIC definierten Cursor geschlossen. |
OFF |
CURSOR_DEFAULT |
Wenn LOCAL angegeben wurde und beim Erstellen kein Cursor als GLOBAL definiert wird, ist der Bereich des Cursors lokal für den Batch, die gespeicherte Prozedur oder den Trigger, in dem er erstellt wurde. Der Cursorname ist nur innerhalb dieses Bereichs gültig. Wenn GLOBAL angegeben wurde und beim Erstellen kein Cursor als LOCAL definiert wird, ist der Bereich des Cursors global für die Verbindung. Auf den Cursornamen kann in jeder gespeicherten Prozedur und in jedem Batch verwiesen werden, die bzw. der von der Verbindung ausgeführt wird. |
GLOBAL |
Datenbankverfügbarkeitsoptionen
Steuern, ob die Datenbank online oder offline ist, wer eine Verbindung mit der Datenbank herstellen kann und ob die Datenbank schreibgeschützt ist.
Option |
Beschreibung |
Standardwert |
---|---|---|
OFFLINE | ONLINE | EMERGENCY |
Mit OFFLINE wird die Datenbank ordnungsgemäß geschlossen und heruntergefahren und als offline gekennzeichnet. Mit ONLINE ist die Datenbank geöffnet und kann verwendet werden. Wenn EMERGENCY angegeben wird, wird die Datenbank als READ_ONLY markiert, die Protokollierung deaktiviert und der Zugriff auf Mitglieder der festen Serverrolle sysadmin beschränkt. |
ONLINE |
READ_ONLY | READ_WRITE |
Wenn READ_ONLY angegeben wird, können die Benutzer die Daten in der Datenbank nur lesen, jedoch nicht ändern. Wenn READ_WRITE angegeben wird, ist die Datenbank für Lese- und Schreibvorgänge verfügbar. |
READ_WRITE |
SINGLE_USER | RESTRICTED_USER | MULTI_USER |
Wenn SINGLE_USER angegeben wird, kann jeweils ein Benutzer eine Verbindung mit der Datenbank herstellen. Alle anderen Benutzerverbindungen werden unterbrochen. Wenn RESTRICTED_USER angegeben wird, dürfen nur Mitglieder der festen Datenbankrolle db_owner und der festen Serverrollen dbcreator und sysadmin eine Verbindung mit der Datenbank herstellen, deren Anzahl ist jedoch nicht begrenzt. Wenn MULTI_USER angegeben wird, dürfen alle Benutzer mit den entsprechenden Berechtigungen eine Verbindung mit der Datenbank herstellen. |
MULTI_USER |
Datumskorrelation-Optimierungsoptionen
Steuern die Option DATE_CORRELATION_OPTIMIZATION.
Option |
Beschreibung |
Standardwert |
---|---|---|
DATE_CORRELATION_OPTIMIZATION |
Wenn ON angegeben wird, verwaltet SQL Server Korrelationsstatistiken zwischen zwei beliebigen Tabellen in der Datenbank, die durch eine FOREIGN KEY-Einschränkung verknüpft sind und datetime-Spalten besitzen. Wenn OFF angegeben wird, werden keine Korrelationsstatistiken verwaltet. |
OFF |
Weitere Informationen finden Sie unter Optimieren von Abfragen, die auf korrelierte datetime-Spalten zugreifen.
Externe Zugriffsoptionen
Steuern, ob auf die Datenbank durch externe Ressourcen, z. B. Objekte aus einer anderen Datenbank, zugegriffen werden kann.
Option |
Beschreibung |
Standardwert |
---|---|---|
DB_CHAINING |
Wenn ON angegeben wird, kann die Datenbank die Quelle oder das Ziel einer datenbankübergreifenden Besitzkette sein. Wenn OFF angegeben wird, kann die Datenbank nicht an einer datenbankübergreifenden Besitzverkettung teilnehmen. |
OFF |
TRUSTWORTHY |
Wenn ON angegeben wird, können die Datenbankmodule (z. B. benutzerdefinierte Funktionen oder gespeicherte Prozeduren), die einen Identitätswechselkontext verwenden, auf Ressourcen außerhalb der Datenbank zugreifen. Wenn OFF angegeben wird, kann in einem Identitätswechselkontext nicht auf Ressourcen außerhalb der Datenbank zugegriffen werden. TRUSTWORTHY wird auf OFF festgelegt, wenn die Datenbank angefügt wird. |
OFF |
Parametrisierungsoption
Steuert die Parametrisierungsoption.
Option |
Beschreibung |
Standardwert |
---|---|---|
PARAMETERIZATION |
Wenn SIMPLE angegeben wird, werden Abfragen basierend auf dem Standardverhalten der Datenbank parametrisiert. Wenn FORCED angegeben wird, parametrisiert SQL Server alle Abfragen in der Datenbank. |
SIMPLE |
Wiederherstellungsoptionen
Steuern das Wiederherstellungsmodell für die Datenbank.
Option |
Beschreibung |
Standardwert |
---|---|---|
RECOVERY |
Wenn FULL angegeben wird, wird eine vollständige Wiederherstellung nach einem Fehler des Speichermediums mithilfe von Transaktionsprotokollsicherungen bereitgestellt. Falls eine Datendatei beschädigt ist, kann die Medienwiederherstellung alle Transaktionen wiederherstellen, für die ein Commit ausgeführt wurde. Wenn BULK_LOGGED angegeben wird, wird die Wiederherstellung nach einem Speichermedienfehler durch Kombinieren der besten Leistung mit dem geringsten Verbrauch an Protokollspeicherplatz für bestimmte umfangreiche Vorgänge oder Massenvorgänge bereitgestellt. Wenn SIMPLE angegeben wird, wird eine einfache Sicherungsstrategie bereitgestellt, die nur geringen Protokollspeicherplatz verwendet. |
FULL |
PAGE_VERIFY |
Wenn CHECKSUM angegeben wird, berechnet Database Engine (Datenbankmodul) beim Schreiben der Seite auf den Datenträger eine Prüfsumme des Inhalts der gesamten Seite und speichert den Wert im Seitenkopf. Wenn die Seite vom Datenträger gelesen wird, wird die Prüfsumme erneut berechnet und mit dem im Seitenkopf gespeicherten Prüfsummenwert verglichen. Wenn TORN_PAGE_DETECTION angegeben wird, wird beim Schreiben der Seite auf den Datenträger für jeden Sektor von 512 Byte auf einer Datenbankseite von 8 KB ein bestimmtes 2-Bit-Muster gespeichert und im Kopf der Datenbankseite gespeichert. Wenn die Seite vom Datenträger gelesen wird, werden die im Seitenkopf gespeicherten zerrissenen Bits mit den tatsächlichen Seitensektorinformationen verglichen. Wenn NONE angegeben wird, generieren die Datenbankseiten-Schreibvorgänge keinen CHECKSUM- oder TORN_PAGE_DETECTION-Wert. SQL Server überprüft während eines Lesevorgangs selbst dann keine Prüfsummen oder zerrissenen Seiten, wenn ein CHECKSUM- oder TORN_PAGE_DETECTION-Wert im Seitenkopf vorhanden ist. |
CHECKSUM |
Service Broker-Optionen
Steuern Service Broker-Optionen.
Option |
Beschreibung |
Standardwert |
---|---|---|
ENABLE_BROKER | DISABLE_BROKER | NEW_BROKER | ERROR_BROKER_CONVERSATIONS |
Wenn ENABLE_BROKER angegeben wird, wird Service Broker für die angegebene Datenbank aktiviert. Wenn DISABLE_BROKER angegeben wird, wird Service Broker für die angegebene Datenbank deaktiviert. Wenn NEW_BROKER angegeben wird, erhält die Datenbank eine neue Brokerkennung. Wenn ERROR_BROKER_CONVERSATIONS angegeben wird, erhalten beim Anfügen der Datenbank Konversationen in der Datenbank eine Fehlernachricht. |
ENABLE_BROKER |
Snapshotisolationsoptionen
Bestimmen die Isolationsstufe für Transaktionen.
Option |
Beschreibung |
Standardwert |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION |
Wenn ON angegeben wird, können Transaktionen die SNAPSHOT-Transaktionsisolationsebene angeben. Wenn eine Transaktion auf der SNAPSHOT-Isolationsebene ausgeführt wird, sehen alle Anweisungen einen Snapshot der Daten, wie sie beim Start der Transaktion vorlagen. Wenn OFF angegeben wird, können Transaktionen die SNAPSHOT-Transaktionsisolationsebene nicht angeben. |
OFF |
READ_COMMITTED_SNAPSHOT |
Wenn ON angegeben wird, verwenden Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, anstelle von Sperren die Zeilenversionsverwaltung. Wenn eine Transaktion auf der READ COMMITTED-Isolationsebene ausgeführt wird, sehen alle Anweisungen einen Snapshot der Daten, wie sie beim Start der Anweisung vorlagen. Wenn OFF angegeben wird, verwenden Transaktionen, die die READ COMMITTED-Isolationsstufe angeben, Sperren. Wenn die Option READ_COMMITTED_SNAPSHOT festgelegt wird, wird in der Datenbank nur die Verbindung zugelassen, die den ALTER DATABASE-Befehl ausführt. Solange ALTER DATABASE nicht fertig gestellt ist, darf keine andere offene Verbindung in der Datenbank bestehen. Die Datenbank muss sich nicht im Einzelbenutzermodus befinden. |
OFF |
SQL-Optionen
Steuern Optionen für die ANSI-Kompatibilität.
Option |
Beschreibung |
Standardwert |
---|---|---|
ANSI_NULL_DEFAULT |
Legt den Standardwert (NULL oder NOT NULL) einer Spalte, eines alias data type oder eines CLR user-defined type fest, für den die NULL-Zulässigkeit nicht explizit in den CREATE TABLE- oder ALTER TABLE-Anweisungen festgelegt wurde. Wenn ON angegeben wird, ist der Standardwert NULL. Wenn OFF angegeben wird, ist der Standardwert NOT NULL. |
OFF |
ANSI_NULLS |
Wenn ON angegeben wird, werden alle Vergleiche mit einem NULL-Wert zu UNKNOWN ausgewertet. Wenn OFF angegeben wird, werden Vergleiche von Nicht-UNICODE-Werten mit einem NULL-Wert zu TRUE ausgewertet, falls beide Werte NULL sind. |
OFF |
ANSI_PADDING |
Wenn diese Option auf ON festgelegt wird, werden nachfolgende Leerzeichen in Zeichenwerten, die in varchar- oder nvarchar-Spalten eingefügt werden, und nachfolgende Nullen in Binärwerten, die in varbinary-Spalten eingefügt werden, nicht abgeschnitten. Werte werden nicht bis zur Spaltenlänge aufgefüllt. Wenn diese Option auf OFF festgelegt wird, werden nachfolgende Leerzeichen (für varchar oder nvarchar) und Nullen (für varbinary) abgeschnitten. Diese Einstellung betrifft ausschließlich die Definition neuer Spalten. char- und binary-Spalten, die Nullen zulassen, werden bis zur Spaltenlänge aufgefüllt, wenn ANSI_PADDING auf ON festgelegt ist, aber nachfolgende Leerzeichen und Nullen werden abgeschnitten, wenn ANSI_PADDING auf OFF festgelegt ist. char- und binary-Spalten, die keine Nullen zulassen, werden stets bis zur Spaltenlänge aufgefüllt. |
OFF |
ANSI_WARNINGS |
Wenn ON angegeben wird, werden Fehler oder Warnungen ausgegeben, falls Bedingungen wie z. B. Division durch null vorliegen oder NULL-Werte in Aggregatfunktionen auftreten. Wenn OFF angegeben wird, werden keine Warnungen ausgelöst und NULL-Werte zurückgegeben, falls Bedingungen wie z. B. Division durch null vorliegen. |
OFF |
ARITHABORT |
Wenn ON angegeben wird und während der Ausführung der Abfrage ein Überlauffehler oder ein Fehler aufgrund einer Division durch null auftritt, wird eine Abfrage beendet. Wenn OFF angegeben wird und einer dieser Fehler auftritt, wird eine Warnmeldung angezeigt; die Abfrage, der Batch oder die Transaktion wird jedoch weiterhin so ausgeführt, als sei kein Fehler aufgetreten. |
OFF |
CONCAT_NULL_YIELDS_NULL |
Wenn ON angegeben wird, lautet das Ergebnis eines Verkettungsvorgangs NULL, wenn einer der Operanden NULL ist. Wenn OFF angegeben wird, wird der NULL-Wert als eine leere Zeichenfolge behandelt. |
OFF |
QUOTED_IDENTIFIER |
Wenn ON angegeben wird, können doppelte Anführungszeichen verwendet werden, um begrenzte Bezeichner einzuschließen. Wenn OFF angegeben wird, können Bezeichner nicht in Anführungszeichen eingeschlossen werden und müssen allen Regeln für Bezeichner in Transact-SQL entsprechen. |
OFF |
NUMERIC_ROUNDABORT |
Wenn ON angegeben wird, wird ein Fehler generiert, wenn ein Verlust der Genauigkeit in einem Ausdruck auftritt. Wenn OFF angegeben wird, werden bei Verlusten der Genauigkeit keine Fehlermeldungen generiert, und das Ergebnis wird auf die Genauigkeit der Spalte oder Variablen gerundet, die das Ergebnis speichert. |
OFF |
RECURSIVE_TRIGGERS |
Wenn ON angegeben wird, können AFTER-Trigger rekursiv ausgelöst werden. Wenn OFF angegeben wird, ist nur das direkte rekursive Auslösen von AFTER-Triggern unzulässig. |
OFF |
So ändern Sie Datenbankoptionen