使用语句清除sqlserver数据库日志文件
修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可
- SET NOCOUNT ON
- DECLARE @LogicalFileName sysname,
- @MaxMinutes INT,
- @NewSize INT
- USE tablename -- 要操作的数据库名
- SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
- @MaxMinutes = 10, -- Limit on time allowed to wrap log.
- @NewSize = 1 -- 你想设定的日志文件的大小(M)
- -- Setup / initialize
- DECLARE @OriginalSize int
- SELECT @OriginalSize = size
- FROM sysfiles
- WHERE name = @LogicalFileName
- SELECT 'Original Size of ' + db_name() + ' LOG is ' +
- CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
- CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
- FROM sysfiles
- WHERE name = @LogicalFileName
- CREATE TABLE DummyTrans
- (DummyColumn char (8000) not null)
- DECLARE @Counter INT,
- @StartTime DATETIME,
- @TruncLog VARCHAR(255)
- SELECT @StartTime = GETDATE(),
- @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
- 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)
- AND (@OriginalSize * 8 /1024) > @NewSize
- BEGIN -- Outer loop.
- SELECT @Counter = 0
- WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
- BEGIN -- update
- INSERT DummyTrans VALUES ('Fill Log')
- DELETE DummyTrans
- SELECT @Counter = @Counter + 1
- END
- EXEC (@TruncLog)
- END
- SELECT 'Final Size of ' + db_name() + ' LOG is ' +
- CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
- CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
- FROM sysfiles
- WHERE name = @LogicalFileName
- DROP TABLE DummyTrans
- SET NOCOUNT OFF
使用语句清除sqlserver数据库日志文件的更多相关文章
- Sqlserver数据库日志太大如何快速删除
sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有 ...
- SQL清除所有数据库日志脚本
--SQL清除所有数据库日志脚本 declare @CurrentDataBaseName nvarchar(100) declare @CurrentDataBaseID nvarchar(100) ...
- sqlserver大容量日志文件处理
原文:sqlserver大容量日志文件处理 针对SqlServer2000 .SqlServer2005.SqlServer2008.SqlServer2012.SqlServer2014库日志文件优 ...
- 系统运维|SqlServer2008|数据库日志文件过大需要清理的操作攻略
摘要: 1.执行SQL语句改成“简单模式” 2.收缩数据库 3.执行SQL语句改回“完全模式” 原文链接: http://www.lookdaima.com/WebForms/WebPages/B ...
- SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间
---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...
- 收缩SQL数据库日志文件
收缩SQL数据库日志文件 介绍具体的操作方法前,先说下我操作的实际环境和当时的状况.我的服务器是windows server 2008 R2 64位英文版,数据库是SQL server 2008英文版 ...
- MySQL数据库日志文件(redo与undo)
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库日志文件时间:2019年2月25日内容:MySQL数据库日志文件(redo日志和undo日志 ...
- C#从SqlServer数据库读写文件源码
如下的资料是关于C#从SqlServer数据库读写文件的内容,希望能对码农们有一些用. <%@ Page Language="C#" %> <script run ...
- SQL Server 2008 R2 下如何清理数据库日志文件
废话不多说,直接上代码,清理后日志文件为1M USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALT ...
随机推荐
- Java中多态的理解
最近学习Java里面的多态下面是个人的整理: 多态存在的3个必要条件: 1.要有继承 2.要有方法的重写 3.父类引用指向子类对象(对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会 ...
- windows将某个应用加入开机启动项的解决办法
找到计算机以下位置,将要加入开机启动项的程序的快捷方式直接Copy到该目录下,下次开机该程序则会自动启动 C:\Users\pc\AppData\Roaming\Microsoft\Windows\S ...
- LINUX 笔记-mv命令
常用参数: -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖 -i :若目标文件已经存在,就会询问是否覆盖 -u :若目标文件已经存在,且比目标文件新,才会更新
- Mysql隐式类型转换原则
MySQL 的隐式类型转换原则: - 两个参数至少有一个是 NULL 时,比较的结果也是 NULL,例外是使用 <=> 对两个 NULL 做比较时会返回 1,这两种情况都不需要做类型转换 ...
- LeetCode 287. Find the Duplicate Number (找到重复的数字)
Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), pro ...
- Android Studio常见问题解决
1.Error:Execution failed for task ':XXXX:processDebugManifest'. > Manifest merger failed with mul ...
- git合并代码解决冲突
一直测试的我,之前有接触过git命令,但是没有详细的去看这些命令的意思,只是背着在用,今天一时兴起,看到了廖雪峰的git方面的博客<a href="https://www.liaoxu ...
- 【Win 10 应用开发】UI Composition 札记(二):基本构件
在上一篇中,老周用一个示例,演示了框架视图的创建过程,在本篇中,老周将给大伙伴们说一下 Composition 构建 UI 的一些“零件”. UI Composition 有一个核心类——对,就是 C ...
- CUDA C Best Practices Guide 在线教程学习笔记 Part 1
0. APOD过程 ● 评估.分析代码运行时间的组成,对瓶颈进行并行化设计.了解需求和约束条件,确定应用程序的加速性能改善的上限. ● 并行化.根据原来的代码,采用一些手段进行并行化,例如使用现有库, ...
- js中的浅复制和深复制
浅复制:浅复制是复制引用,复制后的引用都是指向同一个对象的实例,彼此之间的操作会互相影响 深复制:深复制不是简单的复制引用,而是在堆中重新分配内存,并且把源对象实例的所有属性都进行新建复制,以保证深复 ...