Freigeben über


Verwenden von Optionen in SQL Server

MicrosoftSQL Server bietet Optionen, die sich auf das Ergebnis und die Leistung von SQL-Anweisungen auswirken. Sie können diese Optionen folgendermaßen festlegen:

  • Verwenden Sie die gespeicherte Prozedur sp_configure, um instanzweite Konfigurationsoptionen festzulegen.

  • Verwenden Sie die Anweisung ALTER DATABASE SET-Optionen, um Optionen auf Datenbankebene festzulegen.

  • Verwenden Sie die Anweisung ALTER DATABASE-Kompatibilitätsgrad, um den Datenbank-Kompatibilitätsgrad festzulegen.

  • Verwenden Sie die SET-Anweisungen, z. B. SET ANSI_PADDING und SET ANSI_NULLS, um Optionen (SET-Optionen) auf Batchebene festzulegen.

    HinweisHinweis

    Optionen auf Batchebene werden in früheren Versionen von SQL Server und in Verbindungen, die Multiple Active Result Sets (MARS) deaktiviert haben, als Optionen auf Verbindungsebene bezeichnet.

  • Verwenden Sie die einzelnen Transact-SQL-Anweisungen, um Optionen auf Anweisungsebene, wie z. B. Abfragehinweise, Tabellenhinweise oder Verknüpfungshinweise, festzulegen. Weitere Informationen finden Sie unter Hinweise (Transact-SQL).

ODBC-Anwendungen können Verbindungsoptionen angeben, die einige der ANSI SET-Optionen steuern. Sowohl der OLE DB-Anbieter von SQL Server Native Client für SQL Server als auch der ODBC-Treiber von SQL Server Native Client legen standardmäßig mehrere SET-Optionen fest.

Vermeiden Sie, SET-Optionen zu ändern und durch die SET-Anweisungen festzulegen. Vielmehr wird empfohlen, dass SET-Optionen auf der Verbindungsebene durch die Verbindungseigenschaften von ODBC oder OLE DB festgelegt werden. Alternativ können Sie die SET-Optionseinstellungen mit der gespeicherten Prozedur sp_configure ändern.

sp_configure stellt die Option user options bereit. Damit können Sie die Standardwerte mehrerer SET-Optionen ändern. Obwohl user options eine Instanzoption zu sein scheint, handelt es sich um eine SET-Option.

Hierarchie der Optionen

Wenn eine Option auf mehr als einer Ebene unterstützt wird, gilt folgende Hierarchie:

  1. Eine Datenbankoption setzt eine Instanzoption außer Kraft.

  2. Eine SET-Option setzt eine Datenbankoption außer Kraft.

  3. Ein Hinweis setzt eine SET-Option außer Kraft.

HinweisHinweis

SET-Optionen, die innerhalb eines dynamischen SQL-Batches festgelegt sind, beeinflussen nur den Gültigkeitsbereich dieses Batches.

HinweisHinweis

SET-Optionen, wie z. B. QUOTED_IDENTIFIER und ANSI_NULLS, werden mit der gespeicherten Prozedurdefinition beibehalten und haben daher Vorrang vor verschiedenen Werten, die explizit für sie festgelegt sind.