SQL Server附加數(shù)據(jù)庫(kù)時(shí)出現(xiàn)錯(cuò)誤的處理方法
目錄
- 前言
- 一、如何附加數(shù)據(jù)庫(kù)?
- 二、無(wú)法升級(jí)數(shù)據(jù)庫(kù),出現(xiàn)(539類(lèi)似版本號(hào)不匹配)錯(cuò)誤解決辦法
- 1.常見(jiàn)的無(wú)法附加數(shù)據(jù)庫(kù)時(shí),出現(xiàn)的錯(cuò)誤
- 2.無(wú)法升級(jí)數(shù)據(jù)庫(kù)的解決辦法
- 總結(jié)
前言
SQL Server 是數(shù)據(jù)庫(kù)軟件中比較常見(jiàn)且實(shí)用的軟件,它的集成度很高,且功能非常強(qiáng)大。很多類(lèi)型的網(wǎng)站系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)都依賴(lài)于SQL Server。但是,對(duì)于初學(xué)者而言,在操作過(guò)程中總是會(huì)出現(xiàn)各種各樣的錯(cuò)誤?,F(xiàn)在,我對(duì)“無(wú)法升級(jí)數(shù)據(jù)庫(kù)”這種報(bào)錯(cuò)信息,做詳細(xì)處理流程的講解。
一、如何附加數(shù)據(jù)庫(kù)?
1.選擇要添加的數(shù)據(jù)庫(kù)文件,也就是.MDF和.LDF文件,將他們復(fù)制到SQL Server的工作目錄下的存放數(shù)據(jù)腳本的位置。
選擇復(fù)制數(shù)據(jù)庫(kù)文件:
將復(fù)制好的數(shù)據(jù)庫(kù)文件粘貼到SQL Server的工作目錄下,我這里以路徑“C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA”為例。
2.打開(kāi)SSMS(數(shù)據(jù)庫(kù)客戶(hù)端管理工具),右鍵數(shù)據(jù)庫(kù),選擇附加:
3.點(diǎn)擊添加,選擇剛才粘貼進(jìn)數(shù)據(jù)庫(kù)工作目錄中的數(shù)據(jù)庫(kù)文件(這里以TourDB.MDF為例),點(diǎn)擊確定。
展開(kāi)數(shù)據(jù)庫(kù),出現(xiàn)了我們剛才添加選擇的數(shù)據(jù)庫(kù),說(shuō)明附加成功。如果失敗,附加時(shí),就會(huì)報(bào)錯(cuò)。
二、無(wú)法升級(jí)數(shù)據(jù)庫(kù),出現(xiàn)(539類(lèi)似版本號(hào)不匹配)錯(cuò)誤解決辦法
1.常見(jiàn)的無(wú)法附加數(shù)據(jù)庫(kù)時(shí),出現(xiàn)的錯(cuò)誤
(1)數(shù)據(jù)類(lèi)型不匹配,也就是說(shuō)添加的數(shù)據(jù)腳本不符合SQL Server的規(guī)范,通常是SQL語(yǔ)句出現(xiàn)了出錯(cuò)誤。
(2)無(wú)法解析數(shù)據(jù)庫(kù),即服務(wù)器無(wú)法訪問(wèn)數(shù)據(jù)庫(kù)文件,就是數(shù)據(jù)庫(kù)損壞了。
(3)無(wú)法升級(jí)數(shù)據(jù)庫(kù)文件,就是服務(wù)器執(zhí)行相關(guān)SQL操作時(shí)失敗,大多數(shù)情況下都是數(shù)據(jù)庫(kù)版本不兼容的問(wèn)題。
2.無(wú)法升級(jí)數(shù)據(jù)庫(kù)的解決辦法
(1)首先,先看一看,出錯(cuò)的信息內(nèi)容
很明顯,版本不兼容,但是,我們還是要查看一下對(duì)應(yīng)的版本,這一點(diǎn)很重要,會(huì)在后面的解決辦法中起大作用。
(2)查看版本號(hào),及兼容信息。右鍵任意一個(gè)創(chuàng)建好的數(shù)據(jù)庫(kù),選擇屬性,在選擇頁(yè)中,點(diǎn)擊選項(xiàng),就可以看到右邊列表頁(yè)中的兼容級(jí)別下拉列表。
因?yàn)槲沂褂玫氖荢ql Server2019,所以它兼容的最低版本是2008的。下面,我們?cè)俨榭匆幌耂ql Server的兼容表單:
(3)針對(duì)性解決辦法:使用虛擬機(jī),在windows虛擬機(jī)中安裝與本機(jī)安裝的Sql Server的兼容最低版本的Sql Server,此時(shí),上述列舉的Sql Server不同版本對(duì)應(yīng)的兼容版本的敘述就起了作用。
(4)將在本機(jī)中無(wú)法附加的數(shù)據(jù)庫(kù)文件在虛擬中安裝的可以兼容的最低版本中附加,然后分離,復(fù)制分離后的數(shù)據(jù)庫(kù)文件,再重新附加到本機(jī)數(shù)據(jù)庫(kù)中,即可解決無(wú)法升級(jí)數(shù)據(jù)庫(kù),完成附加的問(wèn)題。
在虛擬機(jī)中的Sql Server中完成附加,我這里是Sql Server2019,所以在虛擬中安裝的是Sql Server2008。
分離數(shù)據(jù)庫(kù),點(diǎn)擊任務(wù),選擇分離
分離時(shí),勾選“刪除”,點(diǎn)擊確定
在虛擬機(jī)中找到剛才的數(shù)據(jù)庫(kù)文件,將它們粘貼到本機(jī),在本機(jī)重新附加。
對(duì)比前后的操作時(shí)間,可以發(fā)現(xiàn)很明顯發(fā)生了變化:
重新附加數(shù)據(jù)庫(kù):
左下角顯示正在執(zhí)行,說(shuō)明數(shù)據(jù)庫(kù)版本不兼容的問(wèn)題已經(jīng)解決。
總結(jié)
本篇文章主要針對(duì)附加數(shù)據(jù)庫(kù)時(shí),出現(xiàn)“無(wú)法升級(jí)數(shù)據(jù)庫(kù)”,版本不兼容的錯(cuò)誤給出了詳細(xì)的解決過(guò)程。為什么要在虛擬機(jī)中使用另一個(gè)低版本的Sql Server對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行升級(jí),再進(jìn)行分離轉(zhuǎn)換呢?這是因?yàn)橛袝r(shí)候我們用的數(shù)據(jù)庫(kù)可能是拷貝別人的,當(dāng)我們無(wú)法使用自己本地的Sql Server打開(kāi)它們時(shí),是很難知道它們的庫(kù)表結(jié)構(gòu)的,所以重新創(chuàng)建一個(gè)和它們一摸一樣的庫(kù)表,可以說(shuō)幾乎不可能,而且費(fèi)時(shí)費(fèi)力。因此采用這種辦法,只需要安裝虛擬機(jī),安裝兼容的低版本的Sql Server就能快速解決這種問(wèn)題。這只是我在學(xué)習(xí)實(shí)踐過(guò)程的一點(diǎn)操作經(jīng)驗(yàn),希望對(duì)遇到類(lèi)似問(wèn)題的朋友有所幫助。
到此這篇關(guān)于SQL Server附加數(shù)據(jù)庫(kù)時(shí)出現(xiàn)錯(cuò)誤的處理方法的文章就介紹到這了,更多相關(guān)SQL Server附加數(shù)據(jù)庫(kù)錯(cuò)誤內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
