⾃动定时备份sqlserver数据库的⽅法
下⾯是我已经证实可⽤的⾃动备份的⽅法.
1、打开企业管理器->管理->sql server代理
2、新建⼀个作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他⽤户,前提是该⽤户有执⾏作业的权
限;
3、点击步骤标签,进⼊步骤⾯板.新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改.命令中写⼊以下语句:
BACKUP DATABASE [数据库名] TO DISK = N'F:\databack\firenews备份' WITH NOINIT , NOUNLOAD , NAME =
N'firenews备份', NOSKIP , STATS = 10, NOFORMAT
注意:需要修改的地⽅,数据库名,DISK=(这⾥需要填写路径和你的数据库备份的名称)后⾯的Name=可以随便填写.
4、点击调度标签,进⼊调度⾯板,新建调度,名称随便填写,选择反复出现,点更改可以选择你想要执⾏任务的随意调度.如每天,每2
天,每星期,每⽉等.根据需要⾃⼰设置;(注意:在调度名称后⾯有个启动选项,必须勾选)
5、确定后,不要忘记⼀件事情,在你刚才建⽴的⼯作上点右键,启动⼯作,如果你的⼯作没有问题,将会提⽰执⾏成功,并有相对应
的备份⽂件在你的磁盘上出现;
6、还有⼀个重要的问题就是你的sql server agent服务器已经启动.
如果我们需要根据每天的⽇期来⽣成⼀个新的备份,以便我们区别备份⽂件.这时,我们需要修改⼀下刚才的sql语句.
1、⾃动备份,固定备份名,每次会追加备份
复制代码代码如下:
backup database FireNews to disk=N'F:\databack\firenews备份' with noinit,nounload,name=N'firenews备
份',noskip,stats=10,noformat
backup database fireweb to disk=N'F:\backup\data\fireweb\fireweb备份' with noinit,nounload,name=N'fireweb备
份',noskip,stats=10,noformat
2、⾃动备份,以时间命名,完整备份
复制代码代码如下:
declare @filename nvarchar(100) set @filename='F:\databack\data'+convert(char(8),getdate(),112)+'.bak' print @filename
BACKUP DATABASE [firenews] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'firenews备份', NOSKIP,
STATS = 10, NOFORMAT
declare @filename nvarchar(100) set @filename='F:\backup\data\fireweb\fireweb'+convert(char(8),getdate(),112)+'.bak'
print @filename BACKUP DATABASE [fireweb] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'fireweb备
份',NOSKIP, STATS = 10, NOFORMAT
注:
1、备份的数据库存放的⽂件夹必须已经存在;
2、N 必须⼤写;
3、NAME的值可以随便写;
4、FireNews,fireweb为数据库名;
5、新建作业时提⽰:未能找到存储过程master.dbo.xp_regread,表名master数据库没有这个存储过程(可能是做安全处理的
时候删除了),需⾃⼰注册。⽅法是:找到数据库——
master——扩展存储过程,右键“新建扩展存储过程”(名称:xp_regread,路径直接填:xpstar.dll)
以下为完整的备份数据库的⽅法:
备份整个数据库:
复制代码代码如下:
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]