自动定时备份SQLServer2005数据库.doc
文本预览下载声明
自动定时备份SQLServer2005数据库
下面是我已经证实可用的自动备份的方法.
?? 1、打开企业管理器-管理-sql server代理
?? 2、新建一个作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限;
?? 3、点击步骤标签,进入步骤面板.新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改.命令中写入以下语句:BACKUP DATABASE [数据库名] TO? DISK = NF:\\databack\\firenews备份 WITH? NOINIT ,? NOUNLOAD ,? NAME = Nfirenews备份,? NOSKIP ,? STATS = 10,? NOFORMAT?? ?? 注意:需要修改的地方,数据库名,DISK=(这里需要填写路径和你的数据库备份的名称)后面的Name=可以随便填写.?
?? 4、点击调度标签,进入调度面板,新建调度,名称随便填写,选择反复出现,点更改可以选择你想要执行任务的随意调度.如每天,每2天,每星期,每月等.根据需要自己设置;(注意:在调度名称后面有个启动选项,必须勾选)
?? 5、确定后,不要忘记一件事情,在你刚才建立的工作上点右键,启动工作,如果你的工作没有问题,将会提示执行成功,并有相对应的备份文件在你的磁盘上出现;
?? 6、还有一个重要的问题就是你的sql server agent服务器已经启动.
?? 如果我们需要根据每天的日期来生成一个新的备份,以便我们区别备份文件.这时,我们需要修改一下刚才的sql语句.?参考实例:
1、自动备份,固定备份名,每次会追加备份
backup database FireNews to disk=NF:\\databack\\firenews备份 with noinit,nounload,name=Nfirenews备份,noskip,stats=10,noformat
backup database fireweb to disk=NF:\\backup\\data\\fireweb\\fireweb备份 with noinit,nounload,name=Nfireweb备份,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 = Nfirenews备份, 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 = Nfireweb备份,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 ]????[ [ , ] EXPIRE
显示全部