將 sysservers 中的網(wǎng)絡名稱設置為用于遠程 Microsoft® SQL Server™ 實例的實際網(wǎng)絡計算機名。該過程可用于啟用對計算機(其網(wǎng)絡名稱中包含無效的 SQL Server 標識符)的遠程存儲過程調(diào)用執(zhí)行。
sp_setnetname @server = 'server',
@netname =
'network_name'
@server = 'server'
是在用戶編碼的遠程存儲過程調(diào)用語法中引用的遠程服務器名。sysservers 中必須正好已有一行要使用該 server。server 的數(shù)據(jù)類型是 sysname,沒有默認設置。
@netname = 'network_name'
是對其執(zhí)行遠程存儲過程調(diào)用的計算機網(wǎng)絡名稱。network_name 的數(shù)據(jù)類型是 sysname,沒有默認設置。
該名稱必須與 Microsoft Windows NT® 計算機名匹配,并且可以包含 SQL Server 標識符中不允許的字符。
如果 SQL Server 計算機中定義了與 network_name 匹配的 DB-Library 別名,則該別名中的連接字符串信息用于連接到遠程 SQL Server。
0(成功)或 1(失敗)
無
如果計算機名包含無效的標識符,對 Windows NT 計算機的一些遠程存儲過程調(diào)用則可能遇到問題。使用該過程區(qū)別 sysservers.srvname 和 sysservers.srvnetname 之間的值。
因為鏈接服務器和遠程服務器駐留在相同的命名空間內(nèi),所以它們的名稱不能相同。不過,通過指派不同的名稱并使用 sp_setnetname 將其中一臺服務器的網(wǎng)絡名稱設置為基礎服務器的網(wǎng)絡名稱,則可以在給定的服務器上同時定義鏈接服務器和遠程服務器。
--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'
說明 不支持使用 sp_setnetname 將鏈接服務器指回本地服務器。以這種方式引用的服務器不能參與分布式事務。
只有 sysadmin 和 setupadmin 固定服務器角色的成員才能執(zhí)行此過程。
下例顯示在 SQL Server 上發(fā)出遠程存儲過程調(diào)用所使用的典型管理序列。
USE master
EXEC sp_addserver 'Win_NT1'
EXEC sp_setnetname 'Win_NT1','Win-NT1'
EXEC Win_NT1.master.dbo.sp_who
相關文章