今天按常用方法收缩一个测试用的数据库日志,发现没法收缩!
  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. poj 3616 Milking Time DP

    题意:在给予的N个时间里,奶牛Bessie在M个时间段里进行产奶,但是每次产奶后都要休息R个时间 M个时间段里,分别有开始时间start和结束时间end,和该时间段里产奶的效率efficiency 求 ...

  2. Direct3D 顶点缓存

    今天我们来学习下Direct3D的顶点和顶点缓存,首先我们需要在场景中绘制一些物体,物体都是由多个三角形组成,每一个三角形由三个顶点组成,我们来看下面一个NPC的模型 左图:正常的模型         ...

  3. 平时的笔记02:处理mp3

    #! /usr/bin/env python # # mutagen aims to be an all purpose media tagging library # Copyright (C) 2 ...

  4. 解决WCF 调用方未由服务器进行身份验证或消息包含无效或过期的安全上下文令牌

    错误描述: 1. WCF:调用方未由服务器进行身份验证 2. 无法处理消息.这很可能是因为操作“http://tempuri.org/ISCCLSvc/GetCarriersByWareHouse”不 ...

  5. 期望dp-hdu-4336-Card Collector

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4336 题目大意: 有n种卡片,每包中至多有一种卡片,概率分别为p1,p2,...pn,可能有的没有卡 ...

  6. samba服务器概述

    一.samba服务器概述 Samba是一个能让Linux系统应用Microsoft网络通信协议的软件.而SMB是Server Message Block的缩写,即为服务器消息块.SMB主要作为Micr ...

  7. asp.net 追加文本(追加写入记事本)

    代码: string path = Server.MapPath("/Log/Log.txt"); if (File.Exists(path)) { using (StreamWr ...

  8. Windows下安装Django及WEB服务启动

           如果使用的是 Linux 或 Mac OS X ,系统可能已经预装了 Python .在命令提示符下 (或 OS X 的终端中) 输入python ,如果出现python编辑环境,说明 ...

  9. 【转载】iOS 设置Launch Image 启动图片(适用iOS9)

    Step1 1.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image" 2.如图,右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以 ...

  10. jquery easyui datagrid 分页 详解

    前些天用jquery easyui的table easyui-datagrid做分页显示的时候,折腾了很久,后来终于解决了.其实不难,最主要我不是很熟悉前端的东西. table easyui-data ...