網(wǎng)站首頁 編程語言 正文
文章目錄
- 前言
- 一、如何附加數(shù)據(jù)庫?
- 二、無法升級數(shù)據(jù)庫,出現(xiàn)(539類似版本號不匹配)錯誤解決辦法
- 1.常見的無法附加數(shù)據(jù)庫時,出現(xiàn)的錯誤
- 2.無法升級數(shù)據(jù)庫的解決辦法
- 總結(jié)
前言
SQL Server 是數(shù)據(jù)庫軟件中比較常見且實用的軟件,它的集成度很高,且功能非常強大。很多類型的網(wǎng)站系統(tǒng)后臺數(shù)據(jù)庫都依賴于SQL Server。但是,對于初學(xué)者而言,在操作過程中總是會出現(xiàn)各種各樣的錯誤。現(xiàn)在,我對“無法升級數(shù)據(jù)庫”這種報錯信息,做詳細(xì)處理流程的講解。
一、如何附加數(shù)據(jù)庫?
1.選擇要添加的數(shù)據(jù)庫文件,也就是.MDF和.LDF文件,將他們復(fù)制到SQL Server的工作目錄下的存放數(shù)據(jù)腳本的位置。
選擇復(fù)制數(shù)據(jù)庫文件:
將復(fù)制好的數(shù)據(jù)庫文件粘貼到SQL Server的工作目錄下,我這里以路徑“C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA”為例。
2.打開SSMS(數(shù)據(jù)庫客戶端管理工具),右鍵數(shù)據(jù)庫,選擇附加:
3.點擊添加,選擇剛才粘貼進(jìn)數(shù)據(jù)庫工作目錄中的數(shù)據(jù)庫文件(這里以TourDB.MDF為例),點擊確定。
展開數(shù)據(jù)庫,出現(xiàn)了我們剛才添加選擇的數(shù)據(jù)庫,說明附加成功。如果失敗,附加時,就會報錯。
二、無法升級數(shù)據(jù)庫,出現(xiàn)(539類似版本號不匹配)錯誤解決辦法
1.常見的無法附加數(shù)據(jù)庫時,出現(xiàn)的錯誤
(1)數(shù)據(jù)類型不匹配,也就是說添加的數(shù)據(jù)腳本不符合SQL Server的規(guī)范,通常是SQL語句出現(xiàn)了出錯誤。
(2)無法解析數(shù)據(jù)庫,即服務(wù)器無法訪問數(shù)據(jù)庫文件,就是數(shù)據(jù)庫損壞了。
(3)無法升級數(shù)據(jù)庫文件,就是服務(wù)器執(zhí)行相關(guān)SQL操作時失敗,大多數(shù)情況下都是數(shù)據(jù)庫版本不兼容的問題。
2.無法升級數(shù)據(jù)庫的解決辦法
(1)首先,先看一看,出錯的信息內(nèi)容
很明顯,版本不兼容,但是,我們還是要查看一下對應(yīng)的版本,這一點很重要,會在后面的解決辦法中起大作用。
(2)查看版本號,及兼容信息。右鍵任意一個創(chuàng)建好的數(shù)據(jù)庫,選擇屬性,在選擇頁中,點擊選項,就可以看到右邊列表頁中的兼容級別下拉列表。
因為我使用的是Sql Server2019,所以它兼容的最低版本是2008的。下面,我們再查看一下Sql Server的兼容表單:
Target SQL Server Version | Source SQL Server Version | Internal Database Version |
---|---|---|
SQL Server 2008 R2 | 665 | |
SQL Server 2008 | 661 | |
SQL Server 2008 R2 | SQL Server 2005 with vardecimal enabled | 612 |
SQL Server 2005 | 611 | |
SQL Server 2000 | 539 | |
SQL Server 2008 | 661 | |
SQL Server 2008 | SQL Server 2005 with vardecimal enabled | 612 |
SQL Server 2005 | 611 | |
SQL Server 2000 | 539 | |
SQL Server 2005 SP2+ | SQL Server 2005 with vardecimal enabled | 612 |
SQL Server 2005 | 611 | |
SQL Server 2005 | SQL Server 2000 | 539 |
SQL Server 7 | 515 | |
SQL Server 2000 | SQL Server 2000 | 539 |
SQL Server 7 | 515 | |
SQL Server 7 | SQL Server 7 | 515 |
(3)針對性解決辦法:使用虛擬機,在windows虛擬機中安裝與本機安裝的Sql Server的兼容最低版本的Sql Server,此時,上述列舉的Sql Server不同版本對應(yīng)的兼容版本的敘述就起了作用。
(4)將在本機中無法附加的數(shù)據(jù)庫文件在虛擬中安裝的可以兼容的最低版本中附加,然后分離,復(fù)制分離后的數(shù)據(jù)庫文件,再重新附加到本機數(shù)據(jù)庫中,即可解決無法升級數(shù)據(jù)庫,完成附加的問題。
在虛擬機中的Sql Server中完成附加,我這里是Sql Server2019,所以在虛擬中安裝的是Sql Server2008。
分離數(shù)據(jù)庫,點擊任務(wù),選擇分離
分離時,勾選“刪除”,點擊確定
在虛擬機中找到剛才的數(shù)據(jù)庫文件,將它們粘貼到本機,在本機重新附加。
對比前后的操作時間,可以發(fā)現(xiàn)很明顯發(fā)生了變化:
重新附加數(shù)據(jù)庫:
左下角顯示正在執(zhí)行,說明數(shù)據(jù)庫版本不兼容的問題已經(jīng)解決。
總結(jié)
本篇文章主要針對附加數(shù)據(jù)庫時,出現(xiàn)“無法升級數(shù)據(jù)庫”,版本不兼容的錯誤給出了詳細(xì)的解決過程。為什么要在虛擬機中使用另一個低版本的Sql Server對數(shù)據(jù)庫文件進(jìn)行升級,再進(jìn)行分離轉(zhuǎn)換呢?這是因為有時候我們用的數(shù)據(jù)庫可能是拷貝別人的,當(dāng)我們無法使用自己本地的Sql Server打開它們時,是很難知道它們的庫表結(jié)構(gòu)的,所以重新創(chuàng)建一個和它們一摸一樣的庫表,可以說幾乎不可能,而且費時費力。因此采用這種辦法,只需要安裝虛擬機,安裝兼容的低版本的Sql Server就能快速解決這種問題。這只是我在學(xué)習(xí)實踐過程的一點操作經(jīng)驗,希望對遇到類似問題的朋友有所幫助。
原文鏈接:https://blog.csdn.net/ZCYaiCLX3344/article/details/125901198
相關(guān)推薦
- 2022-08-21 導(dǎo)入pytorch時libmkl_intel_lp64.so找不到問題解決_python
- 2022-12-13 Flutter?阻止系統(tǒng)鍵盤彈出的優(yōu)雅方式_Android
- 2023-03-27 python中的正則表達(dá)式,貪婪匹配與非貪婪匹配方式_python
- 2022-08-18 使用C++的ORM框架QxORM詳解_C 語言
- 2022-02-03 Windows10 可以上網(wǎng)(會斷)顯示無Internet鏈接
- 2022-08-31 docker(alpine+golang)?中?hosts?不生效問題解決方法_docker
- 2022-10-07 使用Cargo工具高效創(chuàng)建Rust項目_相關(guān)技巧
- 2022-11-15 Apache?Doris的Bitmap索引和BloomFilter索引使用及注意事項_Linux
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支