sp_setnetname (Transact-SQL)
Gilt für: SQL Server
Legt die Netzwerknamen sys.servers
auf die tatsächlichen Netzwerkcomputernamen für Remoteinstanzen von SQL Server fest. Diese Prozedur kann verwendet werden, um die Ausführung von remote gespeicherten Prozeduraufrufen an Computer zu ermöglichen, die Netzwerknamen enthalten, die SQL Server-IDs enthalten, die ungültig sind.
Transact-SQL-Syntaxkonventionen
Syntax
sp_setnetname
[ @server = ] N'server'
, [ @netname = ] N'netname'
[ ; ]
Argumente
[ @server = ] N'server'
Der Name des Remoteservers, auf den in der Syntax des remotecodierten remote gespeicherten Prozeduraufrufs verwiesen wird. @server ist "sysname" ohne Standard. Genau eine Zeile in sys.servers
muss bereits vorhanden sein, um diese @server zu verwenden.
[ @netname = ] N'netname'
Der Netzwerkname des Computers, an den remote gespeicherte Prozeduraufrufe ausgeführt werden. @netname ist "sysname" ohne Standard.
Dieser Name muss mit dem Windows-Computernamen übereinstimmen, und der Name kann Zeichen enthalten, die in SQL Server-IDs nicht zulässig sind.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Keine.
Hinweise
Einige Aufrufe von remote gespeicherten Prozeduren an Windows-Computer können Probleme verursachen, wenn der Computername Bezeichner enthält, die ungültig sind.
Da sich verknüpfte Server und Remoteserver im selben Namespace befinden, können sie nicht denselben Namen haben. Sie können jedoch sowohl einen verknüpften Server als auch einen Remoteserver für einen angegebenen Server definieren, indem Sie verschiedene Namen zuweisen und sp_setnetname
den Netzwerknamen eines dieser Server auf den Netzwerknamen des zugrunde liegenden Servers festlegen.
In diesem Beispiel wird angenommen sqlserv2
, dass es sich um den tatsächlichen Namen der SQL Server-Instanz handelt.
EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';
Hinweis
Wird sp_setnetname
verwendet, um auf einen verknüpften Server zurück auf den lokalen Server zu verweisen, wird nicht unterstützt. 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 zeigt eine typische administrative Sequenz, die auf SQL Server zum Ausgeben des Remotespeicherungsprozeduraufrufs verwendet wird.
USE master;
GO
EXEC sp_addserver 'Win_1';
EXEC sp_setnetname 'Win_1', 'Win-1';
EXEC Win_1.master.dbo.sp_who;