SQLServer中的数据库备份恢复并重命名
2014-03-18 10:44
218 查看
在做数据库备份时常常需要将A数据库备份,并恢复成一模一样的B数据库,但是在restore的时候SQL Server会自动式别.bak文件的数据文件和日志文件的逻辑名称(一般情况下是 A.mdf 和 A_log.ldf ),而数据库中又已经存在A数据库,这时便会报错。比较傻瓜式的方法是重命名之前的数据库,但是这样又会有很多不可预见的问题。经查阅资料发现合理的方法如下:
>>1
RESTORE FILELISTONLY FROM DISK='D:\A.bak'
此时结果集会显示A备份数据库的数据文件和日志文件的逻辑名称
>>2
RESTORE DATABASE B FROM DISK='D:\A.bak'
WITH
MOVE 'A' TO 'D:\B.mdf',
MOVE 'A_log' TO 'D:\B_log.ldf'
运行完成后输出 RESTOREDATABASE
successfully processed 255
pages in20.504
seconds (10.89
MB/sec).
>>3
刷新数据库会发现B数据库已存在
>>1
RESTORE FILELISTONLY FROM DISK='D:\A.bak'
此时结果集会显示A备份数据库的数据文件和日志文件的逻辑名称
>>2
RESTORE DATABASE B FROM DISK='D:\A.bak'
WITH
MOVE 'A' TO 'D:\B.mdf',
MOVE 'A_log' TO 'D:\B_log.ldf'
运行完成后输出 RESTOREDATABASE
successfully processed 255
pages in20.504
seconds (10.89
MB/sec).
>>3
刷新数据库会发现B数据库已存在
相关文章推荐
- Mysql Explain 详解
- Oracle 11gR2 rac 的各项服务说明
- SQL server2008导入导出数据库
- SQL中group by的用法
- ORA-01034: ORACLE not available 出错
- SQL2005学习(十一),中大型数据库备份还原策略
- oracle with as 用法
- 查找某个用户下的表,某个用户下某个表的列,及列类型
- Excel表格数据导入mysql数据库中
- MySQL DELETE语句和TRUNCATE TABLE语句的区别
- linux otl oracle数据库连接例子
- mysql 远程登录及常用命令
- MongoDB Connector for Hadoop
- Mysql 存储过程详解
- Oracle SQL tuning 步骤
- 用户权限管理模块【表结构及SQL语句】
- MYSQL 获取当前日期及日期格式,和常用时间转换函数
- oracle导入导出
- HOSt ip is not allowed to connect to this MySql server
- C# 检查字符串,防SQL注入攻击