SQL Server 2008 附加数据库时出错

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 马上就要开始重做机房收费系统了,想要了解系统的功能就得先了解之前的数据库。在得到原数据库charge_sys.mdf和charge_sys.ldf 后,迫不及待地想要附加到SQL Server里。

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

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

20130819185043734.jpg

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

20130819202241250.jpg

网上查了一下,出现这种错误(错误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还可能出现如下错误:

20130819212347015.jpg

错误中提示“数据库的版本为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为例),右键需要生成脚本的数据库:

20130822213537359.png

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

20130822213741640.jpg

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

20130822214004171.jpg

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

20130822214532468.jpg

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

20130822215023421.jpg

下一步:

20130822215105828.jpg

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

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
12天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
74 6
|
1天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
1天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
7天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
15 0
|
8天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
8天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
33 3
|
12天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
16天前
|
SQL 数据安全/隐私保护
SQL Server 2016安装教程
SQL Server 2016安装教程
17 1
|
16天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
15 1

热门文章

最新文章