CREATE PROCEDURE [dbo].[strink_logspace]
 AS
   SET NOCOUNT ON
   DECLARE @LogicalFileName sysname,
           @MaxMinutes INT,
           @NewSize INT

SELECT  @LogicalFileName = rtrim(name),
           @MaxMinutes = 10,      -- 最大执行时间
           @NewSize    = 10       -- 最小空间
   from sysfiles where status & 0x40 = 0x40

-- Setup / initialize
   DECLARE @OriginalSize int
   SELECT @OriginalSize = size -- in 8K pages
     FROM sysfiles
     WHERE name = @LogicalFileName

SELECT db_name() +'日志原始大小' +  
           CONVERT(VARCHAR(30),@OriginalSize) + ' pages/ 8K 或 ' + 
           CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
     FROM sysfiles
     WHERE name = @LogicalFileName

CREATE TABLE DummyTrans
     (DummyColumn char (8000) not null)

-- Wrap log and truncate it.
   DECLARE @Counter   INT,
           @StartTime DATETIME,
           @TruncLog  VARCHAR(255)
   SELECT  @StartTime = GETDATE(),
           @TruncLog = 'BACKUP LOG ['+ db_name() + '] WITH TRUNCATE_ONLY'
   -- Try an initial shrink.
   DBCC SHRINKFILE (@LogicalFileName, @NewSize)

EXEC (@TruncLog)

-- Wrap the log if necessary.
   WHILE     @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
         AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)  -- the log has not shrunk    
         AND (@OriginalSize * 8 /1024) > @NewSize  -- The value passed in for new size is smaller than the current size.
     BEGIN -- Outer loop.
       SELECT @Counter = 0
       WHILE  ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
         BEGIN -- update
           INSERT DummyTrans VALUES ('Fill Log')  -- Because it is a char field it inserts 8000 bytes.
           DELETE DummyTrans
           SELECT @Counter = @Counter + 1
         END   -- update
       EXEC (@TruncLog)  -- See if a trunc of the log shrinks it.
     END   -- outer loop

DBCC SHRINKFILE (@LogicalFileName, @NewSize)

SELECT db_name() +'日志最后大小' + 
           CONVERT(VARCHAR(30),size) + ' pages/ 8K 或  ' + 
           CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
     FROM sysfiles 
     WHERE name = @LogicalFileName
   DROP TABLE DummyTrans
   PRINT '*** 数据库日志压缩成功 ***'

转载于:https://www.cnblogs.com/Magicworks/archive/2008/06/05/1214518.html

Sql Server 清除日志的存储过程 Procedure of cleaning sql server's log相关推荐

  1. sql server 清除日志

    SQL2008 的收缩日志  由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) Backup Log DNNam ...

  2. SQL Server 数据库清除日志的方法

    方法一: 1.打开查询分析器,输入命令  BACKUP LOG database_name WITH NO_LOG  2.再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件- ...

  3. 正文内容 SQL Server 数据库清除日志

    SQLSERVER的数据库日志占用很大的空间,下面提供三种方法用于清除无用的数据库日志文件 方法一: 1.打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_L ...

  4. 读取SQL Server事务日志

    介绍 (Introduction) There has always been some debate as to whether or not there are real benefits to ...

  5. 了解SQL Server事务日志备份和完整备份的日志序列号

    This article explores the SQL Server Transaction log backups and log sequence number (LSN) in combin ...

  6. 如何使用损坏或删除SQL Server事务日志文件重建数据库

    This is the last article, but not the least one, in the SQL Server Transaction Log series. In this s ...

  7. SQL Server事务日志体系结构

    This article will cover SQL Server transaction log architecture including file topography, basic ove ...

  8. 什么是SQL Server事务日志中的虚拟日志文件?

    什么是SQL Server事务日志文件? (What is a SQL Server transaction log file?) SQL Server事务日志文件是每个SQL Server数据库的组 ...

  9. SQL Server事务日志备份,截断和缩减操作

    In this article, we will cover SQL Server Transaction log backups, truncate and shrink operations wi ...

最新文章

  1. Java之戳中痛点之 synchronized 深度解析
  2. RefreshListView中onItemClick点击错位
  3. 红黑树的删除_Python实现红黑树的删除操作
  4. 查询方式的一般使用1
  5. 出生日期,看出你的天赋
  6. ------shell学习
  7. matplotlib 快速绘图
  8. 摘来的去视频网站的广告方法
  9. 【备忘】mysql常用操作汇总
  10. python用什么编译器-Python必学之编译器用哪个好?你用错了吧!
  11. Python Django项目实例二
  12. 腾讯2021校园招聘编程题
  13. android应用程序设计答案,Android移动应用程序设计智慧职教MOOC答案
  14. RHCSA/Linux基础
  15. EJB到底是什么?(推荐)
  16. UI设计的色彩搭配及原则(转载)
  17. iOS Tagged Pointer
  18. Android系统添加USB共享网络
  19. 元宇宙务“虚”,网易智企务“实”
  20. 传奇服务器账号禁止登陆,传奇私服网关禁止登陆

热门文章

  1. 转帖一篇:截取密码(VC++)学习消息VC++的好处
  2. CVPR2017: Learning Deep Context-aware Features over Body and Latent Parts for
  3. [Caffe]:关于*** Aborted at 1479432790 (unix time) try date -d @1479432790 错误的另一种原因
  4. 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法
  5. [学习笔记]python
  6. CTFshow php特性 web110
  7. CTFshow 命令执行 web59
  8. padarray函数
  9. 2.2.4 RMSprop
  10. 1.2.3 使用向量化进行加速计算