sp_serveroption (Transact-SQL)

Legt Serveroptionen für Remoteserver und Verbindungsserver fest.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_serveroption [@server = ] 'server' 
      ,[@optname = ] 'option_name'     
      ,[@optvalue = ] 'option_value' ;

Argumente

  • [ @server = ] 'server'
    Der Name des Servers, für den die Option festgelegt werden soll. server ist ein Wert vom Datentyp sysname und weist keinen Standardwert auf.

  • [ @optname = ] 'option_name'
    Die Option, die für den angegebenen Server festgelegt werden soll. option_name ist ein Wert vom Datentyp varchar(35) und weist keinen Standardwert auf. Die folgenden Werte sind für option_name möglich:

    Wert

    Beschreibung

    collation compatible

    Betrifft die Ausführung verteilter Abfragen für Verbindungsserver. Wenn diese Option auf true festgelegt ist, wird in SQL Server vorausgesetzt, dass alle Zeichen auf dem Verbindungsserver bezüglich Zeichensatz und Sortierreihenfolge mit dem lokalen Server kompatibel sind. Dies ermöglicht SQL Server, Vergleiche für Zeichenspalten an den Anbieter zu senden. Wenn diese Option nicht festgelegt wird, wertet SQL Server Vergleiche für Zeichenspalten immer lokal aus.

    Diese Option sollte nur festgelegt werden, wenn sicher ist, dass die Datenquelle, die dem Verbindungsserver entspricht, den gleichen Zeichensatz und die gleiche Sortierreihenfolge wie der lokale Server verwendet.

    collation name

    Gibt den Namen der von der Remotedatenquelle verwendeten Sortierung an, wenn für use remote collation der Wert true festgelegt ist und es sich bei der Datenquelle nicht um eine SQL Server-Datenquelle handelt. Der Name muss eine von SQL Server unterstützte Sortierung sein.

    Verwenden Sie diese Option beim Zugreifen auf eine OLE DB-Datenquelle, die keine SQL Server-Datenquelle ist, deren Sortierung jedoch mit einer der SQL Server-Sortierungen übereinstimmt.

    Der Verbindungsserver muss eine einzelne Sortierung unterstützen, die für alle Spalten in diesem Server verwendet wird. Legen Sie diese Option nicht fest, wenn der Verbindungsserver mehrere Sortierungen in einer einzelnen Datenquelle unterstützt oder wenn festgestellt wird, dass die Sortierung des Verbindungsservers nicht mit einer der SQL Server-Sortierungen übereinstimmt.

    connect timeout

    Timeoutwert in Sekunden für das Herstellen einer Verbindung mit einem Verbindungsserver.

    Wenn der Wert 0 ist, verwenden Sie den Standardwert von sp_configure.

    data access

    Aktiviert und deaktiviert den Zugriff auf verteilte Abfragen für Verbindungsserver. Diese Option kann nur für sys.server-Einträge verwendet werden, die mit sp_addlinkedserver hinzugefügt wurden.

    dist

    Der Verteiler.

    lazy schema validation

    Bestimmt, ob das Schema von Remotetabellen überprüft wird.

    Ist der Wert true, wird zu Beginn der Abfrage die Schemaüberprüfung für Remotetabellen ausgelassen.

    pub

    Der Verleger.

    query timeout

    Timeoutwert für Abfragen auf einem Verbindungsserver.

    Wenn der Wert 0 ist, verwenden Sie den Standardwert von sp_configure.

    rpc

    Aktiviert RPC von dem betreffenden Server.

    rpc out

    Aktiviert RPC zu dem betreffenden Server.

    sub

    Der Abonnent.

    system

    Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

    use remote collation

    Bestimmt, ob die Sortierung einer Remotespalte oder eines lokalen Servers verwendet wird.

    Wenn true festgelegt ist, wird für SQL Server-Datenquellen die Sortierung der Remotespalten und für Datenquellen, die keine SQL Server-Datenquellen sind, die in collation name angegebene Sortierung verwendet.

    Wenn false festgelegt ist, verwenden verteilte Abfragen immer die Standardsortierung des lokalen Servers, während collation name und die Sortierung von Remotespalten ignoriert werden. Der Standardwert ist false. (Der Wert false ist mit der in SQL Server 7.0 verwendeten Sortierungssemantik kompatibel.)

    remote proc transaction promotion

    Verwenden Sie diese Option, um die Aktionen einer Server-zu-Server-Prozedur durch eine Microsoft Distributed Transaction Coordinator-Transaktion (MS DTC) zu schützen. Wenn diese Option auf TRUE (oder ON) festgelegt ist und eine remote gespeicherte Prozedur aufgerufen wird, wird eine verteilte Transaktion gestartet und bei MS DTC eingetragen. Die SQL Server-Instanz, die die remote gespeicherte Prozedur aufruft, wird als Transaktionsurheber bezeichnet und steuert die Beendigung der Transaktion. Wenn im Anschluss eine COMMIT TRANSACTION- oder ROLLBACK TRANSACTION-Anweisung für die Verbindung ausgegeben wird, fordert die steuernde Instanz MS DTC auf, die Beendigung der verteilten Transaktion auf den beteiligten Computern zu verwalten.

    Nachdem eine verteilte Transact-SQL-Transaktion gestartet wurde, können Aufrufe remote gespeicherter Prozeduren für weitere SQL Server-Instanzen erfolgen, die als Verbindungsserver definiert wurden. Alle Verbindungsserver werden in der verteilten Transact-SQL-Transaktion eingetragen, und MS DTC stellt sicher, dass die Transaktion für jeden Verbindungsserver abgeschlossen wird.

    Wenn diese Option auf FALSE (oder OFF) festgelegt ist, wird eine lokale Transaktion beim Aufruf einer remote gespeicherten Prozedur für einen Verbindungsserver nicht zu einer verteilten Transaktion höher gestuft.

    Falls die Transaktion vor dem Server-zu-Server-Prozeduraufruf bereits eine verteilte Transaktion ist, hat diese Option keine Auswirkung. Der Prozeduraufruf für einen Verbindungsserver wird unter der gleichen verteilten Transaktion ausgeführt.

    Falls vor dem Server-zu-Server-Prozeduraufruf keine Transaktion in der Verbindung aktiv ist, hat diese Option keine Auswirkung. Die Prozedur wird dann für einen Verbindungsserver ohne aktive Transaktionen ausgeführt.

    Der Standardwert für diese Option ist TRUE (oder ON).

  • [ @optvalue =] 'option_value'
    Gibt an, ob option_name aktiviert (TRUE oder on) oder deaktiviert (FALSE oder off) werden soll. option_value ist ein Wert vom Datentyp varchar(10) und weist keinen Standardwert auf.

    option_value kann für die Optionen connect timeout und query timeout eine nicht negative ganze Zahl sein. Für die Option collation name kann option_value ein Name für die Sortierung oder NULL sein.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Wenn die Option collation compatible auf TRUE festgelegt ist, wird collation name automatisch auf NULL festgelegt. Wenn collation name auf einen anderen Wert als NULL festgelegt ist, wird collation compatible automatisch auf FALSE festgelegt.

Berechtigungen

Setzt die ALTER ANY LINKED SERVER-Berechtigung auf dem Server voraus.

Beispiele

Im folgenden Beispiel wird ein Verbindungsserver, der einer anderen SQL Server-Instanz (SEATTLE3) entspricht, so konfiguriert, dass seine Sortierung mit der Sortierung der lokalen SQL Server-Instanz kompatibel ist.

USE master;
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true';