--清除日志:
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换成你数据库的名字即可,在查询分析器里面运行。
--收缩日志:企业管理器--所有任务--收缩数据库--文件--选日志文件收缩
分享到:
相关推荐
SQL Server日志收缩工具是一种...总之,SQL Server日志收缩工具是一个实用的管理工具,能够帮助DBA有效地管理和优化日志文件,从而提高系统效率和资源利用率。正确使用和理解日志收缩是维护数据库健康的关键环节之一。
而在简单恢复模式下,一旦事务被提交,其日志记录就会被清除,允许日志收缩。 3. **VLF(Virtual Log File)过多或过大**:VLF是日志文件的逻辑细分部分。如果VLF数量过多或单个VLF过大,可能会影响日志收缩。通常...
总结来说,收缩SQL Server 2008 R2数据库日志文件主要包括以下步骤:登录SSMS,更改恢复模式至“简单”,执行日志收缩,然后将恢复模式恢复为“完整”。这是一个有效的临时解决方案,但长期而言,定期执行数据库维护...
SQL Server日志收缩工具是一种专门针对Microsoft SQL Server数据库的日志管理实用程序,旨在优化和管理数据库日志文件的大小。在SQL Server中,事务日志是数据库引擎的关键组成部分,用于跟踪所有的更改操作,确保...
日志收缩的过程通常分为两步:首先,通过清除不再需要的事务日志记录,释放出已使用的日志空间;然后,将日志文件的实际大小调整到与实际使用相符的水平。需要注意的是,不恰当的日志收缩可能会导致数据丢失或恢复...
但需要注意的是,盲目地收缩日志文件可能会影响到数据库的性能和稳定性,因此在进行日志收缩之前,必须确保已经备份了相关的数据,并且了解了当前的恢复模式。 #### 四、SQL Server 2008 数据库日志收缩步骤 1. **...
1. **计划和时机**:清理和收缩日志应在数据库活动较低的时候进行,以避免影响正常业务。 2. **备份**:在清理日志前,确保有最新的数据库备份,以防意外丢失数据。 3. **恢复模式**:检查数据库的恢复模式,确保...
MS SQL Server日志收缩工具是款小巧好用的sql日志清理工具,主要就是帮助用户清除系统红无用的SQL日志文件,更具备了日志文件压缩功能,有需要的朋友快来下载。 重构版,兼容sqlserver 2008及以后版本,依旧是trunc...
在更改了恢复模式后,可以执行日志收缩操作。这可以通过T-SQL语句或SSMS的图形界面完成。例如,使用T-SQL收缩命令如下: ```sql DBCC SHRINKFILE (LogFileName, 0); ``` 这里的`LogFileName`是日志文件的逻辑名称...
本文将详细介绍快速清除SQLServer日志的两种方法,包括清空日志和删除LOG文件,并且对每种方法进行了详细的解释和操作步骤。 清空日志 清空日志是快速清除SQLServer日志的第一种方法。这种方法可以通过使用DUMP ...
日志收缩虽然能够释放磁盘空间,但频繁的收缩可能会影响数据库性能,因此在实际使用中需要根据业务需求和数据库策略来合理安排。一般来说,建议在数据库活动低峰期进行收缩,同时保持定期的事务日志备份,以确保数据...
5. 高级选项:可能包括选择截断类型(如只截断未检查点的事务、完全截断等),以及是否在截断后收缩日志文件以释放磁盘空间。 使用日志清除工具需要注意以下几点: 1. 在完全恢复模式下,不进行日志备份直接清除...
这段代码首先声明了一个变量`@db`用于存储数据库名称,然后通过`DUMP TRANSACTION`命令清除数据库日志,接着使用`BACKUP LOG`命令备份并清除日志,最后通过`DBCC SHRINKDATABASE`命令收缩数据库,释放未使用的空间。...
7. **自动化脚本**:对于定期执行的日志收缩,工具可能支持创建和运行批处理脚本,以自动化维护任务。 在使用SQL Server日志收缩工具时,需要注意以下几点: - 不要频繁收缩日志,因为这可能导致日志文件的碎片化...
3. **设置日志恢复模式为简单**:简单恢复模式允许自动清除事务日志,但不保留事务日志的完整历史,这使得日志收缩成为可能。使用以下命令更改数据库的恢复模式: ```sql ALTER DATABASE CZPHC SET RECOVERY ...
本文将深入探讨日志文件的管理和收缩,并介绍一个高效的日志收缩工具。 日志文件的大小通常由两个因素决定:一是数据库的事务量,二是日志重用策略。在高事务处理环境中,日志文件可能会迅速增长。如果事务被提交但...
2. **日志收缩**:通过收缩日志文件,可以有效地减少日志文件的大小,从而节省存储资源。这一步通常在完成日志备份后执行,以避免数据丢失。 3. **日志重置**:在某些情况下,可能需要重置日志,将数据库设置为简单...
在使用任何SQL Server日志清除工具时,必须先了解数据库的恢复模型和当前的数据保护状态。错误的操作可能导致数据丢失或不可恢复的状态。因此,建议在进行日志清理前,先做好充分的备份,并理解清理过程可能带来的...