RESTORE DATABASE命令还原SQLServer 数据库 bak
今天在sqlServer20005 的management studio里使用bak文件还原数据库的时候,总是失败!
Restore failed for Server 'ADANDELI'. (Microsoft.SqlServer.Smo)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo
The backup set holds a backup of a database other than the existing 'AAA' database.
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server,错误: 3154)
找不到原因(已经选择了"overwrite the existing database"),只能使用命令来还原了,不知道为什么会这样.![]()
--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--主要获得逻辑文件名
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
---******************************换了电脑,需要恢复一下数据库的数据,本来以为很简单,结果遇到了一点问题。
- 图形界面选择了源文件后, 在选项里面:上面选择覆盖,下面选择norecovery.
发现错误提示是找不到目标目录。
2.于是建了个同名数据库,建立过程中修改了文件目录,变为自己想要存放的目录。
3.发现使用这种方法,提示NDF文件找不到目录。
4.NDF文件是在较大数据库使用过程中产生的,新建的空数据库当然不会有了。于是想当然手动建立,恢复,出错,这也是应当的。
5.于是直接命令恢复。
restore database MeteorologyDB from disk='H:\ghost\fghjkl\MeteorologyDB.BAK'
with replace,
move 'MeteorologyDB_Data' to 'D:\MeteorologyDB.MDF',
move 'MeteorologyDB_Data1' to 'D:\MeteorologyDB.NDF',
move 'MeteorologyDB_Log' to 'D:\MeteorologyDB.LDF'
- 1
- 2
- 3
- 4
- 5
6.上述过程可能有两个问题产生:
一是提示数据库正在使用,无法恢复。这个时候前面加上一句use master就ok.
二是提示逻辑文件名字错误,不存在于此数据库类似的提示。这个时候参考第一张图,也就是图形界面恢复的选项配置的界面。里面有mdf,ndf,ldf的名字,根据这些名字更改逻辑文件的名,也就是move的第一个参数。注意的是不要加扩展名。
7.可以看到所有的表都恢复了。
http://blog.csdn.net/tianguokaka/article/details/46968951
RESTORE DATABASE命令还原SQLServer 数据库 bak的更多相关文章
- (转载)RESTORE DATABASE命令还原SQLServer 2005 数据库
今天恢复一个SQLServer2008R2,发现问题,然后通过园友的文章解决了问题,特记录备用 原文地址:http://www.cnblogs.com/adandelion/archive/2006/ ...
- RESTORE DATABASE命令还原SQLServer 2005 数据库
--返回由备份集内包含的数据库和日志文件列表组成的结果集. --主要获得逻辑文件名 USE master RESTORE FILELISTONLY FROM DISK = 'g:\back.Bak' ...
- 通过restore database时重命名数据库rename database
backup database testdb to disk='c:\testdb_ful.bak' with compression backup log testdb to disk='c:\te ...
- 为何SQL SERVER使用sa账号登录还原数据库BAK文件失败,但是使用windows登录就可以
今天发现一个问题,就是公司开发服务器上的sql server使用sa账号登录后,还原一个数据库bak文件老是报错,错误如下: TITLE: Microsoft SQL Server Managemen ...
- sql server还原数据库bak文件
RESTORE DATABASE CCC FROM DISK = 'AAA.bak' with replace, MOVE 'BBB' TO 'C:\Program Files\Microsoft ...
- SQL2005中使用backup、restore来备份和恢复数据库
在SQL2005数据库中利用SQL语句进行数据备份与还原: 备份backup:backup database 数据库名称 tO disk = 备份路径例:BACKUP DATABASE test TO ...
- SqlServer数据库分区分表实例分享(有详细代码和解释)
数据库单表数据量太大可能会导致数据库的查询速度大大下降(感觉都是千万级以上的数据表了),可以采取分区分表将大表分为小表解决(当然这只是其中一种方法),比如数据按月.按年分表,最后可以使用视图将小表重新 ...
- 命令行下从bak文件恢复sqlserver数据库方法
命令行下从bak文件恢复sqlserver数据库方法 注:本文所示访问从SqlServer 2000 - 2014版都是通用的 参考:http://blog.sina.com.cn/s/blog_5c ...
- sqlserver数据库附加分离备份还原命令
--获取所有数据库的名称 select [name] from master.dbo.sysdatabases where [name]='master' --判断数据库是否存在 if exists( ...
随机推荐
- Mac下JAVA开发环境搭建
最近开始学习JAVA, 首先配置下环境! 1.Mac自带的jdk版本老了,需要到oracle官网去下载新的jdk,具体下载那个版本看个人需求,然后安装. 安装完成之后打开Terminal, 执行命 ...
- Web安全开发指南--数据验证
1.数据验证 4.1.输入数据验证安全规则 1 数据验证必须放在服务器端进行. 2 至少对输入数据的数据类型.数据范围和数据长度进行验证. 3 所有来自不可信数据源(比如网络.用户命令.数据库和文件系 ...
- 网络上的等待事件 —— SQL*Net message from client/dblink
SQL*Net message from client SQL> select event#,name,parameter1,parameter2,parameter3 from v$event ...
- 读取bq26500电池电量 Driver
bq26500是用于锂离子电池.锂聚合物电池充电.放电控制和监控的集成电路芯片.利用它能够准确提供电池充电.放电.电池温度.充放电电压.电池电量等相关数据.不须要外接微处理器參与电池充电.放电等相关数 ...
- iOS:文本视图控件UITextView的详细使用
文本视图控件:UITextView 介绍:它是一个文本域的编辑视图,可以在该区域上进行编辑(包括删除.剪贴.复制.修改等),它与文本框UITextField的不同之处是:当它里面的每一行内容超出时,可 ...
- iOS:网页视图控件UIWebView的详解
网页视图控件:UIWebView 功能:它是继承于UIView的,是一个内置的浏览器控件,以用来浏览从网络下载下来的网页或者本地上加载下来的文档. 枚举: //网页视图导航类型 typedef NS_ ...
- sftp子系统申请已拒绝 请确保ssh连接的sftp子系统设置有效
一.sftp子系统申请已拒绝,请确保ssh连接的sftp子系统设置有效 1.修改配置文件 [root@nulige ~]# vi /etc/ssh/sshd_config # override def ...
- SecureCRT配置文件保存和导入
每次重装系统,都要重新配置SecureCRT,为了减少重复工作.直接在SecureCRT软件中找到:选项---全局选项---常规---配置文件夹下面路径:C:\Users\Administrator\ ...
- .NET MVC之ActionResult
.NET MVC之ActionResult ActionResult是所有Controler返回值的父类.各种结果都是由ActionResult包装后发往客户端的. 继承结构 System.Objec ...
- timeline bugs
timeline有个问题巨坑 修了很久 就是一个track控制character的position 另一个track控制同一个character的animaion 拖一段现成的动画进去 这种情况 会有 ...