Optionen (Abfrageausführung/SQL Server/Seite ANSI)

Diese SET-Optionen nach SQL-92-Standard definieren zusammen die Abfrageverarbeitungsumgebung für die Dauer der Abfrage des Benutzers bzw. der Ausführung eines Triggers oder einer gespeicherten Prozedur. Die aufgeführten SET-Optionen schließen jedoch nicht alle Optionen ein, die erforderlich wären, um dem SQL-92-Standard vollständig zu entsprechen. Mithilfe dieser Seite können Sie festlegen, dass Microsoft SQL Server die Abfragen mithilfe aller oder eines Teils der im SQL-92-Standard angegebenen Einstellungen ausführt. Die an diesen Optionen vorgenommenen Änderungen werden nur für neue Abfragen in SQL Server verwendet. Wenn Sie diese Optionen für die aktuellen Abfragen ändern möchten, klicken Sie entweder im Menü Abfrage auf Abfrageoptionen, oder klicken Sie mit der rechten Maustaste in das Abfragefenster von SQL Server, und wählen Sie Abfrageoptionen. Klicken Sie im Dialogfeld Abfrageoptionen unter Ausführung auf ANSI.

SET ANSI_DEFAULTS

Aktivieren Sie dieses Kontrollkästchen, um alle SQL-92-Standardeinstellungen auszuwählen. Nicht alle SQL-92-Optionen sind standardmäßig ausgewählt.

SET QUOTED_IDENTIFIER

Wenn dieses Kontrollkästchen aktiviert ist, werden von SQL Server die SQL-92-Regeln hinsichtlich der doppelten Anführungszeichen zur Begrenzung von Bezeichnern und Zeichenfolgenliteralen beachtet. Bei Bezeichnern, die von Anführungszeichen begrenzt werden, kann es sich um Transact-SQL-Schlüsselwörter oder um Bezeichner mit Zeichen handeln, die nach den Transact-SQL-Syntaxregeln für Bezeichner eigentlich nicht zulässig sind. Dieses Kontrollkästchen ist standardmäßig aktiviert.

SET ANSI_NULL_DFLT_ON

Wenn dieser Wert festgelegt wird, sind in allen benutzerdefinierten Datentypen oder Spalten, die in einer CREATE TABLE- oder einer ALTER TABLE-Anweisung nicht explizit als NOT NULL definiert werden, NULL-Werte standardmäßig zulässig. Dieses Kontrollkästchen ist standardmäßig aktiviert.

SET IMPLICIT_TRANSACTIONS

Wenn dieses Kontrollkästchen aktiviert ist, setzt SET IMPLICIT_TRANSACTIONS die Verbindung in den impliziten Transaktionsmodus. Wenn dieses Kontrollkästchen deaktiviert ist, setzt der Befehl die Verbindung in den Autocommitmodus zurück. Informationen zu den Anweisungen, die eine implizite Transaktion starten, finden Sie unter SET IMPLICIT_TRANSACTIONS (Transact-SQL). Dieses Kontrollkästchen ist standardmäßig deaktiviert.

SET CURSOR_CLOSE_ON_COMMIT

Wenn dieses Kontrollkästchen aktiviert ist, werden alle geöffneten Cursor automatisch geschlossen (in Übereinstimmung mit SQL-92), sobald für eine Transaktion ein Commit ausgeführt wurde. Wenn dieser Wert auf OFF festgelegt wurde, bleiben Cursor über Transaktionsgrenzen hinweg geöffnet und werden nur geschlossen, wenn die Verbindung geschlossen wird oder die Cursor explizit geschlossen werden. Dieses Kontrollkästchen ist standardmäßig deaktiviert.

SET ANSI_PADDING

Steuert, wie Wertenamen in der Spalte gespeichert werden, wenn die Namen kürzer als die definierte Spaltengröße sind, und wie in der Spalte Werte mit nachfolgenden Leerzeichen in Daten des Typs char, varchar, binary und varbinary gespeichert werden. Diese Einstellung betrifft ausschließlich die Definition neuer Spalten. Nachdem die Spalte erstellt wurde, speichert SQL Server die Werte gemäß der Einstellung, die beim Erstellen der Spalte festgelegt war. Bestehende Spalten sind von späteren Änderungen dieser Einstellung nicht betroffen. Dieses Kontrollkästchen ist standardmäßig aktiviert.

SET ANSI_WARNINGS

Gibt das Standardverhalten von SQL-92 für verschiedene Fehlerbedingungen an:

  • Wenn dieses Kontrollkästchen aktiviert ist, wird eine Warnmeldung erstellt, wenn NULL-Werte in Aggregatfunktionen (z. B. SUM, AVG, MAX, MIN, STDEV, STDEVP, VAR, VARP oder COUNT) auftreten. Bei OFF wird keine Warnung ausgegeben.
  • Wenn dieses Kontrollkästchen deaktiviert ist, bewirken Fehler aufgrund einer Division durch null und arithmetische Überlauffehler, dass für die Anweisung ein Rollback ausgeführt und eine Fehlermeldung erstellt wird. Bei OFF bewirken Fehler aufgrund einer Division durch null und arithmetische Überlauffehler, dass NULL-Werte zurückgegeben werden. Das Verhalten, bei dem Fehler aufgrund einer Division durch null oder arithmetische Überlauffehler bewirken, dass NULL-Werte zurückgegeben werden, tritt auf, wenn ein INSERT- oder UPDATE-Vorgang in einer Spalte des Typs character, Unicode oder binary versucht wird und die Länge eines der neuen Werte die maximale Spaltengröße überschreitet. Wenn SET ANSI_WARNINGS auf ON festgelegt ist, wird der INSERT- oder UPDATE-Vorgang gemäß SQL-92-Standard abgebrochen. Nachfolgende Leerzeichen werden in Zeichenspalten ignoriert, und nachfolgende Nullen werden in Binärspalten ignoriert. Bei OFF werden Daten auf die Spaltengröße abgeschnitten, und die Anweisung wird erfolgreich ausgeführt.

Dieses Kontrollkästchen ist standardmäßig aktiviert.

SET ANSI_NULLS

  • Gibt an, dass sich die Vergleichsoperatoren Gleich (=) und Ungleich (<>) bei Verwendung mit NULL-Werten SQL-92-konform verhalten müssen. Wenn SET ANSI_NULLS ausgewählt ist, werden alle Vergleiche mit Null in Übereinstimmung mit dem Verhalten nach SQL-92 als UNKNOWN ausgewertet. Wenn SET ANSI_NULLS nicht ausgewählt ist, werden Vergleiche aller Daten mit einem NULL-Wert als TRUE ausgewertet. Dieses Kontrollkästchen ist standardmäßig aktiviert.

Standard wiederherstellen

Setzt alle auf dieser Seite verfügbaren Werte auf die ursprünglichen Standardwerte zurück.