修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可

  1. SET NOCOUNT ON
  2. DECLARE @LogicalFileName sysname,
  3. @MaxMinutes INT,
  4. @NewSize INT
  5.  
  6. USE tablename -- 要操作的数据库名
  7. SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
  8. @MaxMinutes = 10, -- Limit on time allowed to wrap log.
  9. @NewSize = 1 -- 你想设定的日志文件的大小(M)
  10.  
  11. -- Setup / initialize
  12. DECLARE @OriginalSize int
  13. SELECT @OriginalSize = size
  14. FROM sysfiles
  15. WHERE name = @LogicalFileName
  16. SELECT 'Original Size of ' + db_name() + ' LOG is ' +
  17. CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
  18. CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
  19. FROM sysfiles
  20. WHERE name = @LogicalFileName
  21. CREATE TABLE DummyTrans
  22. (DummyColumn char (8000) not null)
  23.  
  24. DECLARE @Counter INT,
  25. @StartTime DATETIME,
  26. @TruncLog VARCHAR(255)
  27. SELECT @StartTime = GETDATE(),
  28. @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
  29.  
  30. DBCC SHRINKFILE (@LogicalFileName, @NewSize)
  31. EXEC (@TruncLog)
  32. -- Wrap the log if necessary.
  33. WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
  34. AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
  35. AND (@OriginalSize * 8 /1024) > @NewSize
  36. BEGIN -- Outer loop.
  37. SELECT @Counter = 0
  38. WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
  39. BEGIN -- update
  40. INSERT DummyTrans VALUES ('Fill Log')
  41. DELETE DummyTrans
  42. SELECT @Counter = @Counter + 1
  43. END
  44. EXEC (@TruncLog)
  45. END
  46. SELECT 'Final Size of ' + db_name() + ' LOG is ' +
  47. CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
  48. CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
  49. FROM sysfiles
  50. WHERE name = @LogicalFileName
  51. DROP TABLE DummyTrans
  52. SET NOCOUNT OFF

使用语句清除sqlserver数据库日志文件的更多相关文章

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

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

  2. SQL清除所有数据库日志脚本

    --SQL清除所有数据库日志脚本 declare @CurrentDataBaseName nvarchar(100) declare @CurrentDataBaseID nvarchar(100) ...

  3. sqlserver大容量日志文件处理

    原文:sqlserver大容量日志文件处理 针对SqlServer2000 .SqlServer2005.SqlServer2008.SqlServer2012.SqlServer2014库日志文件优 ...

  4. 系统运维|SqlServer2008|数据库日志文件过大需要清理的操作攻略

    摘要: 1.执行SQL语句改成“简单模式” 2.收缩数据库 3.执行SQL语句改回“完全模式”   原文链接: http://www.lookdaima.com/WebForms/WebPages/B ...

  5. SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间

    ---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...

  6. 收缩SQL数据库日志文件

    收缩SQL数据库日志文件 介绍具体的操作方法前,先说下我操作的实际环境和当时的状况.我的服务器是windows server 2008 R2 64位英文版,数据库是SQL server 2008英文版 ...

  7. MySQL数据库日志文件(redo与undo)

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库日志文件时间:2019年2月25日内容:MySQL数据库日志文件(redo日志和undo日志 ...

  8. C#从SqlServer数据库读写文件源码

    如下的资料是关于C#从SqlServer数据库读写文件的内容,希望能对码农们有一些用. <%@ Page Language="C#" %> <script run ...

  9. SQL Server 2008 R2 下如何清理数据库日志文件

    废话不多说,直接上代码,清理后日志文件为1M USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALT ...

随机推荐

  1. Java中多态的理解

    最近学习Java里面的多态下面是个人的整理: 多态存在的3个必要条件: 1.要有继承 2.要有方法的重写 3.父类引用指向子类对象(对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会 ...

  2. windows将某个应用加入开机启动项的解决办法

    找到计算机以下位置,将要加入开机启动项的程序的快捷方式直接Copy到该目录下,下次开机该程序则会自动启动 C:\Users\pc\AppData\Roaming\Microsoft\Windows\S ...

  3. LINUX 笔记-mv命令

    常用参数: -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖 -i :若目标文件已经存在,就会询问是否覆盖 -u :若目标文件已经存在,且比目标文件新,才会更新

  4. Mysql隐式类型转换原则

    MySQL 的隐式类型转换原则: - 两个参数至少有一个是 NULL 时,比较的结果也是 NULL,例外是使用 <=> 对两个 NULL 做比较时会返回 1,这两种情况都不需要做类型转换 ...

  5. LeetCode 287. Find the Duplicate Number (找到重复的数字)

    Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), pro ...

  6. Android Studio常见问题解决

    1.Error:Execution failed for task ':XXXX:processDebugManifest'. > Manifest merger failed with mul ...

  7. git合并代码解决冲突

    一直测试的我,之前有接触过git命令,但是没有详细的去看这些命令的意思,只是背着在用,今天一时兴起,看到了廖雪峰的git方面的博客<a href="https://www.liaoxu ...

  8. 【Win 10 应用开发】UI Composition 札记(二):基本构件

    在上一篇中,老周用一个示例,演示了框架视图的创建过程,在本篇中,老周将给大伙伴们说一下 Composition 构建 UI 的一些“零件”. UI Composition 有一个核心类——对,就是 C ...

  9. CUDA C Best Practices Guide 在线教程学习笔记 Part 1

    0. APOD过程 ● 评估.分析代码运行时间的组成,对瓶颈进行并行化设计.了解需求和约束条件,确定应用程序的加速性能改善的上限. ● 并行化.根据原来的代码,采用一些手段进行并行化,例如使用现有库, ...

  10. js中的浅复制和深复制

    浅复制:浅复制是复制引用,复制后的引用都是指向同一个对象的实例,彼此之间的操作会互相影响 深复制:深复制不是简单的复制引用,而是在堆中重新分配内存,并且把源对象实例的所有属性都进行新建复制,以保证深复 ...