SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE zj123_B2B -- 要操作的数据库名
SELECT @LogicalFileName = '数据库名_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
分享到:
相关推荐
可迅速清除SQL日志.mssql log clear
用sql语句方式来清除数据库日志,方便又快捷.推荐使用
有没有被Sql Server日志以每日数百M的速度增加所困扰过?...使用动网先锋Sql日志清除器后你就会知道原来清除Log是如此的轻松,简单的两步操作就可以把Log减至1M,本地无须安装Sql Server,远程连接服务器自动判断端口。
本文将介绍两种清除日志的方法:自动清除法与手动清除法,需要了解的朋友可以参考下
但是每个附加的索引,都给系统增加了额外开销,因为随着数据从表和视图中不断增加、修改或清除,SQL Server需要维护这些索引。 利用动态管理视图提高SQL Server索引效率(一) 利用动态管理视图提高SQL Server...
——清除履历表、日志表、月购买额 大型百货店作为日常生活中不可缺少的一部分,给人们的生活提供了很大的方便。而为这样一个庞大而复杂的购物平台,提供一套完备的管理系统支持是很必要的。在现代销售行业中,会员...
SQL Server数据库存在一个问题,如果你限制了它的日志文件的大小,那么当数据库日志达到这个大小的时候,数据库就会停止写入日志,而不是我们想像中的用新日志覆盖旧日志.虽然可以用不去限制日志文件大小的方法来解决这...
《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,...
+数据库页增加收缩数据库和清除日志文件内容的右键功能项; +增加版本号显示,优化部分代码; +增加启动前自检,缺少文件时会有提示。 1.0.6 *修正附加和恢复数据库时,逻辑名处理不正确的问题。 1.0.5 ^备份...
《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,...
SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理...
《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,...
——清除履历表、日志表、月购买额 大型百货店作为日常生活中不可缺少的一部分,给人们的生活提供了很大的方便。而为这样一个庞大而复杂的购物平台,提供一套完备的管理系统支持是很必要的。在现代销售行业中,...
SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理...
某百货店POS积分管理系统中定期清除积分履历表并备份、定期清除积分更新日志表并备份的功能在系统中起着比较重要的作用。由于商店每天要处理的信息量很大,为了防止数据容量增长过大,考虑到系统安全及稳定的需要,...
SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理...
里面程序从网上收集,与大家分享,如果涉及...3、SqlServer日志清除专家 v1.5 4、sqllog 5、常用入侵清除器 还有几个就不一一列举了,下载回去自己研究下吧,因为从网上收集,请大家在测试时,请先在虚拟机里测试下。
+数据库页增加收缩数据库和清除日志文件内容的右键功能项; +增加版本号显示,优化部分代码; +增加启动前自检,缺少文件时会有提示。 1.0.6 *修正附加和恢复数据库时,逻辑名处理不正确的问题。 1.0.5 ^备份...
SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理...
优化数据库的方法: 1、关键字段建立索引。... 3、备份数据库和清除垃圾数据。 4、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的序列号) 5、清理删除日志。 ...........