sqlserver2000升級(jí)到2005總結(jié)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
經(jīng)歷了很長(zhǎng)時(shí)間的 sqlserver2000升級(jí)到2005 的測(cè)試,并開始了部分升級(jí)工作(10幾臺(tái)server)。現(xiàn)在一些總結(jié)共享下:
升級(jí)前:(Pre-Update) 1 升級(jí)版本檢查 升級(jí)前的版本 支持的升級(jí)路徑 SQL Server 2000 Enterprise Edition SP3 或更高版本1 SQL Server 2005 Enterprise Edition SQL Server 2000 Standard Edition SP3 或更高版本1 SQL Server 2005 Enterprise Edition SQL Server 2005 Developer Edition SQL Server 2005 Standard Edition 2 安全注意事項(xiàng) 2.1增強(qiáng)物理安全性 將服務(wù)器置于專門的房間,未經(jīng)授權(quán)的人員不得入內(nèi)。 將數(shù)據(jù)庫(kù)的宿主計(jì)算機(jī)置于受物理保護(hù)的場(chǎng)所,最好是上鎖的機(jī)房,房中配備水災(zāi)檢測(cè)和火災(zāi)檢測(cè)監(jiān)視系統(tǒng)或滅火系統(tǒng)。 將數(shù)據(jù)庫(kù)安裝在公司 Intranet 的安全區(qū)域中,任何時(shí)候都不要直接連接到 Internet。 定期備份所有數(shù)據(jù),并將副本存儲(chǔ)在遠(yuǎn)離工作現(xiàn)場(chǎng)的安全位置。 2.2 使用防火墻 在服務(wù)器和 Internet 之間放置防火墻。 將網(wǎng)絡(luò)分成若干安全區(qū)域,區(qū)域之間用防火墻分隔。先阻塞所有通信流量,然后有選擇地只接受所需的通信。 在多層環(huán)境中,使用多個(gè)防火墻創(chuàng)建屏蔽子網(wǎng)。 如果在 Windows 域內(nèi)部安裝服務(wù)器,請(qǐng)將內(nèi)部防火墻配置為允許 Windows 身份驗(yàn)證。 在所有版本的 Windows 都是 Windows XP、Windows Server 2003 或更高版本的 Windows 域中,禁用 NTLM 身份驗(yàn)證。 . 如果應(yīng)用程序使用分布式事務(wù)處理,可能必須要將防火墻配置為允許 Microsoft 分布式事務(wù)處理協(xié)調(diào)器 (MS DTC) 在不同的 MS DTC 實(shí)例之間以及在 MS DTC 和資源管理器(如 SQL Server)之間進(jìn)行通信。 2.3 隔離服務(wù) 請(qǐng)盡可能不要在域控制器中安裝 SQL Server。 在不同的 Windows 帳戶下運(yùn)行各自的 SQL Server 服務(wù)。 在多層環(huán)境中,在不同的計(jì)算機(jī)上運(yùn)行 Web 邏輯和業(yè)務(wù)邏輯。 2.4 創(chuàng)建具有最低特權(quán)的服務(wù)帳戶 2.5 禁用 NetBIOS 和服務(wù)器消息塊 3 硬件和軟件要求 3.1 硬件要求 監(jiān)視器:SQL Server 圖形工具需要 VGA 或更高分辨率:分辨率至少為 1,024x768 像素 定點(diǎn)設(shè)備:需要 Microsoft 鼠標(biāo)或兼容定點(diǎn)設(shè)備 CD 或 DVD 驅(qū)動(dòng)器:通過 CD 或 DVD 媒體進(jìn)行安裝時(shí)需要相應(yīng)的 CD 或 DVD 驅(qū)動(dòng)器 群集硬件要求:在 32 位和 64 位平臺(tái)上,支持 8 節(jié)點(diǎn)群集安裝(即,Microsoft Windows Server 2003 支持的最大節(jié)點(diǎn)數(shù)量)。 處理器類型:Pentium III 兼容處理器或更高速度的處理器 "處理器速度:最低要求:600 MHz 推薦使用:1 GHz 或更高" 磁盤空間:系統(tǒng)最大磁盤空間 "內(nèi)存:最低要求:512 MB 推薦使用:1 GB 或更大 最大:操作系統(tǒng)最大內(nèi)存" 3.2 軟件要求 網(wǎng)絡(luò)軟件要求:64 位版本的 SQL Server 2005 的網(wǎng)絡(luò)軟件要求與 32 位版本的要求相同。Windows Server 2003、Windows XP 和 Windows 2000 都具有內(nèi)置網(wǎng)絡(luò)軟件。 Internet 軟件:所有 SQL Server 2005 的安裝都需要 Microsoft Internet Explorer 6.0 SP1 或更高版本,因?yàn)?Microsoft 管理控制臺(tái) (MMC) 和 HTML 幫助需要它。只需 Internet Explorer 的最小安裝即可滿足要求,并且不要求 Internet Explorer 是默認(rèn)瀏覽器 Internet 信息服務(wù) (IIS):安裝 Microsoft SQL Server 2005 Reporting Services (SSRS) 需要 IIS 5.0 或更高版本 ASP.NET 2.0:Reporting Services 需要 ASP.NET 2.0。安裝 Reporting Services 時(shí),如果尚未啟用 ASP.NET,則 SQL Server 安裝程序?qū)⒂盟?nbsp; 4 將現(xiàn)有的 SQL Server 系統(tǒng)數(shù)據(jù)庫(kù)(master、model、msdb 和 tempdb)配置為自動(dòng)增長(zhǎng),并確保它們具有足夠的硬盤空間 5 將 SQL Server 2000 數(shù)據(jù)庫(kù)引擎實(shí)例升級(jí)到 SQL Server 2005 時(shí),將保留 max worker threads 的配置值。但是,建議在升級(jí)前將 max worker threads 值更改為 0,以允許數(shù)據(jù)庫(kù)引擎計(jì)算最佳線程數(shù)(instance->right manu->prcessor lab) 6 確保所有數(shù)據(jù)庫(kù)服務(wù)器的 master 數(shù)據(jù)庫(kù)中都有登錄信息。這對(duì)還原數(shù)據(jù)庫(kù)很重要,因?yàn)?master 數(shù)據(jù)庫(kù)中有系統(tǒng)登錄信息 7 禁用所有啟動(dòng)存儲(chǔ)過程,因?yàn)樯?jí)過程在升級(jí) SQL Server 實(shí)例時(shí)將停止然后再啟動(dòng)服務(wù)。在啟動(dòng)時(shí)處理的存儲(chǔ)過程可能會(huì)阻塞升級(jí)過程 8 停止復(fù)制并確保復(fù)制日志是空的 9 退出所有應(yīng)用程序,包括所有依賴 SQL Server 的服務(wù)。如果有本地應(yīng)用程序連接到正在升級(jí)的實(shí)例,則升級(jí)可能會(huì)失敗。 10 備份要升級(jí)實(shí)例中的所有 SQL Server 數(shù)據(jù)庫(kù)文件,以便可以完全還原這些文件。 11 制定出數(shù)據(jù)庫(kù)回滾計(jì)劃 12 刪除事務(wù)復(fù)制相關(guān)的元數(shù)據(jù)表:Msrpl_commands and Msrpl_transactions 合并復(fù)制要?jiǎng)h除:Msmerge_contents and Msmerge_genhistory 13 為升級(jí)創(chuàng)建復(fù)制腳本,并需要進(jìn)行相關(guān)校驗(yàn)和整理,以便進(jìn)行重新創(chuàng)建復(fù)制關(guān)系。 14 確保所有數(shù)據(jù)庫(kù)都是可讀寫的,要是只讀數(shù)據(jù)庫(kù)可先設(shè)置為可讀寫模式,待升級(jí)完成后再改為只讀模式。 15 使用升級(jí)顧問來(lái)準(zhǔn)備升級(jí),并按升級(jí)顧問的分析結(jié)果進(jìn)行相關(guān)升級(jí)的工作。 執(zhí)行升級(jí):(Update Execution) 1 斷開用戶連接 2 停止復(fù)制 3 禁用所有啟動(dòng)存儲(chǔ)過程 4 確定升級(jí)的實(shí)例、數(shù)據(jù)庫(kù) 5 針對(duì)每個(gè)組件選擇升級(jí)和遷移工具 6 通過Setup日志監(jiān)視升級(jí)進(jìn)展和過程 7 是否完成配置復(fù)制腳本 8 是否完成作業(yè)腳本復(fù)制 9 是否完成維護(hù)任務(wù)腳本配置 10 是否完成對(duì)DTS包的遷移 升級(jí)后:(Post-Update) 1 參照升級(jí)顧問(Upgrade Advisor)報(bào)告完成續(xù)操作 2 更新表的統(tǒng)計(jì)信息(Update Statistic) 3 是否需要進(jìn)行全文索引填充(Full-Text Population)操作 4 是否需要改變數(shù)據(jù)庫(kù)的隔離級(jí)別 5 是否需要重新配置日志的傳送 6 驗(yàn)證代理jobs 和維護(hù)任務(wù) 7 驗(yàn)證復(fù)制過程的正確性 8 連接性測(cè)試 注冊(cè)服務(wù)器 查看所有數(shù)據(jù)庫(kù)的表、視圖 連接客戶端程序測(cè)試(可能需要修改連接字符串) 9 安全性檢測(cè) 服務(wù)帳戶設(shè)置 SQL Server 配置 驗(yàn)證服務(wù)帳戶的安全性 檢驗(yàn)身份驗(yàn)證模式 是否使用強(qiáng)密碼 10 T-SQL 查詢檢查 存儲(chǔ)過程(不會(huì)自動(dòng)更新) 不支持UPDATETEXT等 新的關(guān)鍵字(PIVOT,UNPIVOT,REVERT,TABLESAMPLE等) 群集升級(jí)和大內(nèi)存使用 sql server 2005 群集升級(jí)步驟 步驟 說 明 1 停止復(fù)制 2 將所有數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和日志文件改成自增長(zhǎng)的方式 3 選中所有數(shù)據(jù)庫(kù)的自動(dòng)更新統(tǒng)計(jì)信息選項(xiàng) 4 統(tǒng)計(jì)并記錄現(xiàn)有群集數(shù)據(jù)庫(kù)的各個(gè)服務(wù)的啟動(dòng)賬號(hào),同時(shí)在域管理器新建管理組(sqlvs group)供升級(jí)使用 5 在所有群集節(jié)點(diǎn)上安裝DotNet2.0 組件 6 在群集管理器中將所有組的控制權(quán)移動(dòng)到同一節(jié)點(diǎn)上,將Sql Server 2005 安裝文件拷貝到該群集節(jié)點(diǎn)或?qū)惭b光盤放入該節(jié)點(diǎn)的光驅(qū) 7 點(diǎn)擊Setup.exe文件開始安裝 8 安裝過程中請(qǐng)注意: 1. 群集安裝項(xiàng)的選擇;2. 各個(gè)服務(wù)的啟動(dòng)賬號(hào)的配置 9 安裝完成后,檢查數(shù)據(jù)庫(kù)的工作狀態(tài),如無(wú)異常,請(qǐng)將數(shù)據(jù)庫(kù)的兼容級(jí)別由原來(lái)的80 改成90,以便更好使用sql server 2005 新的功能 10 如有需要,請(qǐng)繼續(xù)在其它群集節(jié)點(diǎn)上安裝Sql Server 2005 客戶端工具 11 檢查復(fù)制狀態(tài),如有異常,請(qǐng)參考注意事項(xiàng)5,6,7進(jìn)行相關(guān)的修改。 為sql server 2005群集啟用AWE(使用大內(nèi)存) 步驟 說 明 1 確保操作系統(tǒng)支持大內(nèi)存要求,即:在系統(tǒng)啟動(dòng)參數(shù)增加 /PAE 參數(shù)。(所有群集節(jié)點(diǎn)) 2 啟用“鎖定內(nèi)存中的頁(yè)”選項(xiàng)(所有群集節(jié)點(diǎn)) 1. 在“開始”菜單上,單擊“運(yùn)行”。在“打開”框中,鍵入 gpedit.msc。 將打開“組策略”對(duì)話框。 2. 在“組策略”控制臺(tái)上,展開“計(jì)算機(jī)配置”,再展開“Windows 設(shè)置”。 3. 展開“安全設(shè)置”,再展開“本地策略”。 4. 選擇“用戶權(quán)利指派”文件夾。 細(xì)節(jié)窗格中隨即顯示出策略。 5. 在該窗格中,雙擊“鎖定內(nèi)存中的頁(yè)”。 6. 在“本地安全策略設(shè)置”對(duì)話框中,單擊“添加”按鈕。 7. 在“選擇用戶或組”對(duì)話框中,添加有權(quán)運(yùn)行 sqlservr.exe 的帳戶。 3 激活 AWE sp_configure 'show advanced options', 1 RECONFIGURE GO sp_configure 'awe enabled', 1 RECONFIGURE GO 4 配置內(nèi)存: 內(nèi)存配置說明:SQL Server 2005 在任何 Windows Server 2003 操作系統(tǒng)版本上運(yùn)行時(shí),都會(huì)動(dòng)態(tài)地分配 AWE 映射內(nèi)存。換言之,緩沖池可以動(dòng)態(tài)管理 AWE 映射內(nèi)存(在 min server memory 和 max server memory 選項(xiàng)的約束內(nèi)),以按照總體系統(tǒng)要求平衡 SQL Server 內(nèi)存的使用 sp_configure 'min server memory', 1024 RECONFIGURE GO sp_configure 'max server memory', 6144 RECONFIGURE GO 群集要求:如果使用的是 SQL Server 2005 故障轉(zhuǎn)移群集和 AWE 內(nèi)存,則必須確保所有實(shí)例的 max server memory 設(shè)置的總和小于故障轉(zhuǎn)移群集中任一服務(wù)器上可用的最小物理內(nèi)存。如果故障轉(zhuǎn)移節(jié)點(diǎn)的物理內(nèi)存比原節(jié)點(diǎn)上的內(nèi)存小,則 SQL Server 2005 實(shí)例可能無(wú)法啟動(dòng),或者可能在內(nèi)存比在原節(jié)點(diǎn)上的內(nèi)存小的情況下啟動(dòng) 注意事項(xiàng) 1 升級(jí)遠(yuǎn)程分發(fā)服務(wù)器db-dist后,要重新更新admininstrative link password,且發(fā)布服務(wù)器上需重新配置distributor 的administrative link password Microsoft SQL Server Management Studio->ServerName->Replication->right click -> distributor properties->Publishers->administrative link password->update password->click ok or click apply 2 升級(jí)后,需要檢查sql 服務(wù)的啟動(dòng)帳號(hào)是否為.\administrator start manu->all program->Microsoft sql server 2005 ->configuration tools->sql server configuration manager 3 升級(jí)群集時(shí),一定要保證兩個(gè)節(jié)點(diǎn)安裝好.net 2.0 4 升級(jí)完成后,要將各數(shù)據(jù)庫(kù)的兼容級(jí)別由原來(lái)的80 改成 90 Microsoft SQL Server Management Studio->ServerName->Database->database name ,right manu->properties->options->Campatiblity level->downframe list,select: sql sever 2005 (90)-> Click buton ok 5 如果要升級(jí)的服務(wù)器的 Sqlserver服務(wù) 的兩個(gè)參數(shù)(@@servername 和 serverproperty('servername'))不一致時(shí),可能會(huì)在升級(jí)過程中的出現(xiàn)錯(cuò)誤 Invalid column 'Publisher_Type'. 原因分析:表msdb.dbo.MSDistPublishers 缺少字段Publisher_Type, 該表2000版本中無(wú)此列,而2005的版本增加了該列。在升級(jí)時(shí)更新系統(tǒng)存儲(chǔ)過程信息時(shí)會(huì)使用到該表的列。因而會(huì)出錯(cuò)(主要針對(duì)復(fù)制數(shù)據(jù)庫(kù))。具體該表為何沒有被升級(jí),原因不詳,待查。 解決方案: 1. 更新表msdb.dbo.MSDistPublishers,增加字段Publisher_Type,表結(jié)構(gòu)詳見幫助。 2. 重新更新Local 服務(wù)器名稱 a. Exec sp_dropserver @server='now servername' b. Exec sp_addserver @server='new servername',@local='local' c. 重新啟動(dòng) 發(fā)布服務(wù)器數(shù)據(jù)庫(kù)服務(wù) 3. 重新啟動(dòng) 分發(fā)服務(wù)器的代理服務(wù)。 6 配置log shipping時(shí),如果@@servername 和 serverproperty('servername') 值不同,請(qǐng)使用 sp_dropserver sp_addserver 進(jìn)行修改,再進(jìn)行配置log shipping, 配置完成后再把servername 恢復(fù)到以前的狀態(tài),此時(shí)log shipping 依然能正常工作。 更改servername 后,一定要重新啟動(dòng)sql server service.才能生效。 7 如果要升級(jí)的服務(wù)器的 Sqlserver服務(wù) 的兩個(gè)參數(shù)(@@servername 和 serverproperty('servername'))不一致時(shí),升級(jí)后群集不能新建發(fā)布,而原來(lái)的復(fù)制關(guān)系工作正常。 解決方案: 1.修改要新建發(fā)布的數(shù)據(jù)庫(kù)的系統(tǒng)表dbo.sysreplservers 的srvname 列值,使其與@@servername 值一致, 修改前備份,修改后重新服務(wù)。 2. 在新建發(fā)布時(shí)在Snapshot Agent Security界面時(shí),注意 A. 選擇Run under the following Windows account 請(qǐng)輸入: db-dist-t5\administrator , password, Confirm Password B. 在配置Connect to the Publisher選項(xiàng) 請(qǐng)選擇Using the following SQL Server login 再輸入sa 用戶 及其密碼。 3. 在新建訂閱時(shí),在Distributor Agent Security 界面,配置同2步。 4.如果以上步驟不成功,請(qǐng)執(zhí)行以下步驟后在重新建立發(fā)布和訂閱: sp_configure 'remote proc trans',0 reconfigure with override 升級(jí)后CPU利用率明顯上漲,各個(gè)server的cpu利用率都有一倍多的增長(zhǎng),如從15%左右升級(jí)到30-40%,這對(duì)于有嚴(yán)格loadtime要求的系統(tǒng)是不允許的。目前正在著手解決。 據(jù)微軟技術(shù)支持講:2005對(duì)邦定變量的要求比2000高很多,對(duì)于程序中有in list的查詢應(yīng)該嘗試用臨時(shí)表或者表變量等手段使之使用邦定變量。結(jié)果待續(xù)。。。 該文章在 2011/3/15 13:57:53 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |