数据库备份与日志处理策略

 

 

一、数据库备份

declare  @time datetime 
  ,@savePath varchar(500)  --保存路径
  ,@filePath varchar(500)  --文件路径
  ,@dbName varchar(500)  --数据库名
  ,@bakName varchar(500)  --备份名
  ,@keepDays int    --备份保留天数
  ,@delBkEndTime datetime  --旧有备份删除截止时间

set @time = getdate()
set @savePath = N'D:\dbs\bak'

/*********************************备份CommonData数据库*********************************************/
--设置要备份库
set @dbName = N'CommonData'
set @keepDays = 3    --删除3天前的备份

--拼接路径及备份名
set @filePath = @savePath + '\' + @dbName + N'_' + convert(varchar(10),@time,21) + N'.bak'
set @bakName= @dbName + N'_' + convert(varchar(10),@time,21)
set @delBkEndTime = dateadd(day, -@keepDays, getdate())
--select @savePath, @dbName, @filePath, @bakName, @delBkEndTime

--备份
BACKUP DATABASE @dbName
TO DISK = @filePath
WITH NOFORMAT, INIT, 
NAME = @bakName, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

--删除旧有备份
EXECUTE master.dbo.xp_delete_file 0, @savePath, N'bak', @delBkEndTime
/*********************************备份CommonData数据库*********************************************/

 

 

二、日志处理

 

2.1 首先了解日志的三种恢复模式

简单,批量更新和完全,简单模式LOG文件不会自动增大或不会自动增大很多,因为每当发生一个检查点,它就可以覆盖以前的日志空间;

批量和完全,只有当你备份了日志内容后,日志空间才可以被覆盖利用,因此,如果你当你的数据库在完全模式时,你限制了日志文件的大小,那么如果你的数据库日志文件不及时备份,可能会导致系统挂起。
(注意:如果你限制日志文件增长,那么你可以在企业管理器里通过数据库的属性,然后在属性窗口更改日志文件的属性,即取消日志文件增长就可以,当然你也可以限制文件增长的最大尺寸。)

 

2.2 限制日志文件无限制增长步骤

数据库-》右键-》属性-》文件-》设置日志文件的最大大小-》确定-》选项-》设置恢复模式为“简单”-》确定

 

三、综合策略

因为如果不限制数据库日志的增长,数据库日志将无限制增长从而占用极多的硬盘,而且如果要还原备份的数据库的话也将非常的缓慢,因此限制数据库日志的大小非常必要;但是使用“简单”回复模式的日志后,数据的安全性降低了,但是可以通过上面的数据库备份操作来提高数据的安全性,对数据库每x小时备份一次,不仅提高了安全性,而且恢复起来也会相当的快,因为少了日志这条大大的尾巴

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值