none
SQL 2000 Std SP4(in Windows 2003 Std SP2)異機搬移 RRS feed

  • 一般討論

  • 各位好

    小弟有一台SQL Server 2000 Std SP4(有DTS package,單機,但有加入網域,MSSQLSERVER及SQLSERVERAGENT服務是用AD帳號啟動)安裝於Windows Server 2003 Std SP2上,
    因故必須更換主機,所以打算安裝一台新的Windows Server 2003 Std SP2後,把這台SQL Server 2000 SP4整個搬過來,
    我現在想到的是如下作法,不知是否有觀念錯誤或是疏忽之處,還請各位前輩指導一下,謝謝。

    若電腦名稱有改(由A變B)

    1.安裝Windows Server 2003 Std SP2並加入原先網域,並將先舊主機Windows下OS帳號都建立於新主機Windows下(包含MSSQLSERVER及SQLSERVERAGENT服務啟動的AD帳號)
    Q1:請問是否SP2後有安裝的patch可以在新增移除程式裡看到?

    2.安裝SQL Server 2000 Std SP4(相關路徑都同舊主機SQL安裝路徑+相同伺服器定序) > 將SQL服務以原先AD帳號做啟動
    Q2:請問是否SP4後有安裝的patch可以在新增移除程式裡看到?現在版號是8.00.2039,所以應該只上到SP4,應該不要多事把多的patch再多上?
    http://www.sqlsecurity.com/faqs-1/sql-server-versions/sql-server-2000
    https://support.microsoft.com/en-us/kb/894905#/en-us/kb/894905

    3.舊主機SQL Server 2000服務都停掉 > 將SQL Server所有安裝路徑下資料夾及檔案(程式+資料檔)複製到新主機下相同路徑
    查看SSEM(SQL Server Enterprise Manager)下註冊SQL Server內容的根目錄為何?
    以及使用以下TSQL確認相關path
    --
    DECLARE @path nvarchar(260)
    SET @path = RTRIM((SELECT TOP 1 filename from model..sysfiles))
    SET @path = SUBSTRING(@path, 1, LEN(@path) - CHARINDEX('\', REVERSE(@path)))        --'
    select @path
    -- 查詢你的 SQL Server 安裝目錄
    exec master.dbo.xp_instance_regread
    N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath'

    4.重新啟動SQL Server服務(或是新主機重開機)

    5.確認新主機服務正常啟動無報錯,並檢查SQL log及SQL error log,Windows event log,若有報錯進行排除

    6.若新主機SQL Server服務正常啟動且以上檢查無報錯或排除錯誤後,則進行以下SQL Server instance name rename步驟:
    --Get the current name of the SQL Server instance for later comparison.
    SELECT @@servername
    --Remove server from the list of known remote and linked servers on the local instance of SQL Server.
    EXEC master.dbo.sp_dropserver 'OLD SERVER NAME(A)'     
    --Define the name of the local instance of SQL Server.
    EXEC master.dbo.sp_addserver 'NEW SERVER NAME_(B)','local'
    --Get the new name of the SQL Server instance for comparison.
    SELECT @@servername

    7.若以上步驟rename完畢後,若@@servername為新主機servername,則再重新開機一次,重開完後再重複步驟5.相關檢查,若無報錯則應完成作業。


    • 已編輯 MIS...GUY 2016年8月9日 上午 04:23
    • 已變更類型 Jerry.Hong 2016年9月2日 上午 02:36
    2016年8月9日 上午 02:21

所有回覆

  • Q1. OS patch will not affect sql server usually.

    Q2. SP4 is the one.

    You should backup all dbs on old server first, then copy all dbs files to new location on new server in case need rollback migration.

    2016年8月9日 下午 04:16
  • Microsoft 有KB指示如何把SQL 2000的DB轉移到另一台SQL 2000

    緊記兩台機器的Collation選擇要一模一樣, 不然會出現狀況.

    https://support.microsoft.com/en-us/kb/314546

    另外由於Detech, Attach資料庫檔案後並不會包含使用者登入資訊, 你需要做另外的步驟把賬號轉移

    https://support.microsoft.com/en-us/kb/246133

    sp_help_revlogin會建立一個腳本script, 只要把它複製貼上到目標SQL 2000即可重建所有賬號


    邊幫助, 邊鍛鍊



    2016年8月10日 上午 02:07
  • Hi ricoisme大

    還沒有進行,因為主機管理同事想要再觀察看看並準備用P2V方式轉進VM,但需要等。

    所以若是要重新安裝Windows再移機MSSQL,會用以上步驟並加上rmiao及Justin大的提醒的步驟

    謝謝各位幫忙回覆提供寶貴意見及經驗。


    • 已編輯 MIS...GUY 2016年8月22日 上午 06:36
    2016年8月19日 上午 02:07
  • 我也有幾個SQL 2000 P2V的案例, 無論是VMware或Hyper-V都沒有出現過大問題

    但有試過在P2V後SQL Agent服務無故被調成手動起動, 所以若你們採取P2V的方式, 可以在P2V後小心這個狀況


    邊幫助, 邊鍛鍊

    2016年8月19日 上午 07:04
  • 我也有幾個SQL 2000 P2V的案例, 無論是VMware或Hyper-V都沒有出現過大問題

    但有試過在P2V後SQL Agent服務無故被調成手動起動, 所以若你們採取P2V的方式, 可以在P2V後小心這個狀況


    邊幫助, 邊鍛鍊


    好的,會特別注意。
    謝謝。
    2016年8月22日 上午 06:36