SQL Server 2005 日志删除和日志文件限制
来源:互联网 发布:mac iphone 粘贴板 编辑:程序博客网 时间:2024/05/16 11:10
http://www.javaresearch.org/article/127373.htm
清除日志:
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换成你数据库的名字即可,在查询分析器里面运行。
有全角的空格(为了显示好看),你自己把他换一下.
收缩日志:
企业管理器--所有任务--收缩数据库--文件--选日志文件收缩
方法二:
1: 删除LOG
1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubs.mdf'
2:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
3: 如果想以后不让它增长
企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M
- SQL Server 2005 日志删除和日志文件限制
- SQL Server 2005(2000) 日志删除和日志文件限制(转)
- SQL Server 2008和2005 清空删除日志文件
- SQL Server 2005/2008 日志文件删除
- SQL Server 2005/2008 日志文件删除
- SQL SERVER 数据库日志文件删除后
- 删除sql server日志
- 缩小sql server数据库日志文件,限制sql server数据库日志文件的大小
- SQL Server 2005 2008 清空删除日志文件 130G日志 10秒内变10M
- 删除SQL SERVER数据库日志
- [MSSQL]删除sql server日志
- 删除sql server的日志
- 如何删除SQL SERVER 2000的日志文件空间?
- 如何删除SQL SERVER 2000的日志文件空间
- SQL SERVER 日志文件被删除后的修复
- SQL Server 2008 删除太大的日志文件
- SQL Server 2008 清空删除日志文件
- SQL Server 2008 清空删除日志文件
- 教训:时间一定要用统一输入接口
- 因特网与TCP/IP
- 字符串中全角半角字符的转换
- 开始→运行→输入的命令集锦( 菜鸟必读)
- 校内网率先开放APP支付系统 帮助第三方度过“寒冬”
- SQL Server 2005 日志删除和日志文件限制
- windows下tomcat 发布多个web项目(多个域名,同一ip)
- 【存档】简单的com组件
- 手机游戏动画编辑器和图片编辑器
- 玩转VPN虚拟专用网 给网络架设隧道
- 绝对精辟!10分钟让你全面了解当前世界金融危机
- Ubuntu还需要做什么才能替代Windows?
- 校内网支付系统接入开放平台 分成采用四六开
- cgi写权限的限制问题