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强制覆盖

image

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 --手动刷新正在还原的数据库
posted @ 2024-06-14 16:58  做紧咩啊  阅读(99)  评论(0)    收藏  举报