網站首頁 編程語言 正文
文章目錄
- 前言
- 一、如何附加數據庫?
- 二、無法升級數據庫,出現(539類似版本號不匹配)錯誤解決辦法
- 1.常見的無法附加數據庫時,出現的錯誤
- 2.無法升級數據庫的解決辦法
- 總結
前言
SQL Server 是數據庫軟件中比較常見且實用的軟件,它的集成度很高,且功能非常強大。很多類型的網站系統后臺數據庫都依賴于SQL Server。但是,對于初學者而言,在操作過程中總是會出現各種各樣的錯誤。現在,我對“無法升級數據庫”這種報錯信息,做詳細處理流程的講解。
一、如何附加數據庫?
1.選擇要添加的數據庫文件,也就是.MDF和.LDF文件,將他們復制到SQL Server的工作目錄下的存放數據腳本的位置。
選擇復制數據庫文件:
將復制好的數據庫文件粘貼到SQL Server的工作目錄下,我這里以路徑“C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA”為例。
2.打開SSMS(數據庫客戶端管理工具),右鍵數據庫,選擇附加:
3.點擊添加,選擇剛才粘貼進數據庫工作目錄中的數據庫文件(這里以TourDB.MDF為例),點擊確定。
展開數據庫,出現了我們剛才添加選擇的數據庫,說明附加成功。如果失敗,附加時,就會報錯。
二、無法升級數據庫,出現(539類似版本號不匹配)錯誤解決辦法
1.常見的無法附加數據庫時,出現的錯誤
(1)數據類型不匹配,也就是說添加的數據腳本不符合SQL Server的規范,通常是SQL語句出現了出錯誤。
(2)無法解析數據庫,即服務器無法訪問數據庫文件,就是數據庫損壞了。
(3)無法升級數據庫文件,就是服務器執行相關SQL操作時失敗,大多數情況下都是數據庫版本不兼容的問題。
2.無法升級數據庫的解決辦法
(1)首先,先看一看,出錯的信息內容
很明顯,版本不兼容,但是,我們還是要查看一下對應的版本,這一點很重要,會在后面的解決辦法中起大作用。
(2)查看版本號,及兼容信息。右鍵任意一個創建好的數據庫,選擇屬性,在選擇頁中,點擊選項,就可以看到右邊列表頁中的兼容級別下拉列表。
因為我使用的是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不同版本對應的兼容版本的敘述就起了作用。
(4)將在本機中無法附加的數據庫文件在虛擬中安裝的可以兼容的最低版本中附加,然后分離,復制分離后的數據庫文件,再重新附加到本機數據庫中,即可解決無法升級數據庫,完成附加的問題。
在虛擬機中的Sql Server中完成附加,我這里是Sql Server2019,所以在虛擬中安裝的是Sql Server2008。
分離數據庫,點擊任務,選擇分離
分離時,勾選“刪除”,點擊確定
在虛擬機中找到剛才的數據庫文件,將它們粘貼到本機,在本機重新附加。
對比前后的操作時間,可以發現很明顯發生了變化:
重新附加數據庫:
左下角顯示正在執行,說明數據庫版本不兼容的問題已經解決。
總結
本篇文章主要針對附加數據庫時,出現“無法升級數據庫”,版本不兼容的錯誤給出了詳細的解決過程。為什么要在虛擬機中使用另一個低版本的Sql Server對數據庫文件進行升級,再進行分離轉換呢?這是因為有時候我們用的數據庫可能是拷貝別人的,當我們無法使用自己本地的Sql Server打開它們時,是很難知道它們的庫表結構的,所以重新創建一個和它們一摸一樣的庫表,可以說幾乎不可能,而且費時費力。因此采用這種辦法,只需要安裝虛擬機,安裝兼容的低版本的Sql Server就能快速解決這種問題。這只是我在學習實踐過程的一點操作經驗,希望對遇到類似問題的朋友有所幫助。
原文鏈接:https://blog.csdn.net/ZCYaiCLX3344/article/details/125901198
相關推薦
- 2022-05-06 Python判斷字符串中是否是中英文文小技巧
- 2022-08-12 C#實現簡單的字符串加密_C#教程
- 2022-10-21 tomcat8中startup可以啟動tomcat8w無法啟動的問題分析_Tomcat
- 2022-11-29 Android?Handler?runWithScissors?梳理流程解析_Android
- 2023-05-19 python?txt中的文件,逐行讀取并且每行賦值給變量問題_python
- 2023-01-01 C語言用fun函數實現兩個數的交換方式_C 語言
- 2022-08-28 Oracle觸發器和程序包的基本介紹_oracle
- 2022-09-17 Go語言學習筆記之錯誤和異常詳解_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支