MS SQL 能否修改實例名稱


前幾天研究了了一下修改數據庫名稱的方式后,今天突然冒出一個問題,MS SQL的命名實例是否也可以修改呢?例如下圖,我在本機上安裝了一個命名實例GSP,如果我想將其改為GSPS,能行嗎? 如果可以,那么該怎么做呢?

clipboard

該如何下手呢,真的不知道怎么做,畢竟以前都沒有做過修改命令實例(當然修改計算機名稱是另外一回事),先從網上搜索資料吧,結果,搜索到一堆不相關的資料,其實都不是真正的修改命名實例名稱,只是修改計算機名稱。不過最后搜索到一點有用的信息http://www.itpub.net/thread-1047040-1-1.html, 不過呢,我按照其操作去實現的時候,發現根本行不通。

修改sysservers腳本
  1.   EXEC sp_configure'allow updates', 1;
  2.  
  3.   RECONFIGURE WITH OVERRIDE;
  4.  
  5.   GO
  6.  
  7.  
  8.   UPDATE master..sysservers SET srvname='A8BEC8491730444\GSPS', dataaccess='A8BEC8491730444\GSPS',
  9.  
  10.            srvnetname='A8BEC8491730444\GSPS'
  11.  
  12.        WHERE srvname ='A8BEC8491730444\GSPS';
  13.  
  14.       
  15.  
  16.   EXEC sp_configure'allow updates', 0;
  17.  
  18.   RECONFIGURE WITH OVERRIDE;
  19.  
  20.   GO

因為sql server 2005 和 sql server 2008 不再支持直接對系統表進行修改,上面語句會報如下錯誤。

消息 259,級別 16,狀態 1,第 2 行

不允許對系統目錄進行即席更新。

那么接下來我們來看看修改計算機名稱,會給數據庫帶來什么影響,我把計算機名稱從A8BEC8491730444改為Kerry,然后重啟機器和服務,執行下面腳本

Code Snippet
  1. USE master;
  2.  
  3. GO
  4.  
  5. IF SERVERPROPERTY('servername') <> @@SERVERNAME
  6.  
  7. BEGIN
  8.  
  9. DECLARE @server sysname;
  10.  
  11. SET @server =@@SERVERNAME;
  12.  
  13. EXEC sp_dropserver@server = @server;
  14.  
  15. SET @server = CAST(SERVERPROPERTY('servername') AS sysname);
  16.  
  17. EXEC sp_addserver@server=@server, @local='LOCAL';
  18.  
  19. END
  20.  
  21. GO

執行完腳本后,我們來看看查詢結果

SELECT @@SERVERNAME ,SERVERPROPERTY('servername')
 
SELECT * FROM Sys.SysServers
 

我們重啟一下服務.OK,問題已經解決

結論:折騰了大半下午,終於弄清了一個事實,數據庫命名實例是不能修改的,不能將GSP改為其它名稱,除非你重裝MSSMS。不像ORACLE數據庫的實例名是可以修改的。但是呢,可以修改計算機名稱。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM