sp_addserver (Transact-SQL)

適用於:SQL Server

定義 SQL Server 本機實例的名稱。 重新命名裝載 SQL Server 的電腦時,請使用 sp_addserver 來通知 SQL Server 實例 資料庫引擎 新的電腦名稱。 此程式必須在計算機上裝載 資料庫引擎 的所有實例上執行。 無法變更 資料庫引擎 的實例名稱。 若要變更具名實例的實例名稱,請安裝具有所需名稱的新實例、將資料庫檔案與舊實例中斷連結、將資料庫附加至新實例,以及卸除舊實例。 或者,您可以在用戶端計算機上建立用戶端別名名稱,將連線重新導向至不同的伺服器和實例名稱或 server:port 組合,而不需變更伺服器電腦上的實例名稱。

Transact-SQL 語法慣例

語法

sp_addserver
    [ @server = ] N'server'
    [ , [ @local = ] 'LOCAL' ]
    [ , [ @duplicate_ok = ] 'duplicate_OK' ]
[ ; ]

引數

[ @server = ] N'server'

伺服器的名稱。 伺服器名稱必須是唯一的,並且遵循 Microsoft Windows 計算機名稱的規則,雖然不允許空格。 @server為 sysname,沒有預設值。

在計算機上安裝多個 SQL Server 實例時,實例的運作方式就如同是在個別伺服器上一樣。 藉由將 @server<servername>\<instancename>稱為 來指定具名實例。

[ @local = ] 'LOCAL'

指定將伺服器新增為本地伺服器。 @local為 varchar(10),預設值為 NULL。 將 @local 指定為 LOCAL ,將 @server 定義為本地伺服器的名稱,並讓函@@SERVERNAME式傳回 @server 的值

SQL Server 安裝程式會將此變數設定為安裝期間的電腦名稱。 根據預設,計算機名稱是用戶連線到 SQL Server 實例的方式,而不需要額外的設定。

本機定義只有在重新啟動 資料庫引擎後才會生效。 每個 資料庫引擎 實例中只能定義一個本地伺服器。

[ @duplicate_ok = ] 'duplicate_OK'

指定是否允許重複的伺服器名稱。 @duplicate_ok為 varchar(13),預設值為 NULL@duplicate_ok只能有 值 duplicate_OKNULL。 如果 指定了@duplicate_ok ,而且正在加入的伺服器名稱已經存在,則不會引發錯誤。 如果未使用具名參數, 則必須指定@local

傳回碼值

0 (成功)或 1 (失敗)。

備註

若要設定或清除伺服器選項,請使用 sp_serveroption

sp_addserver 無法在使用者定義的交易內使用。

使用 sp_addserver 新增遠端伺服器已停止。 請改用 sp_addlinkedserver

使用 sp_addserver 來變更本地伺服器名稱,在使用可用性群組或複寫時,可能會導致不想要的效果或不支援的組態。

權限

需要 setupadmin 固定伺服器角色的成員資格。

範例

下列範例會將載入 SQL Server 之電腦的 資料庫引擎 項目變更為 ACCOUNTS

EXEC sp_addserver 'ACCOUNTS', 'local';