sp_addserver (Transact-SQL)

Definiert den Namen der lokalen Instanz von SQL Server. Diese gespeicherte Prozedur definiert auch einen Remoteserver.

HinweisHinweis

Remoteserverfunktionalität wird in der nächsten Version von SQL Server entfernt. Verwenden Sie zum Definieren von Verbindungsservern stattdessen sp_addlinkedserver.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_addserver [ @server = ] 'server' 
     [ , [ @local= ] 'local' ] 
     [ , [ @duplicate_ok = ] 'duplicate_OK' ]

Argumente

  • [ @server = ] 'server'
    Der Name des Servers. Servernamen müssen eindeutig sein und den Regeln für Microsoft Windows-Computernamen entsprechen; es sind jedoch keine Leerzeichen zulässig. server ist vom Datentyp sysname und hat keinen Standard.

    Sind mehrere SQL Server-Instanzen auf einem Computer installiert, verhält sich jede Instanz so, als ob sie sich auf einem gesonderten Server befindet. Geben Sie eine benannte Instanz an, indem Sie auf server als servername\instancename verweisen.

  • [ @local = ] 'LOCAL'
    Gibt an, ob es sich bei dem hinzugefügten Server um einen lokalen oder einen Remoteserver handelt. @local ist ein Wert vom Datentyp varchar(10); der Standard ist NULL. Durch Angeben von @local als LOCAL wird @server als Name des lokalen Servers definiert, und die @@SERVERNAME-Funktion gibt den Wert von server zurück.

    SQL Server Setup legt diese Variable während der Installation auf den Computernamen fest. Es wird empfohlen, den Namen nicht zu ändern. Standardmäßig melden sich Benutzer mit dem Computernamen bei einer SQL Server-Instanz an, ohne dass zusätzliche Konfigurationsschritte erforderlich sind.

    Die lokale Definition wird erst nach dem Herunterfahren und dem Neustarten des Servers wirksam. Es kann nur ein lokaler Server auf jedem einzelnen Server definiert werden.

  • [ @duplicate_ok = ] 'duplicate_OK'
    Gibt an, ob ein doppelter Servername zulässig ist. @duplicate_OK ist ein Wert vom Datentyp varchar(13); der Standard ist NULL. Für @duplicate_OK ist nur der Wert duplicate_OK oder NULL möglich. Wenn duplicate_OK angegeben wird und der hinzugefügte Servername bereits vorhanden ist, wird kein Fehler ausgelöst. @local muss angegeben werden, wenn keine benannten Parameter verwendet werden.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Um eine gespeicherte Prozedur auf einem Remoteserver auszuführen (Remoteprozeduraufrufe), auf dem eine frühere Version von SQL Server ausgeführt wird, fügen Sie den Remoteserver mithilfe von sp_addserver hinzu. Zum Ausführen einer gespeicherten Prozedur oder einer beliebigen verteilten Abfrage auf einem Remoteserver, der SQL Server, Version 7.0 oder höher, ausführt, fügen Sie den Server mithilfe von sp_addlinkedserver hinzu.

Verwenden Sie sp_serveroption, um Serveroptionen festzulegen oder zu löschen.

sp_addserver kann nicht innerhalb einer benutzerdefinierten Transaktion verwendet werden.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle setupadmin.

Beispiele

Im folgenden Beispiel wird ein Eintrag für den Remoteserver ACCOUNTS auf dem lokalen Server erstellt.

sp_addserver 'ACCOUNTS';