缩小日志另类方法
来源:互联网 发布:pbx指标软件 编辑:程序博客网 时间:2024/05/01 18:18
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
--功能说明:缩小数据库日志文件
--作者:不详
--e.g:数据库名为abc
--------------------------------------------------------------
SETNOCOUNTON
DECLARE@LOGICALFILENAMESYSNAME,
@MAXMINUTESINT,
@NEWSIZEINT
USEabc---要操作的数据库
SELECT@LOGICALFILENAME='abc_LOG',---日志文件名
@MAXMINUTES=10,---LIMITONTIMEALLOWEDTOWRAPLOG.
@NEWSIZE=1---你想设定的日志文件大小(M)
--SETUP/INITIALIZE
DECLARE@ORIGINALSIZEINT
SELECT@ORIGINALSIZE=SIZE
FROMSYSFILES
WHERENAME=@LOGICALFILENAME
SELECT原日志大小='ORIGINALSIZEOF'+DB_NAME()+'LOGIS'+
CONVERT(VARCHAR(30),@ORIGINALSIZE)+'8KPAGESOR'+
CONVERT(VARCHAR(30),(@ORIGINALSIZE*8/1024))+'MB'
FROMSYSFILES
WHERENAME=@LOGICALFILENAME
CREATETABLEDUMMYTRANS
(DUMMYCOLUMNCHAR(8000)NOTNULL)
DECLARE@COUNTINT,
@STARTTIMEDATETIME,
@TRUNCLOGVARCHAR(255)
SELECT@STARTTIME=GETDATE(),
@TRUNCLOG='BACKUPLOG'+DB_NAME()+'WITHTRUNCATE_ONLY'
DBCCSHRINKFILE(@LOGICALFILENAME,@NEWSIZE)
EXEC(@TRUNCLOG)
--WRAPTHELOGIFNECESSARY
WHILE@MAXMINUTES>DATEDIFF(MI,@STARTTIME,GETDATE())--TIMEHASNOEEXPIRED
AND@ORIGINALSIZE=(SELECTSIZEFROMSYSFILESWHERENAME=@LOGICALFILENAME)
AND(@ORIGINALSIZE*8/1024)>@NEWSIZE
BEGIN--OUTERLOOP.
SELECT@COUNT=0
WHILE((@COUNT<@ORIGINALSIZE/16)AND(@COUNT<50000))
BEGIN--UPDATE
INSERTDUMMYTRANSVALUES('FILLLOG')
DELETEDUMMYTRANS
SELECT@COUNT=@COUNT+1
END
EXEC(@TRUNCLOG)
END
SELECT新日志大小='FINALSIZEOF'+db_NAME()+'LOGIS'+
CONVERT(VARCHAR(30),SIZE)+'8KPAGESOR'+
CONVERT(VARCHAR(30),(SIZE*8/1024))+'MB'
FROMSYSFILES
WHERENAME=@LOGICALFILENAME
DROPTABLEDUMMYTRANS
SETNOCOUNTOFF
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
--功能说明:缩小数据库日志文件
--作者:不详
--e.g:数据库名为abc
--------------------------------------------------------------
SETNOCOUNTON
DECLARE@LOGICALFILENAMESYSNAME,
@MAXMINUTESINT,
@NEWSIZEINT
USEabc---要操作的数据库
SELECT@LOGICALFILENAME='abc_LOG',---日志文件名
@MAXMINUTES=10,---LIMITONTIMEALLOWEDTOWRAPLOG.
@NEWSIZE=1---你想设定的日志文件大小(M)
--SETUP/INITIALIZE
DECLARE@ORIGINALSIZEINT
SELECT@ORIGINALSIZE=SIZE
FROMSYSFILES
WHERENAME=@LOGICALFILENAME
SELECT原日志大小='ORIGINALSIZEOF'+DB_NAME()+'LOGIS'+
CONVERT(VARCHAR(30),@ORIGINALSIZE)+'8KPAGESOR'+
CONVERT(VARCHAR(30),(@ORIGINALSIZE*8/1024))+'MB'
FROMSYSFILES
WHERENAME=@LOGICALFILENAME
CREATETABLEDUMMYTRANS
(DUMMYCOLUMNCHAR(8000)NOTNULL)
DECLARE@COUNTINT,
@STARTTIMEDATETIME,
@TRUNCLOGVARCHAR(255)
SELECT@STARTTIME=GETDATE(),
@TRUNCLOG='BACKUPLOG'+DB_NAME()+'WITHTRUNCATE_ONLY'
DBCCSHRINKFILE(@LOGICALFILENAME,@NEWSIZE)
EXEC(@TRUNCLOG)
--WRAPTHELOGIFNECESSARY
WHILE@MAXMINUTES>DATEDIFF(MI,@STARTTIME,GETDATE())--TIMEHASNOEEXPIRED
AND@ORIGINALSIZE=(SELECTSIZEFROMSYSFILESWHERENAME=@LOGICALFILENAME)
AND(@ORIGINALSIZE*8/1024)>@NEWSIZE
BEGIN--OUTERLOOP.
SELECT@COUNT=0
WHILE((@COUNT<@ORIGINALSIZE/16)AND(@COUNT<50000))
BEGIN--UPDATE
INSERTDUMMYTRANSVALUES('FILLLOG')
DELETEDUMMYTRANS
SELECT@COUNT=@COUNT+1
END
EXEC(@TRUNCLOG)
END
SELECT新日志大小='FINALSIZEOF'+db_NAME()+'LOGIS'+
CONVERT(VARCHAR(30),SIZE)+'8KPAGESOR'+
CONVERT(VARCHAR(30),(SIZE*8/1024))+'MB'
FROMSYSFILES
WHERENAME=@LOGICALFILENAME
DROPTABLEDUMMYTRANS
SETNOCOUNTOFF
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 缩小日志另类方法
- 缩小数据库日志另类方法
- 缩小数据库日志另类方法
- 缩小日志
- Sql2000 和 Sql2005 删除或缩小数据库日志的方法
- Sql2000 和 Sql2005 删除或缩小数据库日志的方法
- 缩小SQL日志
- 缩小数据库日志文件
- 缩小日志文件
- 缩小SQLSERVER日志文件
- 缩小SQL日志
- 用脚本缩小日志
- 用脚本缩小日志
- 缩小数据库日志文件
- sqlserver日志文件缩小
- 云日志的另类用法
- 另类调试方法
- 隐藏文件另类方法
- SQL邮件自动应答(根据收到的邮件中的查询语句回复语句执行结果)
- 中几个表之间的关联查询
- MSDEReleaseA安装
- 对COLUMNS_UPDATED()返回值的解析
- 更改所有者的对象
- 缩小日志另类方法
- 利用排序规则特点计算汉字笔划和取得拼音首字母
- 如何建立一个的SERVER的启动账号?
- 使用T-SQL导入多个文件数据到中
- decode函数的用法
- 如何获得SQLSERVER2000指定对象的权限列表?
- 新手来看:什么叫“使用DataLink文件”?什么是UDL文件?如何创建?
- ASE12.5内嵌JAVA开发指南
- 解密WITHENCRYPTION存储过程