SQL Server还原和一些小发现
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
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还原和一些小发现的更多相关文章
- Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)
Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权) 问题分析:数据库还原的时候还有其他进程连在上面,导致无法获得独占造成的. 解决方案: 一.切断连接进程 .查询要还原的数据 ...
- sql server 常用的函数小汇
摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但 ...
- sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户.解决办法就是关闭与要还原数据库的所有连接. 脚本之家小编推荐的一个方法:到服务里面重启下sqlserver服务 ...
- sql server还原数据库文件(.bak)常见问题解决办法笔记
还原的时候出现错误:备份集中的数据库备份与现有的数据库不同 SQL Server 2005数据库还原出错错误具体信息为:备份集中的数据库备份与现有的A数据库不同 具体操作如下:第一次:新建了数据库A, ...
- sql server还原注意事项
使用Sql Server 2000的数据库备份文件还原Sql Server 2000的数据库和还原Sql Server 2005的数据库区别:1.在还原至Sql 2000时是必须新建数据库并对其还原, ...
- SQL Server还原数据库
http://www.cnblogs.com/ggll611928/p/6377545.html 恢复数据库: 1.分离数据库以断开当前的访问连接. 2.附加数据库mdf文件. 3.执行RESTORE ...
- SQL Server 还原错误“restore database正在异常终止 错误 3154”
今天在还原数据库时,先建立相同名字的数据库,然后在该数据库上右键还原数据库.遇到了这样的一个错误: “备份集中的数据库备份与现有的 'RM_DB' 数据库不同. RESTORE DATABASE 正在 ...
- [SQL SERVER] - 还原数据库备份(SQL脚本),抛出 "System.OutOfMemoryException" 异常之解决
背景 在 Microsoft SQL Server 2016 的查询窗体中,直接还原备份数据库的 SQL 脚本(99MB),抛出 Cannot execute script 异常: 原因 相关资料说: ...
- sql server还原数据库bak文件
RESTORE DATABASE CCC FROM DISK = 'AAA.bak' with replace, MOVE 'BBB' TO 'C:\Program Files\Microsoft ...
随机推荐
- VS 的winform中生成release模式
我试过,直接在项目的"Properties"中,修改"Build"标签的"Configuration"还不行.因为之前将不常用的工具栏隐藏了 ...
- Linux 开机报 or type Control-D to continue
解决步骤: 1.输入root密码 2.看是哪个盘报的错,我这边是sda3(可能会是不同的盘),就是代码中标为FAIL 输入以下命令fsck -y /dev/sda3
- 使用UISegementControl实现简易汤姆猫程序
// // TomViewController.m #import "TomViewController.h" #import <AVFoundation/AVFoundat ...
- 解决iOS中tabBarItem图片默认颜色的问题(指定代码渲染模式为以原样模式的方式显示出来)
解决iOS中tabBarItem图片默认颜色的问题(指定代码渲染模式为以原样模式的方式显示出来) 解决办法:指定图片的渲染模式(imageWithRenderingMode为:UIImageRende ...
- 高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框
上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输 ...
- uva 11038 - How Many O's?
想法: 將問題簡化為求1~m 0的總數,以及1~n 0的總數,然後最後再相減. 求1~n 0的總數,要將n分別算每個位數0的個數,舉例如30324: 先從右邊第一位'4'開始,其左邊為3032,表示1 ...
- [Mugeda HTML5技术教程之4] Studio 概述
Mugeda Studio 是基于云平台的制作HTML5动画的专业可视化集成开发环境,可以让你在不需要安装客户端程序的情况下,只通过浏览器就能轻松创作高质量的HTML5动画.HTML5动画相对于传统的 ...
- virtual pc中添加软盘支持
最近对操作系统挺有兴趣的,实验了一下!准备找一个虚拟机,之前在xp上使用virtual pc感觉不错,准备在本机上装一下,但是发现居然不支持软盘了! 查阅了各种资料,终于找到了解决的办法. 1. 下载 ...
- Android-4
显式Intent 隐式Intent Intent过滤器相关选项 通过浏览器链接启动本地Activity
- Linux企业级项目实践之网络爬虫(5)——处理配置文件
配置文件在Linux下使用得非常普遍,但是Linux下没有统一个配置文件标准. 我们把配置文件的规则制定如下: 1.把"#"视作注释开始 2.所有的配置项都都是以键值对的形式出现 ...