专栏首页Danny的专栏SQL Server 2008 附加数据库时出错

SQL Server 2008 附加数据库时出错

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/10079741

    马上就要开始做机房收费系统了,想要了解系统的功能就得先了解前辈的数据库。在得到原数据库charge_sys.mdf和charge_sys.ldf 后,迫不及待地想要附加到SQL Server里。

       不过问题来了,在附加数据库首要数据文件charge_sys.mdf 时,出现了“附加数据库出时出错。有关详细信息,请单击"消息"列中的超链接”的错误。如下图:

       点击“消息”中的超链接之后,错误提示:

       网上查了一下,出现这种错误(错误5120),很可能是因为权限问题,即我们现在的这个账户没有足够的权限来附加此数据库。那么下面这几种方法可以轻松地解决这个问题:

       1、将要附加的文件拷贝到SQL Server默认的Data 目录(C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\),再次附加就会成功。

       2、在登陆SQL Server时,选择“Windows身份验证”登陆,然后再附加数据库就会成功。

       3、右击将要附加的数据库文件,属性→安全→编辑,在“组合用户名”列表中选择Authenticated Users,在下方的权限列表中选择“完全控制”,确定。重新附加数据库就会成功(温馨提示:mdf文件和ldf文件都要这么设置哦!)

      但是到了这里还不能高兴的太早,因为有些版本的SQL Server还可能出现如下错误:

       错误中提示“数据库的版本为661,无法打开。此服务器支持655版及更低版本、不支持降级路径”。

       这种情况是由于高版本的数据库文件在低版本的数据库上造成的,即我们要附加的数据库文件的版本高于当前SQL Server版本,这就相当于Word2010文档用Word2003打开时不兼容是一个道理。而目前就我知道的比较现实的方法有两种:

           1、安装较高版本的SQL Server:2000升到2005或更高版本,2005升到2008或2008 R2,2008升到2008 R2;

           2、种是在其他电脑上用较高版本的SQL Server附加,然后再导出脚本。

       相比较而言还是生成脚本比较方便,所以第一种方法可以忽略,废话不多说,方法如下:

打开较高版本的SQL Server(这里以SQL Server 2008 R2为例),右键需要生成脚本的数据库:

出现生成脚本的简介页面:

单击下一步,出现选择对象界面,根据实际需要选择对象(这里以值生成表为例):

下一步,选择要生成脚本的位置,注意红色椭圆里的“高级”按钮:

既然做这些工作是自己电脑上SQL Server版本太低的原因,所以最重要的就是把“为服务器版本编写脚本”选项选为较低版本(这里选“SQL Server 2008”),其他按实际需要选择,确定:

下一步:

点击“完成”,大功告成!快去较低版本的SQL Server上导入你生成的脚本吧!不过在导入脚本之前不要忘了新建一个同名的空数据库哦(比如这个例子需要建立一个新的名为“charge_sys”的数据库)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git恢复之前版本的两种方法reset、revert(图文详解)

    原文链接:https://blog.csdn.net/yxlshk/article/details/79944535

    DannyHoo
  • Navicat备份远程Oracle数据库到本地

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • System.Data.SqlClient.SqlException: 将截断字符串或二进制数据

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • [享学Netflix] 五十六、Ribbon负载均衡器ILoadBalancer(一):BaseLoadBalancer

    在介绍完了围绕负载均衡器ILoadBalancer的五大核心组件,以及其相关支持组件后,本篇终于来到整个负载均衡器,甚至是整个Ribbon的主菜:ILoadBa...

    YourBatman
  • Sql Server 2008 为开发带来的新特性

    许多数据库开发人员负责创建的查询需要用来返回其应用程序所需的数据。您可能熟悉 LINQ(语言集成查询)工具,它允许数据库开发人员使用基于 Microsoft® ...

    张善友
  • windows平台KMS激活秘钥

    用户1086810
  • Confluence 6 Microsoft SQL Server 设置准备

    https://www.cwiki.us/display/CONFLUENCEWIKI/Database+Setup+for+SQL+Server

    HoneyMoose
  • 逻辑思维驱动 (测试) 工作管理

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • 2018年VR/AR十大关键词(六):《Beat Saber》

    编者按:临近年底,VRPinea又开始了2018年VR/AR十大关键词的盘点。今年VRPinea选择的关键词为5G、赋能、Magic Leap、虚拟偶像、《头号...

    VRPinea
  • 【推荐】搭建你的免费 R 云端服务器

    虽然对于大多数人来说,自己的笔记本或是PC可能就能满足大多数日常R运算的需求了,但工作中总会遇到一些特殊的情况,这时候如果我们有一台自己的远程 R Serve ...

    用户7652506

扫码关注云+社区

领取腾讯云代金券