解決SQL2005備份數(shù)據(jù)庫.dat或bak還原時(shí)的結(jié)構(gòu)錯(cuò)誤的解決方法
2020-10-30 19:09:57
供稿:網(wǎng)友
遠(yuǎn)程服務(wù)器主機(jī)上安裝了sql server 2005,備份的時(shí)候使用虛擬主機(jī)自帶的還原工具備份數(shù)據(jù)庫為data.dat格式的,在本機(jī)sql2000想還原數(shù)據(jù)庫的時(shí)候,出現(xiàn)提示“已備份數(shù)據(jù)庫的磁盤上結(jié)構(gòu)版本為611. 服務(wù)器支持版本539, 無法還原或升級(jí)此數(shù)據(jù)庫,RESTORE DATABASE 操作異常終止。”
這是由于sql數(shù)據(jù)庫高版本2005向下兼容,但低版本的sql2000不能處理sql2005的數(shù)據(jù)庫格式造成的。客戶端必須使用sql2005才能正確還原已經(jīng)備份的數(shù)據(jù)庫文件。這就需要安裝sql 2005,但是sql 2005的一個(gè)開發(fā)版源文件就達(dá) 3.76GB 的大小,X86的也有1GB大小,安裝過程更是需要個(gè)把小時(shí),這對飄易來說,無疑是個(gè)巨大的時(shí)間浪費(fèi)。
那如何解決呢?飄易采取的是下載精簡版的 sql 2005的服務(wù)器端和客戶端,2個(gè)文件加起來一共才85M大小,安裝的實(shí)際也僅僅需要10分鐘不到,這比原版的安裝時(shí)間那可是一個(gè)巨大的反差。
好了,飄易就來說說如何安裝精簡版的 mssql 2005,首先下載服務(wù)器端的軟件:Microsoft SQL Server 2005 Express Edition ,這個(gè)版本其實(shí)就是SQL 2005的精減版。
Microsoft SQL Server 2005 Express Edition (SQL Server Express) 是一種免費(fèi)、易用的輕量版 SQL Server 2005,具有快速且易于掌握的特點(diǎn),可用于快速開發(fā)和部署動(dòng)態(tài)數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序。SQL Server Express 提供強(qiáng)大而可靠的數(shù)據(jù)管理工具,它功能豐富,能夠保護(hù)數(shù)據(jù)并提高性能。它適用于嵌入式應(yīng)用程序客戶端、輕型 Web 應(yīng)用程序以及本地?cái)?shù)據(jù)存儲(chǔ)區(qū)。SQL Server Express 具有易于部署以及可以快速設(shè)計(jì)原型的特點(diǎn),您可以無償獲取并可以隨應(yīng)用程序免費(fèi)再分發(fā)。如果需要更多的高級(jí)數(shù)據(jù)庫功能,可將 SQL Server Express 無縫升級(jí)到更復(fù)雜的 SQL Server 版本。
下載地址:Microsoft SQL Server 2005 Express Edition 官方簡體中文版 :
http://www.5lwq4hdr.cn/softs/34485.html (僅40M) 或
http://download.microsoft.com/download/C/E/6/CE626F95-EBD3-4AB8-AA35-C1BFAF98B7D5/SQLEXPR32_CHS.EXE
上面的僅僅是個(gè)服務(wù)器軟件,我們還要下載一個(gè)圖形化客戶端管理工具:Microsoft SQL Server Management Studio Express 。下載地址:
http://www.5lwq4hdr.cn/softs/34486.html (僅45M大小)或
http://download.microsoft.com/download/5/4/F/54F476B4-2348-4D4A-B705-0C8C9AB2A14A/SQLServer2005_SSMSEE.msi
上面的這2個(gè)軟件下載好,順序安裝完畢,再次還原剛才的2005的備份文件就沒問題了,不會(huì)再出現(xiàn)“已備份數(shù)據(jù)庫的磁盤上結(jié)構(gòu)版本為611. 服務(wù)器支持版本539, 無法還原或升級(jí)此數(shù)據(jù)庫,RESTORE DATABASE 操作異常終止”這樣的提示,如果你備份的數(shù)據(jù)庫后綴是 .bat 的,可以直接改為 .bak,因?yàn)閟ql2005只認(rèn) .bak 的后綴。
針對sql2000升級(jí)到sql2005后出現(xiàn)的數(shù)據(jù)庫架構(gòu)不一樣的情況,可以在 查詢分析器里或存儲(chǔ)過程里執(zhí)行以下語句:
EXEC sp_MSforeachtable @command1="EXEC SP_ChangeObjectOwner '?','dbo'"
該語句調(diào)用系統(tǒng)存儲(chǔ)過程 sp_MSforeachtable 批量修改數(shù)據(jù)表的架構(gòu)名為 dbo 。