今天按常用方法收缩一个测试用的数据库日志,发现没法收缩!
  1. dbcc sqlperf(logspace)



 
 
  1. USE [dbname]
  2. GO
  3. ALTER DATABASE [dbname] SET RECOVERY SIMPLE WITH NO_WAIT
  4. GO
  5. DBCC SHRINKFILE (N'dbname_log' , 0, TRUNCATEONLY)
  6. GO
  7. DBCC SHRINKDATABASE(N'dbname' )
  8. GO

日志大小还是一样。

 
 
 
 
DBCC OPENTRAN 查看是否打开的事务。发现有打开的事务,执行检查点再收缩,还是不行!
  1. DBCC OPENTRAN (dbname)
  2. CHECKPOINT



 
 
参考:http://bbs.csdn.net/topics/350199751,将日志事务标志为已分发,再收缩,不行!
  1. --日志中所有复制的事务将标记为已分发
  2. EXEC sp_repldone @xactid = NULL,@xact_segno = NULL,@numtrans = 0,@time = 0,@reset = 1



 
 
现在查看虚拟日志文件,发现有很多,并且都处于活动状态
  1. dbcc loginfo



 
最重要的语句竟然忘了,这可以查看日志空间的重复使用正在等待最后一个检查点的描述.。发现是REPLICATION
  1. SELECT name,log_reuse_wait_desc FROM sys.databases where name='dbname'

 
这个数据库之前有作为事物同步过,但是都删除了。分发库也不存在了,现在竟然还有日志在等待?!
 
 
参考http://bbs.csdn.net/topics/390674731?page=1 ,执行删除所有复制对象。
  1. --删除当前数据库中所有复制对象
  2. EXEC sp_removedbreplication dbname

再看日志重用状态,正常了!看来有效!

在收缩数据库,查看已经收缩了!其他也恢复正常!

  1. DBCC SHRINKFILE (N'dbname_log' , 0, TRUNCATEONLY)
  2. GO
  3. DBCC LOGINFO
  4. GO
  5. DBCC OPENTRAN (dbname)
  6. GO
 

 
 
 
 
 
 http://blog.csdn.net/kk185800961/article/details/41865073
 

SqlServer 数据库日志无法收缩处理过程的更多相关文章

  1. Sqlserver数据库日志太大如何快速删除

    sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有 ...

  2. 解决SQLServer 2008 日志无法收缩,收缩后大小不改变

    问题 数据库日志文件上G,或者几十G了,使用日志收缩,和日志截断收缩都不管用.体积一直减不下来.. 解决方案 查看日志信息 在查询分析器中执行如下代码来查看日志信息:  DBCC LOGINFO('数 ...

  3. 压缩SQLServer数据库日志的一个存储过程

    use master --注意,此存储过程要建在master数据库中 go if exists (select * from dbo.sysobjects where id = object_id(N ...

  4. 使用语句清除sqlserver数据库日志文件

    修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可 SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes I ...

  5. 【转】SQL数据库日志文件收缩

    USE [master] GO ALTER DATABASE MDM_OperationBase SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE ...

  6. SQLServer日志无法收缩原因分析及解决

    SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确保了事 ...

  7. SQLSERVER数据库死锁与优化杂谈

    死锁杂谈 当数据库死锁时,SqlServer会释放一个优先级较低的锁,让另一个事务运行:所以,即时去捕捉数据库死锁,是挺不容易的. 如果,数据库死锁比较长时间,那么死锁是可以被捕捉的. 可以用SqlS ...

  8. SQL Server 2008删除或压缩数据库日志的方法

    SQL Server 2008删除或压缩数据库日志的方法 2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的 ...

  9. SQL Server 2008 2005删除或压缩数据库日志的方法

    由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间.由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就 ...

随机推荐

  1. iTunes 重新提交代码步骤

    1.选择View Details 2.右侧Links-Binary Details选项 3.Reject This Binary

  2. 虚拟机IOS开发环境搭建教程

    来源:http://www.cnblogs.com/xiaoyaoju/archive/2013/05/21/3091171.html 安装条件: 硬件:一台拥有支持虚拟技术的64位双核处理器和2GB ...

  3. hbase学习笔记-----REST客户端

    1. 启动REST服务 a.启动一个非守护进程模式的REST服务器(ctrl+c 终止) bin/hbase rest start b.启动守护进程模式的REST服务器 bin/hbase-daemo ...

  4. OutputCache各参数的说明

    OutputCache各参数的说明 Duration 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location Location当被设置为 ...

  5. JSP基础学习(二)

    1.JSP页面的内容组成 静态部分:标准的HTML标签.静态的页面内容,这些内容与静态的HTML页面相同 动态部分:这些由java程序来动态生成 2.<% out.println(new jav ...

  6. C++之类和对象——C++ primer plus学习(一)

    一.类的构造函数和析构函数 1.构造函数:    1)试图将类成员名称用作构造函数的参数名是错误的.    2)构造函数的参数表示的不是类成员, 而是赋给类成员的值.    3)为了避免这种混乱,一种 ...

  7. maven配置spring mvc+hibernate+spring框架

    作为一名刚出茅草屋的新手小白写的框架,仅适合新手小白借鉴,大神勿喷,谢谢...... 前天刚知道spring mvc这个框架现在也很流行,决定用它代替struts2来写我的毕业设计. ...作为一名新 ...

  8. MySql学习之数据库管理

    一步一步学习mysql数据,首先是mysql数据的管理操作. 1. 创建数据库 命令格式:create database [if not exists] database_name. 实际的使用过程中 ...

  9. oracle 时间比较查询

    select * from table  where add_time>=to_date('2015/01/03','yyyy/mm/dd')

  10. 评论PK投票功能的手机版

    ajax投票.点赞.回复,投票后自动转到查看投票结果,投票结果进度条动画显示 地址:http://files.cnblogs.com/files/macliu/hyw_wap.rar 效果图: 首页: