Freigeben über


sp_serveroption (Transact-SQL)

Gilt für: SQL Server

Legt Serveroptionen für Remoteserver und Verbindungsserver fest.

Transact-SQL-Syntaxkonventionen

Syntax

sp_serveroption
    [ @server = ] N'server'
    , [ @optname = ] 'optname'
    , [ @optvalue = ] N'optvalue'
[ ; ]

Argumente

[ @server = ] N'server'

Der Name des Servers, für den die Option festgelegt werden soll. @server ist "sysname" ohne Standard.

[ @optname = ] 'optname'

Die Option, die für den angegebenen Server festgelegt werden soll. @optname ist varchar(35) ohne Standard. @optname kann jeder der folgenden Werte sein.

Wert Beschreibung
Sortierkompatibel Wirkt sich auf die Ausführung verteilter Abfragen für verknüpfte Server aus. Wenn diese Option auf true festgelegt ist, geht SQL Server davon aus, dass alle Zeichen auf dem verknüpften Server mit dem lokalen Server in Bezug auf Zeichensatz und Sortierreihenfolge (oder Sortierreihenfolge) kompatibel sind. Dies ermöglicht SQL Server, Vergleiche für Zeichenspalten an den Provider zu senden. Wird diese Option nicht festgelegt, werden vom SQL Server Vergleiche für Zeichenspalten immer lokal ausgewertet.

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.
Sortierungsname Gibt den Namen der Sortierung an, die von der Remotedatenquelle verwendet wird, wenn die Remotesortierung verwendet wird true , und die Datenquelle keine SQL Server-Datenquelle ist. Der Name muss eine von SQL Server unterstützte Sortierung sein.

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

Der Verbindungsserver muss eine einzige 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.
Timeout für die Verbindung Gibt den Timeoutwert in Sekunden für die Verbindung mit einem verknüpften Server an.

Wenn 0die Einstellung für das Verbindungstimeout den Standardwert verwendet, der für die remote login timeout (s) Einstellung konfiguriert ist. Der Standardwert für remote login timeout (s) ist 10.

Sie können diese Einstellung in der sys.configurations Katalogansicht mit der folgenden Abfrage anzeigen: SELECT name, value_in_use FROM sys.configurations WHERE name like 'remote login timeout (s)';.
Datenzugriff Aktiviert und deaktiviert den Zugriff auf verteilte Abfragen für Verbindungsserver. Kann nur für sys.server Einträge verwendet werden, die über sp_addlinkedserver.
dist Der Verteiler.
name Gibt den Namen des verknüpften Serverobjekts an.

Die Namensänderung wird in dem von der name Spalte der sys.servers Katalogansicht zurückgegebenen Wert widergespiegelt, ohne dass sich dies auf die Remotedatenquelle auswirkt.
Anbieterzeichenfolge Gibt die OLE DB-Zeichenfolge an, die die Quelle einer verknüpften Serververbindung identifiziert.

Die Änderung der Anbieterzeichenfolge wird in dem wert widergespiegelt, der von der provider_string Spalte der sys.servers Katalogansicht zurückgegeben wird.
lazy schema validation Bestimmt, ob das Schema von Remotetabellen überprüft wird.

Wenn true, überspringen Sie die Schemaüberprüfung von Remotetabellen am Anfang der Abfrage.
pub Publisher.
Abfragetimeout Gibt den Timeoutwert für Abfragen für einen verknüpften Server an.

Wenn 0, verwenden Sie die sp_configure Standardeinstellung.
rpc Aktiviert RPC von dem betreffenden Server.
rpc out Aktiviert RPC zu dem betreffenden Server.
sub Abonnent.
system Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
Remotesortierung verwenden Bestimmt, ob die Sortierung einer Remotespalte oder eines lokalen Servers verwendet wird.

