SQL Server附加数据库时出现错误的处理方法

 更新时间:2022年12月15日 09:46:17   作者:永黯魔主  
通过附加功能添加现成的数据库是非常方便的,然而有时会出现附加数据库失败,下面这篇文章主要给大家介绍了关于SQL Server附加数据库时出现错误的处理方法,需要的朋友可以参考下

前言

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 VersionSource SQL Server VersionInternal Database Version
SQL Server 2008 R2665
SQL Server 2008661
SQL Server 2008 R2SQL Server 2005 with vardecimal enabled612
SQL Server 2005611
SQL Server 2000539
SQL Server 2008661
SQL Server 2008SQL Server 2005 with vardecimal enabled612
SQL Server 2005611
SQL Server 2000539
SQL Server 2005 SP2+SQL Server 2005 with vardecimal enabled612
SQL Server 2005611
SQL Server 2005SQL Server 2000539
SQL Server 7515
SQL Server 2000SQL Server 2000539
SQL Server 7515
SQL Server 7SQL Server 7515

(3)针对性解决办法:使用虚拟机,在windows虚拟机中安装与本机安装的Sql Server的兼容最低版本的Sql Server,此时,上述列举的Sql Server不同版本对应的兼容版本的叙述就起了作用。

(4)将在本机中无法附加的数据库文件在虚拟中安装的可以兼容的最低版本中附加,然后分离,复制分离后的数据库文件,再重新附加到本机数据库中,即可解决无法升级数据库,完成附加的问题。

在虚拟机中的Sql Server中完成附加,我这里是Sql Server2019,所以在虚拟中安装的是Sql Server2008。

分离数据库,点击任务,选择分离

分离时,勾选“删除”,点击确定

在虚拟机中找到刚才的数据库文件,将它们粘贴到本机,在本机重新附加。

对比前后的操作时间,可以发现很明显发生了变化:

重新附加数据库:

左下角显示正在执行,说明数据库版本不兼容的问题已经解决。

总结

本篇文章主要针对附加数据库时,出现“无法升级数据库”,版本不兼容的错误给出了详细的解决过程。为什么要在虚拟机中使用另一个低版本的Sql Server对数据库文件进行升级,再进行分离转换呢?这是因为有时候我们用的数据库可能是拷贝别人的,当我们无法使用自己本地的Sql Server打开它们时,是很难知道它们的库表结构的,所以重新创建一个和它们一摸一样的库表,可以说几乎不可能,而且费时费力。因此采用这种办法,只需要安装虚拟机,安装兼容的低版本的Sql Server就能快速解决这种问题。这只是我在学习实践过程的一点操作经验,希望对遇到类似问题的朋友有所帮助。

到此这篇关于SQL Server附加数据库时出现错误的处理方法的文章就介绍到这了,更多相关SQL Server附加数据库错误内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论