2009-04-13 11:25 1145人阅读 评论(0) 收藏 举报

在sqlServer20005 的management studio里使用bak文件还原数据库的时候,总是失败!

The backup set holds a backup of a database other than the existing 'AAA' database.
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server,错误: 3154)

解决方法一:
--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--主要获得逻辑文件名
USE master
RESTORE FILELISTONLY
   FROM DISK = 'g:/back.Bak' 
Go
************************************************
/*
利用bak恢复数据库,强制还原(REPLACE)
STATS = 10 每完成10%显示一条记录
DBTest和DBTest_log是上面g:/back.Bak里的逻辑文件
*/
USE master
RESTORE DATABASE DB 
   FROM DISK = 'g:/back.Bak'
   WITH MOVE 'DBTest' TO 'E:/Program Files/Microsoft SQL Server2005/Data/DB.mdf', 
   MOVE 'DBTest_log' TO 'E:/Program Files/Microsoft SQL Server2005/Data/DB_log.ldf',
STATS = 10, REPLACE
GO
++++++++++++++++++++++++++++++++

/*
备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
*/
USE master
BACKUP DATABASE DB 
  TO DISK = 'g:/DBBack0930.bak' 
RESTORE FILELISTONLY 
  FROM DISK = 'g:/DBBack0930.bak' 
RESTORE DATABASE DBTest 
  FROM DISK = 'g:/DBBack0930.bak' 
  WITH MOVE 'DBTest' TO 'E:/Program Files/Microsoft SQL Server2005/Data/DBTest.mdf', 
  MOVE 'DBTest_log' TO 'E:/Program Files/Microsoft SQL Server2005/Data/DBTest_log.ldf'
GO 
---******************************

解决方法二:
需要注意两点:
在【选项】界面里
1.选择“覆盖现有数据库”
2.修改【将数据库文件还原为】区域里的【还原为】的位置,和要恢复的数据库的实际位置保持一致(实际操作该步骤可选)

=====================================================

SqlServer2005 恢复数据库时出现:

Exclusive access could not be obtained because the database is in use

由于恢复数据库时需要对数据库进行独占的访问,在恢复之前你必须中止其他用户与数据库的连接。

可能的解决方法:
在恢复数据库前:
方法一.打开Management Studio.
点击数据库右键--》restart database

方法二.执行如下的Query:

Use Master

Alter Database [YOURDB]

SET SINGLE_USER With ROLLBACK IMMEDIATE

在恢复数据库后如果需要恢复会普通多用户模式:

Use master;
    Go

Alter Database [YOURDB]

SET MULTI_USER

Go

方法三

获取当前使用数据库用户链接,关闭连接

use master

go

sp_who(sp_who2)

go

得到相应spid,通过kill spid关闭连接

use master

go

kill @spid

go

ALTER DATABASE 命令的部分参数:

l SINGLE_USER | RESTRICTED_USER | MULTI_USER:控制哪些用户可以访问数据库。如果指定为 SINGLE_USER,那么同一时间只能有一个用户访问数据库。如果指定为 RESTRICTED_USER,那么只有 db_owner、dbcreator 或 sysadmin 角色的成员可以使用数据库。MULTI_USER 使数据库返回到正常操作状态。

l WITH <termination>:指定当数据库从一种状态转换到另一种状态时,何时回滚未完成的事务。只能指定下一条 termination 子句,而且该子句应跟在 SET 子句后面。

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE

设定是在指定秒数之后回滚还是立即回滚。如果省略了 termination 子句,那么将允许事务自主提交或回滚。

l NO_WAIT:指定如果请求的数据库语句或选项更改只有等待事务自主提交或回滚才能立即完成,该请求将失败。

----------------------------------------------------------------------------------------------------------------------------------------------

SQL Server 2005 还原数据库错误:System.Data.SqlClient.SqlError: 在对 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BusinessDB.mdf' 尝试 'RestoreContainer::ValidateTargetForCreation' 时,操作系统返回了错误 '5(拒绝访问)

2012-01-04 19:18:53|  分类: SQLServer|字号 订阅

 
 

解决SQL Server 2005 还原数据库错误:System.Data.SqlClient.SqlError: 在对 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BusinessDB.mdf' 尝试 'RestoreContainer::ValidateTargetForCreation' 时,操作系统返回了错误 '5(拒绝访问)',如图:


  
原因分析:
没有对"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\"创建文件的权限(可以把它复制到data),这是SQL2005对文件夹的安全性限制。
解决办法:
修改文件夹到'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\”或其他盘的文件夹下(如E:\mydb)即可。注意:mdf文件和ldf文件的路径都要修改。如图:

