none
MSSQL2008如何安全快捷壓縮XXX_log.LDF文檔? RRS feed

答案

  • 与你的数据库恢复模型有关

    如果是 simple, 则直接收缩就可以

    如果不是 simple, 则需要先做日志备份,再做收缩

    2012年9月20日 8:36
  • --检查日志文件不能被截断的原因
    --查看日志占用日志文件占用率
    DBCC SQLPERF(LOGSPACE)
    GO

    --查看不能截断日志文件的原因
    SELECT name,recovery_model_desc,log_reuse_wait,log_reuse_wait_desc
    FROM sys.databases
    GO

    --检查最老的活动事务
    DBCC OPENTRAN
    GO
    SELECT st.text,t2.* FROM  sys.dm_exec_sessions AS t2,sys.dm_exec_connections AS t1
    CROSS APPLY sys.dm_exec_sql_text(t1.most_recent_sql_handle) AS st
    WHERE t1.session_id=t2.session_id
    AND t1.session_id>50

    --如果事务比较久,可以用kill命令杀掉进程
    KILL 54

    给我写信: QQ我:点击这里给我发消息

    2012年9月21日 15:55

全部回复

  • 与你的数据库恢复模型有关

    如果是 simple, 则直接收缩就可以

    如果不是 simple, 则需要先做日志备份,再做收缩

    2012年9月20日 8:36
  • 有关数据库恢复模式的说明,可以参考联机帮助

    http://msdn.microsoft.com/zh-cn/library/ms175987(v=sql.105).aspx
    2012年9月20日 8:42
  • SELECT name, log_reuse_wait_desc FROM sys.databases

    如果无法收缩,你可以通过上面的查询获取原因( log_reuse_wait_desc 列为原因)

    2012年9月20日 8:45
  • 我先看下,收縮是可以 ,但是收縮了的空間並不大....只能減少大概200M左右的空間
    2012年9月20日 9:37
  • 你是指定Target进行收缩吗?

    2012年9月20日 12:00
  • 你的数据库日志文件多大,一般收缩按照邹建大侠说的步骤去做,定期备份日志文件

    use   yourdbname 
    dbcc   shrinkfile( '日志文件逻辑名 ',目标尺寸)

    如果目标尺寸设置太小不知道有没有副作用


    给我写信: QQ我:点击这里给我发消息


    2012年9月20日 13:23
  • --检查日志文件不能被截断的原因
    --查看日志占用日志文件占用率
    DBCC SQLPERF(LOGSPACE)
    GO

    --查看不能截断日志文件的原因
    SELECT name,recovery_model_desc,log_reuse_wait,log_reuse_wait_desc
    FROM sys.databases
    GO

    --检查最老的活动事务
    DBCC OPENTRAN
    GO
    SELECT st.text,t2.* FROM  sys.dm_exec_sessions AS t2,sys.dm_exec_connections AS t1
    CROSS APPLY sys.dm_exec_sql_text(t1.most_recent_sql_handle) AS st
    WHERE t1.session_id=t2.session_id
    AND t1.session_id>50

    --如果事务比较久,可以用kill命令杀掉进程
    KILL 54

    给我写信: QQ我:点击这里给我发消息

    2012年9月21日 15:55