Wenn truedie Sortierung von Remotespalten für SQL Server-Datenquellen verwendet wird und die im Sortierungsnamen angegebene Sortierung für Nicht-SQL Server-Datenquellen verwendet wird. Dies ist die Standardeinstellung.

Wenn falseverteilte Abfragen immer die Standardsortierung des lokalen Servers verwenden, während der Sortierungsname und die Sortierung von Remotespalten ignoriert werden.
remote proc transaction promotion Verwenden Sie diese Option, um die Aktionen einer Server-zu-Server-Prozedur durch eine Distributed Transaction Coordinator-Transaktion (MS DTC) zu schützen. Wenn diese Option (oderon) lautet true , startet das Aufrufen einer remote gespeicherten Prozedur eine verteilte Transaktion und führt die Transaktion mit MS DTC auf. Die SQL Server-Instanz, die die remote gespeicherte Prozedur aufruft, wird als Transaktionsurheber bezeichnet und steuert die Beendigung der Transaktion. Wenn eine nachfolgende COMMIT TRANSACTION- oder ROLLBACK TRANSACTION-Anweisung für die Verbindung ausgegeben wird, fordert die steuernde Instanz an, dass MS DTC den Abschluss der verteilten Transaktion über die beteiligten Computer verwaltet.

Nachdem eine transact-SQL verteilte Transaktion gestartet wurde, können Aufrufe von remote gespeicherten Prozeduren an andere Instanzen von SQL Server ausgeführt werden, die als verknüpfte Server definiert wurden. Die verknüpften Server werden alle in der verteilten Transact-SQL-Transaktion aufgelistet, und MS DTC stellt sicher, dass die Transaktion für jeden verknüpften Server abgeschlossen ist.

Wenn diese Option auf false (oder off) festgelegt ist, wird eine lokale Transaktion beim Aufrufen eines Remoteprozeduraufrufs auf einem verknüpften Server nicht zu einer verteilten Transaktion heraufgestuft.

Wenn die Transaktion vor dem Aufruf einer Server-zu-Server-Prozedur bereits eine verteilte Transaktion ist, hat diese Option keine Auswirkung. Der Prozeduraufruf für den verknüpften Server wird unter derselben verteilten Transaktion ausgeführt.

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

Der Standardwert für diese Option lautet true (oder on).

[ @optvalue = ] N'optvalue'

Gibt an, ob die @optname aktiviert werden soll (true oder on), oder deaktiviert (false oder off). @optvalue ist nvarchar(128), ohne Standard.

  • Bei den Timeout- und Abfragetimeoutoptionen kann @optvalue eine nicht negative ganze Zahl sein.

  • Bei der Sortierungsnamenoption kann @optvalue ein Sortierungsname oder NULLein Sortiername sein.

  • Bei der Namensoption kann @optvalue eine Zeichenfolge sein, die den neuen Namen der verknüpften Serververbindung darstellt.

  • Bei der Anbieterzeichenfolgenoption kann @optvalue eine Zeichenfolge sein oder NULL, die die neue OLE DB-Quelle der verknüpften Serververbindung darstellt.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

Wenn die sortierkompatible Option auf festgelegt trueist, wird der Sortierungsname automatisch auf " NULL.

Wenn der Sortierungsname auf einen Wert ungleich NULL festgelegt ist, wird die Sortierung automatisch auf " false.

Berechtigungen

Erfordert ALTER ANY LINKED SERVER-Berechtigung auf dem Server.

Beispiele

Im folgenden Beispiel wird ein verknüpfter Server konfiguriert, der einer anderen Instanz von SQL Server entspricht, SEATTLE3damit er mit der lokalen Instanz von SQL Server kompatibel ist.

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

Im folgenden Beispiel wird die verknüpfte Serververbindung in PRODVM01\ProdSQL01 LinkToProdSQL01.

USE master;
GO
EXEC sp_serveroption
    @server = N'PRODVM01\ProdSQL01',
    @optname = 'name',
    @optvalue = N'LinkToProdSQL01';
GO