sp_addserver (Transact-SQL)
Definiert den Namen der lokalen Instanz von SQL Server.Wenn der Computer, der SQL Server hostet, umbenannt wird, verwenden Sie sp_addserver, um der SQL Server-Datenbankmodul-Instanz den neuen Computernamen mitzuteilen.Diese Prozedur muss in allen auf dem Computer gehosteten Datenbankmodul-Instanzen ausgeführt werden.Der Instanzname von Datenbankmodul kann nicht geändert werden.Installieren Sie zum Ändern des Instanznamens für eine benannte Instanz eine neue Instanz mit dem gewünschten Namen, trennen Sie die Datenbankdateien aus der alten Instanz, fügen Sie der neuen Instanz die Datenbanken an, und löschen Sie die alte Instanz.Alternativ können Sie einen Aliasnamen für den Client auf dem Clientcomputer erstellen, um die Verbindung auf einen anderen Server- und Instanznamen oder die Server: Port-Kombination umzuleiten, ohne den Namen der Instanz auf dem Computer zu ändern.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version). |
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 Standardwert.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, dass der Server als lokaler Server hinzugefügt wird.@local ist 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.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 Neustarten von Datenbankmodul wirksam.In jeder Instanz von Datenbankmodul kann nur ein lokaler Server definiert werden.
[ @duplicate_ok = ] 'duplicate_OK'
Gibt an, ob ein doppelter Servername zulässig ist.@duplicate_OK ist 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
Verwenden Sie sp_serveroption, um Serveroptionen festzulegen oder zu löschen.
sp_addserver kann nicht innerhalb einer benutzerdefinierten Transaktion verwendet werden.
Die Verwendung von sp_addserver zum Hinzufügen eines Remoteservers wird eingestellt.Verwenden Sie stattdessen sp_addlinkedserver.
Berechtigungen
Erfordert die Mitgliedschaft in der festen Serverrolle setupadmin.
Beispiele
Im folgenden Beispiel wird der Datenbankmodul-Eintrag für den Namen des Computers, der SQL Server hostet, in ACCOUNTS geändert.
sp_addserver 'ACCOUNTS', 'local';
Siehe auch
Umbenennen eines Computers, der eine eigenständige Instanz von SQL Server hostet
sp_addlinkedserver (Transact-SQL)
sp_dropserver (Transact-SQL)
sp_helpserver (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Sicherheitsprozeduren (Transact-SQL)