sys.sp_setnetname (Transact-SQL)

platí pro:SQL Server

Nastavuje názvy sítí do sys.servers skutečných názvů jejich síťových počítačů pro vzdálené instance SQL Server. Tento postup lze použít k umožnění vykonávání vzdálených volání uložených procedur na počítačích, jejichž síťová jména obsahují neplatné identifikátory SQL Server.

Transact-SQL konvence syntaxe

Syntax

sys.sp_setnetname
    [ @server = ] N'server'
    , [ @netname = ] N'netname'
[ ; ]

Argumenty

[ @server = ] N' server'

Název vzdáleného serveru, jak je uveden v syntaxi vzdálených uložených procedur kódovaných uživatelem. @server je sysname , bez výchozího nastavení. Přesně jeden řádek musí sys.servers již existovat, aby bylo možné použít tento @server.

[ @netname = ] N'netname'

Síťový název počítače, na který jsou vzdáleně volány uložené procedury. @netname je sysname, bez výchozího nastavení.

Tento název musí odpovídat názvu počítače Windows a může obsahovat znaky, které nejsou povoleny v identifikátorech SQL Server.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

None.

Remarks

Některá vzdálená volání uložených procedur na počítačích Windows mohou narazit na problémy, pokud název počítače obsahuje identifikátory, které nejsou platné.

Protože propojené a vzdálené servery sídlí ve stejném jmenném prostoru, nemohou mít stejný název. Můžete však definovat jak propojený server, tak vzdálený server vůči specifikovanému serveru přiřazením různých jmen a použitím sp_setnetname pro nastavení síťového názvu jednoho z nich na síťové jméno základního serveru.

V tomto příkladu je Assume sqlserv2 skutečný název instance SQL Server.

EXECUTE sp_addlinkedserver 'sqlserv2';
GO

EXECUTE sp_addserver 'rpcserv2';
GO

EXECUTE sp_setnetname 'rpcserv2', 'sqlserv2';

Note

Použití sp_setnetname k nasměrování propojeného serveru zpět na lokální server není podporováno. Servery, na které se takto odkazuje, se nemohou účastnit distribuované transakce.

Permissions

Vyžaduje členství v rolích správce systému a setupadmina na pevném serveru.

Examples

Následující příklad ukazuje typickou administrativní sekvenci používanou na SQL Server pro vydání vzdáleného volání uložené procedury.

USE master;
GO

EXECUTE sp_addserver 'Win_1';
EXECUTE sp_setnetname 'Win_1', 'Win-1';
EXECUTE Win_1.master.dbo.sp_who;