sp_addserver (Transact-SQL)
適用於:SQL Server
定義 SQL Server 本機實例的名稱。 重新命名裝載 SQL Server 的電腦時,請使用 sp_addserver
來通知 SQL Server 實例 資料庫引擎 新的電腦名稱。 此程式必須在計算機上裝載之 資料庫引擎 的所有實例上執行。
無法變更 資料庫引擎 的實例名稱。 若要變更具名實例的實例名稱,請安裝具有所需名稱的新實例、將資料庫檔案與舊實例中斷連結、將資料庫附加至新實例,以及卸除舊實例。 或者,您可以在用戶端電腦上建立用戶端別名名稱,將連線重新導向至不同的伺服器和實例名稱或 <server>:<port>
組合,而不需變更伺服器計算機上的實例名稱。
語法
sp_addserver
[ @server = ] N'server'
[ , [ @local = ] 'LOCAL' ]
[ , [ @duplicate_ok = ] 'duplicate_OK' ]
[ ; ]
引數
[ @server = ] N'server'
伺服器的名稱。 伺服器名稱必須是唯一的,並遵循 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_OK
或 NULL
。 如果 指定了@duplicate_ok ,而且正在加入的伺服器名稱已經存在,則不會引發錯誤。 如果未使用具名參數, 則必須指定@local 。
傳回碼值
0
(成功) 或 1
(失敗)。
備註
若要設定或清除伺服器選項,請使用 sp_serveroption
。
sp_addserver
無法在使用者定義的交易內使用。
使用 sp_addserver
新增遠端伺服器已停止。 請改用 sp_addlinkedserver 。
使用 sp_addserver
來變更本地伺服器名稱,在使用可用性群組或複寫時,可能會導致不想要的效果或不支援的組態。
權限
需要 setupadmin 固定伺服器角色的成員資格。
範例
下列範例會將載入 SQL Server 之電腦的 資料庫引擎 項目變更為 ACCOUNTS
。
EXEC sp_addserver 'ACCOUNTS', 'local';