SQL SERVER 2000 日志文件清理

 

查看方式

执行SQL语句:
DBCC log ( {dbiddbname}, [, type={01234}] )

参数:Dbid or dbname - 任一数据库的ID或名字,一般都是用数据库名字了,比如master
type - 输出结果的类型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常详细的信息(plus object name, index name,page id, slot id)
3 - 每种操作的全部信息
4 - 每种操作的全部信息加上该事务的16进制信息
默认 type = 0

例如,要查看MSATER数据库的事务日志可以用以下命令:
dbcc log (master)
详细一点的话,就是
dbcc log (master,type=3)

 

SQL SERVER 2000 事务日志增加过快解决办法收藏

1.清空日志  
  DUMP     TRANSACTION     库名     WITH     NO_LOG          
   
  2.截断事务日志:  
  BACKUP   LOG   数据库名   WITH   NO_LOG  
   
  3.收缩数据库文件(如果不压缩,数据库的文件不会减小  
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件  
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
   
  也可以用SQL语句来完成  
  --收缩数据库  
  DBCC   SHRINKDATABASE(客户资料)  
   
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select   *   from   sysfiles  
  DBCC   SHRINKFILE(1)  
   
  4.为了最大化的缩小日志文件  
  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'  
   
  5.为了以后能自动收缩,做如下设置:  
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"  
   
  --SQL语句设置方式:  
  EXEC   sp_dboption   '数据库名',   'autoshrink',   'TRUE'  
   
  6.如果想以后不让它日志增长得太大  
  企业管理器--服务器--右键数据库--属性--事务日志  
  --将文件增长限制为xM(x是你允许的最大数据文件大小)   
  

7. 定期清空日志  
   
  企业管理器--服务器--管理--右键数据库维护计划--新建数据库维护计划--打开数据库维护计划向导-选择你要维护的数据库  
  ----下一步--从数据库文件中删除未使用的空间(根据你数据的大小、使用情况配置合适的参数,或默认)-下一步     ,然后就可以调度你的计划,可以让他每个星期日的凌晨12点开始维护。

 
 
SQL脚本如下:

declare @dbname varchar(255)
select @dbname='master' --指定要处理的数据库

EXEC ('execute sp_helpdb ' + @dbname)
EXEC ('BACKUP LOG ' + @dbname + ' WITH TRUNCATE_ONLY')
EXEC ('DBCC SHRINKDATABASE(' + @dbname +',10)')
EXEC ('EXECUTE sp_helpdb ' + @dbname)

 
 
 
阅读更多
个人分类: mssql
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