数据库清除日志文件(LDF文件过大)
发布时间:2024-01-14 04:05:36
标签:数据库,清除日志
清除日志:
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE szwzcheck -- 要操作的数据库名
SELECT @LogicalFileName = 'szwzcheck_Log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 20 -- 你想设定的日志文件的大小(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
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
把szwzcheck换成你数据库的名字即可,在查询分析器里面运行。
有全角的空格(为了显示好看),你自己把他换一下.
脚本之家编辑注:
一般情况下,用下面的语句更简单
DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])
其中jb51就是你要处理的数据库名。
0
投稿
猜你喜欢
- 示例:# -*- coding:utf-8 -*-import jsonstrtest = {"中故宫":"好
- <%MaxPerPage=8 ’定义页面最大的记录数为8<br>
- 昨天同事给你我一个有问题的数据库,叫我修复一下因为客户那边需要这个数据库,这个数据库只有一个mdf文件和一个ldf文件,当我附加数据库的时候
- 本文只考虑模板中的字符串,不考虑字符串中带标签的情况。模板中的字符串文字不会自动转义,因为这里默认模板的作者已经正确书写模板的内容。{{ d
- 使用 NetBox 可以方便的将 asp 应用编译成为独立运行的执行程序,完全摆脱 iis 的束缚,在几乎所有的 Windows
- 文件的io操作的缓冲行为分为全缓冲:同系统及磁盘块大小有关,n个字节后执行一次写入操作行缓冲:遇到换行符执行一次写操作无缓冲:立刻执行写操作
- 如何显示一个等待或欢迎信息? <% Response.Buffer = True %
- 本文主要介绍了pandas导出数据到文件的四种方式,分享给大家,主要也是给自己留个笔记,具体如下:import pandas as pdim
- 本文实例讲述了python使用装饰器和线程限制函数执行时间的方法。分享给大家供大家参考。具体分析如下:很多时候函数内部包含了一些不可预知的事
- 本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下代码:# -*- coding:utf-8 -*-im
- 经常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个 * 页,就会生成一个带有这个字符串的图片,这个叫做文字水印。像什么原
- 要解决两个需求: 一个是从A页面跳到B页面,滚动到页面的任何地方; 第二个是在B页面内部点击某个元素,滚动到页面的任何地方; 怎么解决啊?很
- 导语哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。常常会有小粉丝说:这......小程序
- 前言学习一门新的语言肯定是要从他的基本语法开始,语法构成了整个程序设计的基础,从语法中我们也可以看到这门语言的一些特性,但是话说回来,语法这
- 一、前端工具vscode1.1、概述前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以
- 在日常工作中,可能会遇到各类表格合并的需求。这类需求只要搞懂核心原理都很简单,本质都是万变不离其宗,相信大部分读者都能解决大部分需求。基本思
- 如果 replaceText 为函数,对于每一个匹配的子字符串,调用该函数时带有下面的 m+3 个参数,此处 m 是在 rgExp 中捕获的
- 最简单的关闭一个窗口的方法是点击标题栏上的 x 标志。但是,在下面的例子中,我们将展示如何通过编程来控制关闭窗口。我们将使用PyQt5的信号
- 一、pyqt5的UI中嵌入matplotlib的方法1、导入模块导入模块比较简单,首先声明使用pyqt5,通过FigureCanvasQTA
- XML(可扩展标记语言)已成为Web应用中数据表示和数据交换的标准,随着Internet的快速发展,尤其是电子商务,Web服务等应用的广泛使