Freigeben über


sp_setnetname (Transact-SQL)

Legt die Netzwerknamen in sys.servers auf die tatsächlichen Netzwerkcomputernamen für Remoteinstanzen von SQL Server fest. Mit dieser Prozedur können Aufrufe einer remote gespeicherten Prozedur für Computer aktiviert werden, deren Netzwerknamen ungültige SQL Server-Bezeichner enthalten.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_setnetname 
@server = 'server', 
     @netname = 'network_name'

Argumente

  • @server = ' server '
    Der Name des Remoteservers, wie er in der vom Benutzer codierten Syntax für den Aufruf einer remote gespeicherten Prozedur angesprochen wird. Für die Verwendung dieses server muss in sys.servers bereits genau eine Zeile vorhanden sein. server ist vom Datentyp sysname und hat keinen Standardwert.

  • @netname =' network_name '
    Der Netzwerkname des Computers, an den Aufrufe remote gespeicherter Prozeduren gesendet werden. network_name ist vom Datentyp sysname und hat keinen Standardwert.

    Dieser Name muss mit dem Namen des Microsoft Windows-Computernamens übereinstimmen und kann Zeichen enthalten, die in SQL Server-Bezeichnern nicht zulässig sind.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Bei einigen Aufrufen einer remote gespeicherten Prozedur, die Computer unter Windows betreffen, können Probleme auftreten, wenn der Computername ungültige Bezeichner enthält.

Da sich Verbindungsserver und Remoteserver im selben Namespace befinden, können sie nicht dieselben Namen haben. Sie können jedoch einen Verbindungsserver und einen Remoteserver für einen angegebenen Server definieren, indem Sie verschiedene Namen zuweisen und mit sp_setnetname den Netzwerknamen eines der Server auf den Netzwerknamen des zugrunde liegenden Servers festlegen.

--Assume sqlserv2 is actual name of SQL Server 
--database server
EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';
HinweisHinweis

Es ist nicht möglich, mit sp_setnetname einen Verbindungsserver auf den lokalen Server zurückzuverweisen. Server, auf die auf diese Weise verwiesen wird, können nicht an einer verteilten Transaktion teilnehmen.

Berechtigungen

Erfordert die Mitgliedschaft in den festen Serverrollen sysadmin und setupadmin.

Beispiele

Das folgende Beispiel enthält eine typische Befehlsfolge für SQL Server, um den Aufruf einer remote gespeicherten Prozedur auszugeben.

USE master;
GO
EXEC sp_addserver 'Win_1';
EXEC sp_setnetname 'Win_1','Win-1';
EXEC Win_1.master.dbo.sp_who;

Siehe auch

Verweis

Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)

sp_addlinkedserver (Transact-SQL)

sp_addserver (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)