王娟 沈麗娟 王慧
(山東省水文局,山東濟南 250002)
SQL Server7.0是SQL Server的早期版本,雖然微軟近期推出了最新版的SQL Server 2019,但是由于服務(wù)器設(shè)備更新緩慢及使用數(shù)據(jù)庫的應(yīng)用系統(tǒng)升級滯后等各種原因,仍然有相當(dāng)數(shù)量的單位和部門在使用低版本的SQL Server數(shù)據(jù)庫管理系統(tǒng)。隨著硬件設(shè)備性能的不斷提升,計算機操作系統(tǒng)的更新迭代,低版本的數(shù)據(jù)庫管理系統(tǒng)已出現(xiàn)了很多與操作系統(tǒng)的兼容性問題,甚至無法在新的操作系統(tǒng)上安裝運行,因此低版本SQL Server的升級更新終將是數(shù)據(jù)庫用戶需要面對的問題[1]。筆者目前就遇到了這樣的問題,通過查閱資料和分析操作,最終實現(xiàn)了數(shù)據(jù)庫由SQL Server7.0至SQL Server 2008 R2的遷移升級,現(xiàn)將操作過程記錄下來以供面臨同樣問題的技術(shù)人員參考。
筆者部門內(nèi)運行維護著一個十多年前開發(fā)的信息系統(tǒng),功能十分專業(yè)、實用,在多年的業(yè)務(wù)工作中發(fā)揮了重要的作用[2]。該系統(tǒng)基于C/S架構(gòu)體系開發(fā),數(shù)據(jù)庫管理系統(tǒng)最初應(yīng)用的是SQL Server 6.5,后來升級至7.0,一直在Windows系列32位平臺上運行,由于受到系統(tǒng)數(shù)據(jù)源所用的另外一個軟件系統(tǒng)的制約,且存在專業(yè)模型更新等問題,該信息系統(tǒng)尚無法升級,導(dǎo)致與目前主流的W i ndows 7以上操作系統(tǒng)、SQL Server 2000以上版本的數(shù)據(jù)庫管理系統(tǒng)等存在很多不兼容的地方。近期由于硬件故障,該信息系統(tǒng)需要遷移到新的計算機上運行,新計算機只能運行64位Windows 7以上操作系統(tǒng),而系統(tǒng)所用的SQL Server 7.0無法安裝到該版本的操作系統(tǒng)上,為了該信息系統(tǒng)能繼續(xù)運行,筆者通過查閱資料,決定在64位Wi nd ow s7 專業(yè)版上安裝版本較新且穩(wěn)定性好的S Q L Server 2008 R2,然后再將數(shù)據(jù)從SQL Server 7.0遷移到SQL Server 2008 R2上。
SQL Server 2008 R2是SQL Server 2008的一個版本升級,R2標(biāo)志表示這是SQL Server的一個中間版本,而不是一個主版本,共享 SQL Server 的同一主版本[3]。SQL Server 2008 R2相比SQL Server 2008功能更為完善穩(wěn)定,從安裝包的大小和安裝容易程度都是R 2 更勝一籌,因此該版本的用戶眾多。
當(dāng)前已知的SQL Server 2008 R2版本是:企業(yè)版,標(biāo)準(zhǔn)版,工作組版,Web版,開發(fā)人員版,Express版和Compact 3.5版。該順序也是根據(jù)功能的從高到低的排序。使用哪個版本,不是功能越強大越好,而是適當(dāng)?shù)陌姹?。其?SQL Server 2008 Express Edition是具有核心數(shù)據(jù)庫功能的SQL Server的免費版本,但它是SQL Server的微型版本。SQL Server Compact是為開發(fā)人員設(shè)計的免費嵌入式數(shù)據(jù)庫。該版本可以在所有Microsoft Windows平臺上運行。標(biāo)準(zhǔn)版是一個完整的數(shù)據(jù)管理和商業(yè)智能平臺,為部門級應(yīng)用程序提供了最佳的易用性和可管理性。企業(yè)版是全面的數(shù)據(jù)管理,而商業(yè)智能平臺提供了全面的高端數(shù)據(jù)中心功能,并為關(guān)鍵業(yè)務(wù)應(yīng)用程序提供了企業(yè)級可伸縮性,數(shù)據(jù)倉庫,安全性,高級分析和報告支持。此版本是功能最強大的版本,它具有最強大的功能和最佳性能,適用于大型企業(yè)生產(chǎn)應(yīng)用程序環(huán)境;開發(fā)人員版本支持開發(fā)人員構(gòu)建和測試基于SQL Server的任何類型的應(yīng)用程序。此版本具有企業(yè)版的所有功能,但僅用于開發(fā),測試和演示,基于此版本開發(fā)的應(yīng)用程序和數(shù)據(jù)庫可以輕松升級到企業(yè)版。
經(jīng)查閱資料和安裝嘗試,發(fā)現(xiàn)在Win7專業(yè)版上可以安裝SQL Server 2008 R2開發(fā)者版本,既能解決兼容性問題又可獲得強大的數(shù)據(jù)庫功能,能夠滿足筆者部門所運維的信息系統(tǒng)的應(yīng)用需求。
安裝SQL Server 2008 R2之前在操作系統(tǒng)上必須先安裝.NET Framework 3.5,和Windows Installer 4.5 Redistributable這兩個組件,在安裝過程中由于操作系統(tǒng)不同(64位與32位)和可能安裝的環(huán)境不一樣,或者在安裝SQL Server 2008 R2之前已經(jīng)安裝過SQL Server的其他版本,可能會導(dǎo)致安裝遇到問題,排除上述情況,在干凈的Win7專業(yè)版上,按照安裝提示一步步操作基本上都能順利安裝[4]。
由于版本跨度大,SQL Server7.0的備份不能在SQL Server 2008 R2上直接還原,因此需要一個中間版本作為過渡,該版本需要滿足既能還原SQL Server7.0的備份,且在其上導(dǎo)出的備份又能被SQL Server 2008 R2還原這兩個條件。經(jīng)查閱資料和試驗,發(fā)現(xiàn)SQL Server 2000能夠滿足這一要求[5]。SQL Server 2000版本繼承了SQL Server 7.0 版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行Microsoft Windows 98 的小型電腦到運行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使用[6]。同樣的,SQL Server 2000也存在與高版本操作系統(tǒng)的兼容性問題,只能在W i nd o w s X P 或者更低的操作系統(tǒng)上正常安裝和使用,在Windows 7或者更高版本的操作系統(tǒng)上需要經(jīng)過很多復(fù)雜的設(shè)置后才能安裝和使用,因此選擇在Windows 7以下版本的操作系統(tǒng)上安裝SQL Server 2000 標(biāo)準(zhǔn)版作為過渡版本[7]。數(shù)據(jù)庫遷移使用了完全備份和還原的方式進行,這是最基本和安全可靠的數(shù)據(jù)遷移方式,步驟如下:
第1步:將SQL Server 7.0的數(shù)據(jù)庫進行備份,形成bak文件;
第2步:在SQL Server 2000中將SQL Server 7.0的數(shù)據(jù)庫備份文件還原;
第3步:在SQL Server 2000中將第2步還原好的數(shù)據(jù)庫進行備份,形成bak文件;
第4步:在SQL Server 2008 R2 Management Studio資源管理器窗口中右鍵選擇任務(wù)->還原->數(shù)據(jù)庫,“還原數(shù)據(jù)庫”菜單如圖1所示;
第5步:在出現(xiàn)的窗口中輸入目標(biāo)數(shù)據(jù)庫名稱,并選擇“源設(shè)備”,點擊瀏覽按鈕找到第3步中生成的備份文件,點擊確定,還原成功。還原數(shù)據(jù)庫具體操作內(nèi)容如圖2所示。
圖1 SQL Server 2008 R2 Management Studio 中“還原數(shù)據(jù)庫”菜單Fig.1 "Restore database" menu in SQL Server 2008 R2 Management Studio
圖2 SQL Server 2008 R2 Management Studio 中還原數(shù)據(jù)庫具體操作內(nèi)容Fig.2 Specific operation contents of restoring database in SQL Server 2008 R2 Management Studio
要注意的一點是,將SQL Server 2000的備份還原到SQL Server 2008 R2中一定不要建立一個新的數(shù)據(jù)庫文件,而是直接在還原的時候在目標(biāo)數(shù)據(jù)庫處給待還原的數(shù)據(jù)庫起個名字就可以了。
至此,已經(jīng)完成了將數(shù)據(jù)庫從SQL Server 7.0升級和遷移到SQL Server 2008 R2的整個過程,并且已經(jīng)實現(xiàn)了從早期版本的SQL Server 7.0到SQL Server 2008 R2 的完整數(shù)據(jù)遷移。數(shù)據(jù)庫管理系統(tǒng)的較低版本和較高版本的操作系統(tǒng)的兼容性問題已解決。