共用方式為


sp_setnetname (Transact-SQL)

sys.servers 中的網路名稱設為 SQL Server 遠端執行個體的實際網路電腦名稱。 這個程序可用來啟用對於網路名稱含有無效 SQL Server 識別碼之電腦的遠端預存程序呼叫。

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

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

引數

  • @server = ' server '
    這是使用者編寫的遠端預存程序呼叫語法所參考的遠端伺服器名稱。 sys.servers 必須有正好一個資料列使用這個 server。 server 是 sysname,沒有預設值。

  • @netname =' network_name '
    這是遠端預存程序呼叫的目標電腦網路名稱。 network_name 是 sysname,沒有預設值。

    這個名稱必須符合 Microsoft Windows 電腦名稱,且這個名稱可以包括 SQL Server 識別碼不允許使用的字元。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

如果電腦名稱包含無效的識別碼,有些對 Windows 電腦的遠端預存程序呼叫可能會發生問題。

由於連結伺服器和遠端伺服器在相同命名空間中,因此,它們的名稱不能相同。 不過,您可以針對一部指定伺服器來同時定義連結伺服器和遠端伺服器,先指派不同的名稱給這兩部伺服器,再利用 sp_setnetname,將其中一部伺服器的網路名稱設為基礎伺服器的網路名稱。

--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 固定伺服器角色中的成員資格。

範例

下列範例會顯示在 SQL Server 上,用來發出遠端預存程序呼叫的一般管理順序。

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

請參閱

參考

Database Engine 預存程序 (Transact-SQL)

sp_addlinkedserver (Transact-SQL)

sp_addserver (Transact-SQL)

系統預存程序 (Transact-SQL)