缩小数据库日志另类方法
来源:互联网 发布:mac如何修改文件后缀 编辑:程序博客网 时间:2024/05/07 17:35
--功能说明:缩小数据库日志文件
--作者:不详
--e.g:数据库名为abc
--------------------------------------------------------------
SET NOCOUNT ON
DECLARE @LOGICALFILENAME SYSNAME,
@MAXMINUTES INT,
@NEWSIZE INT
USE abc---要操作的数据库
SELECT @LOGICALFILENAME = 'abc_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 @COUNT 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 NOE EXPIRED
AND @ORIGINALSIZE =(SELECT SIZE FROM SYSFILES WHERE NAME = @LOGICALFILENAME)
AND (@ORIGINALSIZE*8/1024)>@NEWSIZE
BEGIN --OUTER LOOP.
SELECT @COUNT = 0
WHILE((@COUNT<@ORIGINALSIZE/16) AND (@COUNT<50000))
BEGIN -- UPDATE
INSERT DUMMYTRANS VALUES ('FILL LOG')
DELETE DUMMYTRANS
SELECT @COUNT = @COUNT + 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
- 缩小数据库日志另类方法
- 缩小数据库日志另类方法
- 缩小日志另类方法
- 缩小数据库日志文件
- 缩小数据库日志文件
- Sql2000 和 Sql2005 删除或缩小数据库日志的方法
- Sql2000 和 Sql2005 删除或缩小数据库日志的方法
- 用脚本缩小数据库日志
- 用脚本缩小数据库日志
- sqlserver 数据库缩小ldf数据库日志文件大小
- 复制数据库的另类方法
- Sql2000 和 Sql2005 删除或缩小数据库日志的方法(解决内存占用高)
- 缩小SQL Server的数据库日志
- 怎样缩小SQL Server数据库日志文件
- 缩小MS SQL数据库日志文件
- 清空sql200 sql2005数据库日志,缩小日志文件.LDF
- 缩小日志
- python操作oracle数据库的另类方法
- XML和XSL生成类PowerPoint组织结构图(二)
- 我们到底需要什么样的开发工具啊?
- csdn的论坛出现乱码的解决办法(刘见成朋友提供的)
- win98下配置jsp的运行环境实践
- 彻底解决JSP(含EJB)中文内码问题
- 缩小数据库日志另类方法
- 更改数据库所有者的对象
- 我的程序人生
- 保证应用程序只有一个实例在运行
- 使用WMI获得硬盘的信息
- 一个关于IIS的类
- 关于硬盘序列号的类
- Struts 学习笔记1 -Struts Framework 概览
- 深入探讨MFC消息循环和消息泵