Sqlserver 数据库恢复常见错误及解决(网站转载 留着备用)的更多相关文章

  1. SQLSERVER 数据库恢复挂起的解决办法

    如果你的数据库还处于挂起状态,请把我下面代码的test改为你的库名,然后执行完,刷新就正常了: USE masterGOALTER DATABASE test SET SINGLE_USERGOALT ...

  2. IIS7常见错误及解决方法

    IIS7常见错误及解决方法   问题一:HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效.  详细错误信息模块 IIS We ...

  3. github常见操作和常见错误及其解决办法

    一.常见操作 1. 使用git在本地创建一个项目的过程 $ makdir ~/hello-world //创建一个项目hello-world $ cd ~/hello-world //打开这个项目 $ ...

  4. MVC MVC常见错误及解决办法

    MVC常见错误及解决办法 问题1: 必须添加对程序集“EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5 ...

  5. Servlet常见错误及解决方法

    常见错误及解决方法 1. 404产生的原因为Web服务器(容器)根据请求地址找不到对应资源,以下情况都会出现404的错误提示: 输入的地址有误(应用名大小写不正确,名称拼写不正确) 在web.xml文 ...

  6. 微信jssdk常见错误及解决方法

    调用config 接口的时候传入参数 debug: true 可以开启debug模式,页面会alert出错误信息.以下为常见错误及解决方法: invalid url domain当前页面所在域名与使用 ...

  7. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  8. Docker Hadoop 配置常见错误及解决办法

    Docker Hadoop 配置常见错误及解决办法 问题1:wordcount运行卡住,hadoop 任务运行到running job就卡住了 INFO mapreduce.Job: Running ...

  9. Ubuntu下Linux配置内核各种常见错误和解决办法

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...

随机推荐

  1. jQuery——插件制作

    1.$.fn.extend:扩展 jQuery 元素集来提供新的方法(通常用来制作插件),使用时是$('选择器').方法 2.$.extend:扩展jQuery对象本身,用来在jQuery命名空间上增 ...

  2. viod 0是什么?

    之前在牛客网上看到别人用viod 0来代替undefined,所以我去网上搜了一下,MDN是这么说的: 这个运算符能向期望一个表达式的值是undefined的地方插入会产生副作用的表达式. void ...

  3. 1 TaskQueue 实现Task 队列

    class Program { static void Main(string[] args) { List<Person> list = new List<Person>() ...

  4. 关于javascript原型链的记录

    构造函数拥有名为prototype属性,每个对象都拥有__proto__属性,而且每个对象的__proto__属性指向自身构造函数prototype. **当调用某种方法或属性时,首先会在自身调用或查 ...

  5. 1040 有几个PAT (25 分)

    题目链接:1040 有几个PAT (25 分) 做这道题目,遇到了新的困难.解决之后有了新的收获,甚是欣喜! 刚开始我用三个vector数组存储P A T三个字符出现的位置,然后三层for循环,根据字 ...

  6. 二、Scrapy命令行工具

    本文转载自以下链接:https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/commands.html Scrapy是通过 scrapy 命令行工具 ...

  7. webstorm+nodejs环境中安装淘宝镜像

    用过nodejs的人都知道,从node的官方模板库下载依赖包的时候,经常会遇到“假死”(页面静止不动)的状态,这种速度简直要逼死焦急地等待下班的人.还好咱们万能的淘宝提供了淘宝镜像这么一个不要更好用的 ...

  8. 【Codeforces 118B】Caesar's Legions

    [链接] 我是链接,点我呀:) [题意] 序列中不能连续出现k1个以上的1以及不能连续出现k2个以上的2,然后一共有n1个1以及n2和2,要求这n1+n2个数字都出现. 问序列有多少种可能. [题解] ...

  9. deepin下使用python遇到的一些情况

    1.系统自带python2.7和python3.5,直接运行python默认的是2.7版本的 当然直接运行python的默认版本是可以修改的,参考这里 然后可能需要3.6版本的话,就直接在命令行输入 ...

  10. bupt summer training for 16 #6 ——图论

    https://vjudge.net/contest/174020 A.100条双向边,每个点最少连2个边 所以最多100个点,点的标号需要离散化 然后要求恰好经过n条路径 快速幂,乘法过程就是flo ...