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

目录
  • 前言
  • 一、如何附加数据库?
  • 二、无法升级数据库,出现(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就能快速解决这种问题。这只是我在学习实践过程的一点操作经验,希望对遇到类似问题的朋友有所帮助。

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

(0)

相关推荐

  • sql server2012附加数据库问题解决方法

    SQLServer错误5120:先用widows用户登录附加再分离重新用sa附加就行了 不行的话,绝招: 你先用SQLServer创建一个新的数据库,然后用你要附加的文件去覆盖掉创建的文件!覆盖之前,记得计算机-管理-服务-把SQL服务关掉

  • SQL Server附加数据库出错,错误代码5123

    今天在附件一个以前的数据库(没有在SqlServer初始安装的目录下)的时候,老是附加不上,总是出现5123的错误代码,如图: 一开始以为是SqlServer2008不兼容原来的数据库所致,因为这个数据库是不知道当时是那个版本创建的,在官方看了一下,解释说权限不对,应该把这个数据库放到SqlServer安装的目录下,也就是X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA,果然解决问题:不过总不能每次都把数据库

  • SQLServer 附加数据库后出现只读或失败的解决方法

    解决此问题的几个关键点如下: 1.该现象只会出现在NTFS文件系统中. 2.由NTFS文件系统的访问权限导致. 一般手工操作的解决方案如下: 1.控制面板->文件夹选项->查看 关闭"使用简单文件共享(推荐)" 2.选择存放数据库文件的文件夹,右键选择属性,这时会多出一个"安全"选项卡,选择最后一个用户,将该用户的权限设为"完全控制". 经过这两步操作后,数据库附加失败或附加后只读的问题即可解决. 下面重点讲这两步,用C#代码的实现,

  • SQL SERVER 2008 无法附加数据库的解决方法

    复制代码 代码如下: 标题: Microsoft SQL Server Management Studio ------------------------------ 无法为该请求检索数据. (Microsoft.SqlServer.Management.Sdk.Sfc) 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 --------------------------

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

    目录 前言 一.如何附加数据库? 二.无法升级数据库,出现(539类似版本号不匹配)错误解决办法 1.常见的无法附加数据库时,出现的错误 2.无法升级数据库的解决办法 总结 前言 SQL Server 是数据库软件中比较常见且实用的软件,它的集成度很高,且功能非常强大.很多类型的网站系统后台数据库都依赖于SQL Server.但是,对于初学者而言,在操作过程中总是会出现各种各样的错误.现在,我对“无法升级数据库”这种报错信息,做详细处理流程的讲解. 一.如何附加数据库? 1.选择要添加的数据库文

  • SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

    问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf和ldf文件,本演示以ldf为例. 1.点击文件右键属性-->安全-->编辑 2.编辑-->添加 3.添加-->高级 4.高级-->立即查找-->搜索结果中找到-->Everyone-->确定-->确定 5.确定-->默认选中的Everyone用户-->

  • SQL Server 2005附加数据库时Read-Only错误的解决方案

    SQL Server 2005附加数据库文件时出现了Read-Only错误,附加的时候,系统提示mdf文件为只读,可是打开文件属性,这个属性不为只读.该怎么解决呢?本文我们就介绍了这一解决方案,接下来就让我们来一起了解一下吧. 两种解决方法如下: 1.重新打开数据库软件,在登录认证框那里选择:Windows authentication进行登录.然后再附加数据库,这时附加的就没有Read-Only了. 2.在*.mdf文件的属性里,找到"安全"页,然后把里面所有的"组或用户名

  • sql2008 附加数据库时出现错误5123提示的解决方法

    错误载图 解决方法: 1.直接把己有数据库复制到sql安装目录下C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA 这样就可以附加,不知道是不是在装数据库时漏选了什么操作,以前没遇到过. 2.在己有数据库mdf和ldf文件上, 右键---->属性---->添加---->高级---->立即查找---->Authenticated Users---->确定 ------>完全控制勾上

  • sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法

    这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户.解决办法就是关闭与要还原数据库的所有连接. 我们小编推荐的一个方法:到服务里面重启下sqlserver服务即可. 问题一描述:SQL Server数据库备份还原后,在数据库名称后会出现"受限制访问"字样 问题二描述:在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权.(Microsoft

  • SQL Server 2008 数据库中创建只读用户的方法

    在SQL Server 2008中,为了保护数据库的安全,需要给不同的使用者开通不同的访问用户,那么如何简单的控制用户的权限呢?下面我们就创建一个只读用户,给大家学习使用. SQL Server 2008 Microsoft SQLServer Management Studio 1.首先打开[Microsoft SQLServer Management Studio],用管理员账户登录.这里我选的服务器是[local],账户是[windows身份验证],如果是连接远程的服务器,输入远程服务器地

  • SQL Server 2008数据库设置定期自动备份的方法

    1.说明 日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担.SQL Server2008 本身具有定期自动备份功能,我们只需要通过简单的配置就可以实现非常简单高效的自动备份功能. 下面话不多说了,来一起看看详细的介绍吧 2.打开SQL Server代理服务 要实现自动备份功能,首先要保证SQL Server的"SQL Server(代理)"服务已经打开. 如果没有看到这个

  • Sqlserver 2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用Sql Server2005附加数据库文件时弹出错误信息: 看到网友回复说:只需给Authenticated Users赋所有权限就行了. 本人也遇到类似的问题,但是解决方法很简单,只需要使用管理员的身份打开SQL Server Management Studio,即可附加数据库了 如下图:  ,一时无解,遂求助于百度谷歌,经过各种试验,特将解决办法整理于此,希望能帮到大家,同时如果有好的意见大家多多交流啊! 方案一:切换登

  • 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器

    今早开机发现,打开SQL Server 2008 的 SQL Server Management Studio,输入sa的密码发现,无法登陆数据库?提示以下错误: "在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)" 在网上看到他人说使用将服务器(local

随机推荐