/*---------------------------------------------------------------------------------
数据库压缩整理
Welly 2007 -12-03
-----------------------------------------------------------------------------------*/


一、日志文件过大,可以通过分离数据库来实现

为了最大化的缩小日志文件(如果是sql   7.0,这步只能在查询分析器中进行)    
  a.分离数据库:    
  企业管理器--服务器--数据库--右键--分离数据库    
   
  b.在我的电脑中删除LOG文件    
   
  c.附加数据库:    
  企业管理器--服务器--数据库--右键--附加数据库    
   
  此法将生成新的LOG,大小只有500多K    
   
  或用代码:      
  下面的示例分离   pubs,然后将   pubs   中的一个文件附加到当前服务器。    
   
  a.分离    
  EXEC   sp_detach_db   @dbname   =   'pubs'    
   
  b.删除日志文件    
   
  c.再附加    
  EXEC   sp_attach_single_file_db   @dbname   =   'pubs',      
        @physname   =   'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf'    


二.下面的删除日志,然后压缩数据库的方法和方法一有什么区别?


删除(清空)日志,然后压缩日志到指定文件大小,一下两句同时运行才可,否则日志文件不减少

DUMP   TRANSACTION   数据库名   WITH   NO_LOG  
   
DBCC SHRINKFILE(书库库日志文件的逻辑名称,10)  --收缩read126_log   10M日志

减小事务日志的物理大小需要收缩日志文件。通过删除一个或多个不活动的虚拟日志文件来收缩事务日志,从而减小其物理大小。
包含任何活动日志记录的虚拟日志文件(即“活动的虚拟日志文件”)是逻辑日志的一部分,不能将其删除。
注意: 
如果事务日志最近未被截断,则在截断日志之前无法收缩日志。有关详细信息,请参阅使日志记录保持活动状态的因素。

 

三。自动收缩日志,具体收缩到多大?何事收缩?

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"  
   
  --SQL语句设置方式:  
  EXEC   sp_dboption   '数据库名',   'autoshrink',   'TRUE'

四。截断事务日志后进行收缩事务日志
   截断并不减小物理日志文件的大小。减小日志文件的物理大小需要收缩文件
  BACKUP   LOG   数据库名   WITH   NO_LOG    

  DBCC SHRINKFILE(库日志文件的逻辑名称,10)  --收缩read126_log   10M日志

相关文章:

  • 2021-12-21
  • 2021-12-21
  • 2021-12-21
  • 2022-01-02
  • 2022-12-23
  • 2021-10-24
  • 2021-06-01
猜你喜欢
  • 2022-12-23
  • 2021-06-30
  • 2022-01-19
  • 2021-06-23
  • 2021-12-21
相关资源
相似解决方案