sp_setnetname (Transact-SQL)

Legt die Netzwerknamen in sys.servers auf die tatsächlichen Netzwerk-Computernamen 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. In sys.servers muss bereits genau eine Zeile vorhanden sein, um diesen server zu verwenden. server ist vom Datentyp sysname und besitzt keinen Standardwert.

  • @netname ='network_name'
    Der Netzwerkname des Computers, an den Aufrufe einer remote gespeicherten Prozedur erfolgen. network_name ist vom Datentyp sysname und besitzt keinen Standard.

    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;