SqlServer通过Sql语句备份和还原数据库
假设当前有个数据库jxc
1.备份数据库
将jxc数据库备份到E:\DataBaseBak目录下, 并命名为jxcbak.bak
BACKUP DATABASE [jxc]
TO DISK='E:\DataBaseBak\jxcbak.bak'
2.还原数据库
将E:\DataBaseBak目录下的jxcbak.bak还原,此时还原后的数据库名称为jxc
--还原数据库
RESTORE DATABASE [jxcbak]
FROM DISK='E:\DataBaseBak\jxcbak.bak'
3.还原数据库, 且重命名数据库
还原E:\DataBaseBak目录下的jxcbak.bak, 且重命名数据库为jxcbak
--检查备份文件的逻辑信息,主要为LogicName,一个是数据文件mdf,一个是日志文件ldf
RESTORE FILELISTONLY
FROM DISK = 'E:\DataBaseBak\jxcbak.bak';
--重命名数据库为jxcbak, move后面的为上一条sql查询出来的LogicName, To后面则为还原后数据库的mdf和ldf文件存放位置, 可自定义
RESTORE DATABASE [jxcbak]
FROM DISK='E:\DataBaseBak\jxcbak.bak'
WITH
MOVE 'jxc' TO 'E:\DataBaseBak\jxcbak.mdf',
MOVE 'jxc_log' TO 'E:\DataBaseBak\jxcbak_log.ldf',
4.若还原过程中出现备份集中的数据库备份与现有的 'xxx' 数据库不同的错误, 使用REPLACE, NORECOVERY强制覆盖

Backup Database [TglDataSQL]
to Disk = 'D:\TglDataSQL.bak'
RESTORE DATABASE Backup_TglDataSQL
FROM DISK = 'D:\TglDataSQL.bak'
WITH MOVE 'TglData_Data' TO 'E:\Database\Backup_TglDataSQL.mdf',
MOVE 'TglData_Log' TO 'E:\Backup_TglDataSQL_log.ldf',
REPLACE, NORECOVERY
Restore Database [Backup_TglDataSQL] with Recovery --手动刷新正在还原的数据库

浙公网安备 33010602011771号