1.当数据库已经建好在DB里,SQL Server 2005 和 SQL Server 2008使用.Bak文件还原的时候,会出现 error : "The backup set holds a backup of a database other than the existing" 查了网上的方法:

方法一[未验证]

[sql] view plaincopy --返回由备份集内包含的数据库和日志文件列表组成的结果集。

--主要获得逻辑文件名

      • --返回由备份集内包含的数据库和日志文件列表组成的结果集。
      • --主要获得逻辑文件名
      • 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.修改【将数据库文件还原为】区域里的【还原为】的位置,和要恢复的数据库的实际位置保持一致

方法三[验证过,可行] 1.先删掉需要还原的数据库,右键【服务器】下的【数据库】,选择【还原数据库】,键入新的目标数据库名; 2.在【选项】里,选择覆盖数据库; 3.执行就ok了。

2.Microsoft SQL Server还原失败,错误: 3219

转载自:http://blog.sina.com.cn/s/blog_4e6f891f0101css5.html

MSSQL还原数据库失败,提示如下: 还原对与服务器 失败。(Microsoft.SqlServer.Smo)

其它信息:执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionsInfo)。不能选择文件或文件组“……”用于此操作。 RESTORE DATABASE 正在异常终止。(Microsoft SQL Server, 错误:3219)

出现此错误时我的操作步骤为:右击数据库》》任务》》还原》》文件和文件组》》源设备(选择备份文件)》》指定备份文件位置》》添加选定文件。在“还原文件和文件组”对话框中点击“确定”按钮,即出现上面显示的错误。

正确的步骤为:右击数据库》》任务》》还原》》数据库》》源设备(选择备份文件)》》指定备份文件位置》》添加选定文件。在“还原数据库”对话框中点击“确定”按钮,即可正确还原。

主要原因: 文件和文件组备份必须被还原到匹配的数据库

还原文件和文件组备份 SQL Server 的说明的详细信息可见: http://support.microsoft.com/kb/281122/zh-cn

至于“还原数据库”和“还原文件和文件组”的区别可以见此文章:http://www.cnblogs.com/zping/archive/2008/08/21/1272961.html

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

在此简单说明下,我不是用于还原已存在数据库,而是创建新数据库,与上面操作不同的只是:不是指定某个数据库后右键》任务》……,而是数据库上一级【数据库】右键》还原数据库(注意:不是还原文件和文件组)……。

SQL Server还原和一些小发现的更多相关文章

  1. Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)

    Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权) 问题分析:数据库还原的时候还有其他进程连在上面,导致无法获得独占造成的. 解决方案: 一.切断连接进程 .查询要还原的数据 ...

  2. sql server 常用的函数小汇

    摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但 ...

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

    这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户.解决办法就是关闭与要还原数据库的所有连接. 脚本之家小编推荐的一个方法:到服务里面重启下sqlserver服务 ...

  4. sql server还原数据库文件(.bak)常见问题解决办法笔记

    还原的时候出现错误:备份集中的数据库备份与现有的数据库不同 SQL Server 2005数据库还原出错错误具体信息为:备份集中的数据库备份与现有的A数据库不同 具体操作如下:第一次:新建了数据库A, ...

  5. sql server还原注意事项

    使用Sql Server 2000的数据库备份文件还原Sql Server 2000的数据库和还原Sql Server 2005的数据库区别:1.在还原至Sql 2000时是必须新建数据库并对其还原, ...

  6. SQL Server还原数据库

    http://www.cnblogs.com/ggll611928/p/6377545.html 恢复数据库: 1.分离数据库以断开当前的访问连接. 2.附加数据库mdf文件. 3.执行RESTORE ...

  7. SQL Server 还原错误“restore database正在异常终止 错误 3154”

    今天在还原数据库时,先建立相同名字的数据库,然后在该数据库上右键还原数据库.遇到了这样的一个错误: “备份集中的数据库备份与现有的 'RM_DB' 数据库不同. RESTORE DATABASE 正在 ...

  8. [SQL SERVER] - 还原数据库备份(SQL脚本),抛出 "System.OutOfMemoryException" 异常之解决

    背景 在 Microsoft SQL Server 2016 的查询窗体中,直接还原备份数据库的 SQL 脚本(99MB),抛出 Cannot execute script 异常: 原因 相关资料说: ...

  9. sql server还原数据库bak文件

    RESTORE DATABASE CCC FROM DISK = 'AAA.bak' with replace,  MOVE 'BBB' TO 'C:\Program Files\Microsoft ...

随机推荐

  1. 常用webservice网址

    http://www.gpsso.com/Main/ServiceList.aspx http://developer.51cto.com/art/200908/147125.htm 这里记录了几个常 ...

  2. AngularJs练习Demo16 ngRoute

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. ORA-02447: cannot defer a constraint that is not deferrable

    一个constraint如果被定义成deferrable那么这个constraints可以在deferred和imediate两种状态相互转换. deferred只在transaction中有效,也就 ...

  4. UI基础视图----UIView总结

    UIView是UIKit框架里面最基础的视图类,是UIResponder的子类,是UIApplication和UIViewController的兄弟类,是UIWindow,UILabel,UIImag ...

  5. iOS9新特性之UIStackView

    同iOS以往每个迭代一样,iOS 9带来了很多新特性.UIKit框架每个版本都在改变,而在iOS 9比较特别的是UIStackView,它将从根本上改变开发者在iOS上创建用户界面的方式.本文将带你学 ...

  6. 动态代理写connection连接池Demo

    public class JdbcUtil2 { //声明连接池<放到LinkedList中,操作其中对象的速度快 只需要改变连接> private static LinkedList&l ...

  7. poj2187 Beauty Contest(旋转卡壳)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Beauty Contest Time Limit: 3000MS   Memor ...

  8. python中的super

    super用于类的继承.用super()代替父类名 (一)通过类名调用父类中的方法                                                         (二 ...

  9. angularjs学习笔记—事件指令

    ngClick 适用标签:所有触发条件:单击 #html <div ng-controller="LearnCtrl"> <div ng-click=" ...

  10. 安装AD15有问题多数是因为旧版本AD软件没有卸载干净,清理方法详解

    论坛中总会看到有些朋友安装AD14.x,AD15.x后,使用不正常,多数情况是因为旧版本的AD软件没有卸载干净,安装新版本AD软件后,就会有问题.卸载和清理AD旧版本软件的方法如下(此方法只能解决卸载 ...