Share via


@@OPTIONS (Transact-SQL)

Gibt Informationen zu den aktuellen SET-Optionen zurück.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

@@OPTIONS

Rückgabetypen

integer

Hinweise

Die Optionen können aus der Verwendung des Befehls SET oder aus dem Wertsp_configure user options stammen. Mit dem Befehl SET konfigurierte Sitzungswerte überschreiben die sp_configure-Optionen. In vielen Tools (z. B. Management Studio) werden die festgelegten Optionen automatisch konfiguriert. Jeder Benutzer hat eine @@OPTIONS-Funktion, die die Konfiguration darstellt.

Sie können die Sprache und die Abfrageverarbeitungsoptionen für eine bestimmte Benutzersitzung mithilfe der SET-Anweisung ändern. @@OPTIONS kann nur die Optionen erkennen, die auf ON oder OFF gesetzt ist.

Die Funktion @@OPTIONS gibt eine Bitmap der Optionen zurück, umgewandelt in eine Dezimalzahl mit der Basis 10. Die Bit-Einstellungen sind an den im Thema Konfigurieren der Serverkonfigurationsoption Benutzeroptionen beschriebenen Speicherorten gespeichert.

Wenn Sie den Wert @@OPTIONS dekodieren möchten, wandeln Sie die von @@OPTIONS zurückgegebene Ganzzahl in einen Binärwert um, und suchen Sie die Werte anschließend in der Tabelle oben. Wenn z. B. SELECT @@OPTIONS; den Wert 5496 zurückgibt, verwenden Sie den Windows-Rechner für Programmierer (calc.exe), um die Dezimalzahl 5496 in einen Binärwert umzuwandeln. Das Ergebnis ist 1010101111000. Die äußeren linken Zeichen (binäre 1, 2 und 4) sind 0, wodurch angezeigt wird, dass IMPLICIT_TRANSACTIONS und CURSOR_CLOSE_ON_COMMIT ausgeschaltet sind. Das nächste Element (ANSI_WARNINGS in der Position 1000) ist eingeschaltet. Fahren Sie fort, sich durch die Bitmap durchzuarbeiten und in der Liste der Optionen nach unten zu gehen. Wenn die äußeren rechten Optionen 0 sind, werden sie durch die Typkonvertierung abgeschnitten. Die Bitmap 1010101111000 ist in Wirklichkeit 001010101111000, um alle 15 Optionen darzustellen.

Beispiele

A.Demonstration der Auswirkung der Änderungen auf das Verhalten

Das folgende Beispiel zeigt den Unterschied im Verkettungsverhalten mit zwei verschiedenen Einstellungen der Option CONCAT_NULL_YIELDS_NULL.

SELECT @@OPTIONS AS OriginalOptionsValue;
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL AS ResultWhen_OFF, @@OPTIONS AS OptionsValueWhen_OFF;

SET CONCAT_NULL_YIELDS_NULL ON;
SELECT 'abc' + NULL AS ResultWhen_ON, @@OPTIONS AS OptionsValueWhen_ON;

B.Testen einer Client-NOCOUNT-Sitzung

Das folgende Beispiel legt NOCOUNT ON fest und testet dann den Wert für @@OPTIONS. Die Option NOCOUNT ON verhindert, dass die Nachricht über die Anzahl von betroffenen Zeilen an den anfordernden Client für jede Anweisung in einer Sitzung zurückgegeben wird. Für den Wert von @@OPTIONS wird 512 (0x0200) festgelegt. Dies stellt die Option NOCOUNT dar. Dieses Beispiel testet, ob die Option NOCOUNT auf dem Client aktiviert wurde. Dadurch können beispielsweise Leistungsunterschiede auf einem Client nachverfolgt werden.

SET NOCOUNT ON
IF @@OPTIONS & 512 > 0 
RAISERROR ('Current user has SET NOCOUNT turned on.', 1, 1)

Siehe auch

Verweis

Konfigurationsfunktionen (Transact-SQL)

sp_configure (Transact-SQL)

Konzepte

Konfigurieren der Serverkonfigurationsoption Benutzeroptionen