SQL Server事务日志过大的处理

 

假设test2为数据库名称  
   
  日志已经很大的时候用  
   
  方法一  
  此方法适用于7.0和2000。  
  1、在查询分析器中执行:  
  exec   sp_detach_db   'DB_Name'  
  2、在我的电脑中将日志的物理文件xxx_Log.LDF改名。  
  3、在查询分析器中执行:  
  exec   sp_attach_single_file_db   'DB_Name','C:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\DB_Name.MDF'  
  4、如果上一步成功,将步骤2中改名后的文件删除。如果上一步不成功,改回原来的文件名,  
  用sp_attach_db将数据库附加到服务器,然后用方法二。  
   
   
  方法二  
  6.X中  
  DUMP   TRANSACTION   test2   with   NO_LOG  
  DUMP   TRANSACTION   test2   with   TRUNCATE_ONLY  
  将上面的语句多次执行,直到日志缩小。  
  7.0和2000中  
  backup   log   test2   with   NO_LOG  
  backup   log   test2   with   TRUNCATE_ONLY  
  DBCC   SHRINKDATABASE(test2)  
  将上面的语句多次执行,直到日志文件缩小。  
   
  上面的方法治标不治本,标本兼治要用下面的方法。  
   
  方法三:  
  --6.X和7.0中改为日志处于截断模式,2000中恢复模型改为简单恢复  
  exec   sp_dboption   'test2','trunc.   log   on   chkpt.','on'  
  --7.0和2000中设为自动收缩,6.x中不用执行。  
  exec   sp_dboption   'test2','autoshrink','on'  
  通常用于测试环境。  
   
  方法四:  
  --7.0中改为日志不处于截断模式,2000中恢复模型改为完全恢复  
  exec   sp_dboption   'test2','trunc.   log   on   chkpt.','off'  
  --7.0和2000中设为自动收缩,6.x中不用执行。  
  exec   sp_dboption   'test2','autoshrink','on'  
  建立作业,每半个小时一次日志备份,每天一次完全数据库备份。  
  7.0和2000中:在Log收缩到正常大小后,将autoshrink选项设置为off。  
  通常用于真实环境。  
   
  在产品化系统中将autoshrink选项设置为开启状态并非明智之举(除非您真的需要这样做),这是因为,当您的系统正在忙于完成其它任务时,autoshrink选项可能会同时启动,从而降低系统运行速度。然而,对于那些数据库管理员无暇估计并且数据库尺寸有可能在您毫无察觉的情况下超出控制范围的桌面或远程系统来说,开启这一选项却是一种非常有效的措施。  
   
   
  收缩事务日志  
   
  在下列情况下,日志文件的物理大小将减少:    
  *执行   DBCC   SHRINKDATABASE   语句时。  
  *执行引用日志文件的   DBCC   SHRINKFILE   语句时。  
  *自动收缩操作发生时。    
   
  日志收缩操作依赖于最初的日志截断操作。日志截断操作不减小物理日志文件的大小,但减小逻辑日志的大小,并将没有容纳逻辑日志任何部分的虚拟日志标记为不活动。日志收缩操作会删除足够多的不活动虚拟日志,将日志文件减小到要求的大小。  
   
  按下面任一方式控制事务日志的大小:    
  *在维护日志备份序列时,调度   BACKUP   LOG   语句按间隔发生,以使事务日志不致增长到超过预期的大小。  
  *当不维护日志备份序列时,指定简单恢复模式。    
   
  详情请参考   MS   SQL   Server   2000   联机丛书:  
  目录--&gt   SQL   Server构架--&gt数据库构架--&gt物理数据库构架--&gt事务日志构架--&gt收缩事务日志  
  目录--&gt   SQL   Server构架--&gt数据库构架--&gt物理数据库构架--&gt事务日志构架--&gt截断事务日志   

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-607110/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-607110/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值