在SQL Server 2005数据库中实现自动备份

第1种方法:

企业管理器
  --管理
  --右键数据库维护计划
  --新建维护计划
  --<下一步>
  --选择你要备份的数据库
  --<下一步>直到"指定数据库备份计划"这项
  --指定存储备份文件的位置,这里根据需要选择备分到磁带还是磁盘
  --单击调度后面的"更改"按纽
  --定义你的数据备份计划的时间安排,完成后确定
  --<下一步>
  --这里可以设置备份文件的保留时间和备文件的扩展名
  --<下一步>
  --选择是否做日志备份计划
  --<下一步>直到完成.

然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

第2种方法:

企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句: backup database 数据库名称 to disk='c:/备份文件名.bak'
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排

然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行


第3种方法:

建作业:
企业管理器中,管理——》SQL SERVER代理——》作业——》鼠标右键新建作业——》常规页中输入名称——》步骤页中新建步骤、输入名称、加入SQL语句:——》调度页中新建调度、输入名称,选择反复出现,更改时间——》OK

完了之后,若没有启动SQL Agent,则在服务管理器——》SQL Agent选上当启动OS时自动启动

再在企业管理器中,鼠标右键刚才建的作业——》启动作业——》OK

----在加入SQL语句:——里写入以下的语句,并修改数据库名和备份的目录


declare @filedir varchar(200),@dir varchar(200)
declare @dbname varchar(50),@bakname varchar(50),@sql varchar(4000)
select @filedir=filename from sysfiles
set @dir=''
while charindex('/',@filedir)<>0
begin
  set @dir=@dir+left(@filedir,charindex('/',@filedir))
  set @filedir=substring(@filedir,charindex('/',@filedir)+1,len(@filedir)-charindex('/',@filedir))
end
set @bakname='bak'+cast(datepart(weekday,getdate())-1 as varchar(1))
-----指定数据库
set @dbname='scmbuilder'

set @sql='BACKUP DATABASE ['+@dbname+'] TO  DISK = N'''+'e:/sqlbak/'+@bakname+''' WITH  INIT ,  NOUNLOAD ,  NOSKIP ,  STATS = 10,  NOFORMAT'
--备份文件到"e:/sqlbak/"目录下
exec(@sql)


备份时可能会降低应用程序对数据库的操作性能,但SQL会协调好的,只是应用程序操作数据库可能会慢一些

 

文章来自:http://dcbjavaeye.javaeye.com/blog/249829

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值