使用SQL SERVER备份命令备份数据库
SQL SERVER数据库备份命令:
完整备份(包括数据data和日志log):
Backup Database *database_name*
To disk='*X:\folder\databse_name_backupname.bak*'
注:前提是X:\folder存在
成功:
注 : 此命令无法将数据库备份到网络地址上
使用该命令:
Backup Database *database_name*
To disk='*\\xxx.xxx.xxx.xxx\folder\databse_name_backupname.bak*'
会出现如下错误提示:
注:即使将网络地址映射为驱动器也是不行的:
Backup Database *database_name*
To disk='*Z:\databse_name_backupname.bak*'
同样会出现错误提示:
差异备份(包含数据data和日志log)
Backup Database *database_name*
To disk='X:\folder\database_name_diff_backupname.bak'
with Differential
注:前提是X:\folder存在
成功:
3. 镜像备份
说明:mirror1和mirror2两个备份都是一样的
Backup Database database_name
To disk='X:\folder\database_name_mirror1.backupname.bak'
Mirror
To disk='X:\folder\database_name_mirror2.backupname.bak'
with Format
注:如果没有with Format,则会提示错误,并给出错误消息
加上with Format后,成功:
To disk='\\xxx.xxx.xxx.xxx\folder\database_name_mirror.backupname.bak'
with Format
4. 镜像备份到本地和远程
5. 每天生成一个备份文件
sql server数据备份相关
1,执行完全备份
这是直接备份到g盘的情况
backup database 数据库名 to disk='g:\database.bak'
这是备份到备份设备的情况,with init是初始化,也就是直接覆盖
bakup database 数据库名 to mybackup with init
2,执行差异备份
backup database 数据库名 to mybackup with differential
差异备份最后一次是从上一次完全备份的差异
3,数据库恢复
use master
go
use数据库名
//执行数据库完全备份的还原
restore database 数据库名 from mybackup with replace,file=1,noRecovery
使用文件1,也就是完全备份那个文件直接覆盖数据库,但是还要继续覆盖。noRecovery就是还要继续还原
//执行数据库差异备份的还原
restore database 数据库名 from mybackup with file=2,Recovery
如果有多次差异备份,file=2就改成最后一次的文件顺序,Recovery表示还原成功了的
二、先做完全备份,再做事务日志备份
事务日志备份
backup log 数据库名 to mybackup
先用完全备份还原数据库
restore database 数据库名 from myback with replace,file=1,noRecovery
然后使用日志还原到一个时间点
restore database 数据库名 from mybackup with file=2,stopat='2016-01-01 12:12:00',Recovery
这是用事务日志文件还原到设置时间点的数据库