数据库的备份与还原
备份类型 | 说明 |
---|---|
完整备份 | 某一次完全备份 |
差异备份 | 一次完全备份+最后一次差异备份 |
日志备份 | 一次完全备份+后边依次备份 |
完整备份
use 数据库名
go
backup database 数据库名
to disk=物理文件路径名
with init
name =备份设备名
description =设备描述
init 或 noint
go
eg:创建备份设备back_student上备份数据库student,并覆盖以前的数据。
--预处理工作
use master
go
exec sp_addumpdevice 'disk','my_disk','D:\sqlBackup\firstbackup'
go
--完整备份数据库
use master
go
backup database student
to disk='D:\sqlBackup\tmpxsbook.bak'--物理文件名(备份的文件名)
with init --表示覆盖当前设备上的每一项内容
name='D:\sqlBackup\BACK_STUDENT'--备份到的设备名字
description ='This is then full full backup STUDENT'
差异备份
use 数据库名
go
backup database 数据库名
to disk=物理文件路径名
with diffetental
name =备份设备名
description =设备描述
init 或 noint
go
eg:创建数据库student的差异备份,并将此次备份追加到以前所有备份的后边 。
--差异备份数据库
use master
go
backup database student
to disk='D:\sqlBackup\firstbackup'
with diffetental --注意此处为diffetental
noint --不覆盖
go
日志备份
use 数据库名
go
backup log 数据库名
to disk=物理文件路径名
with diffetental
name =备份设备名
description =设备描述
init 或 noint
norecovery
eg:对数据库student做日志备份。要求追加到现有的备份集firstbackup 本地磁盘设备上。
--日志备份数据库
use master
go
backup log student
to disk='D:\sqlBackup\firstbackup'
with noint
go
备份恢复
--修改记录(插入测试)
use chaxun
go
insert into sc (sno,cno,grade)values('s62','c34',66)
go
--恢复数据
USE MASTER
go
RESTORE DATABASE CHAXUN
FROM DISK='D:\sqlBackup\firstbackup'
go