修改SQL Server名稱(@@ServerName)
由於安裝SQL Server2005 之後,改了電腦的名稱(xiage),
但是資料庫的@@ServerName 返回的還是 FB4B6C04012D449/SQLEXPRESS (原來預設的電腦名稱/sqlexpress的樣子.並沒有自動更新.)
我們可以通過 刪除和添加服務 來更改設定.
修改前
select @@Servername
結果
--FB4B6C04012D449/SQLEXPRESS
修改後
select @@Servername
結果
--xiage/sqlexpress
調用系統預存程序修改服務
刪除服務
sp_dropserver 'FB4B6C04012D449/SQLEXPRESS', null
添加新的服務
sp_addserver 'xiage/sqlexpress' ,'LOCAL',null
摘錄自:SQL Server 聯機叢書
1.sp_dropserver
從本地 SQL Server 執行個體中的已知遠程伺服器和連結的伺服器的列表中刪除伺服器。
文法 sp_dropserver [ @server = ] 'server' [ , [ @droplogins = ] { 'droplogins' | NULL} ]
接伺服器之前必須刪除登入名稱。若要在刪除伺服器時刪除伺服器的所有遠程伺服器和連結的伺服器登入名稱,請使用 droplogins 參數。
參數
[ @server = ] 'server'
要刪除的伺服器。server 的資料類型為 sysname,無預設值。server 必須存在。
[ @droplogins = ] 'droplogins' | NULL
指示如果指定了 droplogins,那麼對於 server,還必須刪除相關的遠程伺服器和連結的伺服器登入名稱。@droplogins 的資料類型為 char(10
),預設值為 NULL。
傳回碼值 0(成功)或 1(失敗)
許可權 需要對伺服器具有 ALTER ANY LINKED SERVER 許可權。
2.sp_addserver
定義遠程伺服器或本地 SQL Server 執行個體的名稱。
文法 sp_addserver [ @server = ] 'server' [ , [ @local= ] 'local' ] [ , [ @duplicate_ok = ] 'duplicate_OK' ]
備忘
若要在運行早期版本的 SQL Server 的遠程伺服器上執行預存程序(遠端程序呼叫),請使用 sp_addserver 添加遠程伺服器。若要在運
行 SQL Server 7.0 版或更高版本的遠程伺服器上執行預存程序或任何分散式查詢,請使用 sp_addlinkedserver 添加伺服器。
若要設定或清除伺服器選項,請使用 sp_serveroption。
在使用者定義的事務內不能使用 sp_addserver。
參數
[ @server = ] '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_OK 或 NULL
這兩個值。如果指定了 duplicate_OK 且要添加的伺服器名稱已經存在,則不會發生錯誤。如果未使用具名引數,則必須指定 @local。
傳回碼值: 0(成功)或 1(失敗)
許可權: 要求具有 setupadmin 固定伺服器角色的成員資格。