您的位置: 旅游网 > 时尚

资深站长教妳如何缩小SQLServer数

发布时间:2019-07-14 01:22:28

14:26 来源:页教学 :阿婷【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 最新LOL活动

问题:数据库实际大小为600MB 日志文件实际大小为33MB 但日志文件占用空间为2.8GB!试了多种方式,SHIRNK DATABASE, TRUNCATE LOG FILE 都没办法将文件缩小。无论如何,这应该算SQL Server的一个BUG吧。

解决方法:

后来找到下面的代码,就可以将日志文件缩小到自己想要的大小了。把代码COPY到查询分析器里,,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可。

以下为引用的内容: -----SET NOCOUNT ONDECLARE @LogicalFileName sysname @MaxMinutes INT @NewSize INT

USE Marias -- 要操作的数据库名SELECT @LogicalFileName = 'Marias_log' -- 日志文件名@MaxMinutes = 10 -- Limit on time allowed to wrap log. @NewSize = 100 -- 你想设定的日志文件的大小(M)

-- Setup / initializeDECLARE @OriginalSize intSELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileNameSELECT '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 = @LogicalFileNameCREATE 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 ILE @MaxMinutes DATEDIFF (mi @StartTime GETDATE()) -- time has not expired AND @OriginalSize = (SELE ' LOG is ' + CONVERT(VARCHAR(30)size) + ' 8K pages or ' + CONVERT(VARCHAR(30)(size*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileNameDROP TABLE DummyTransSET NOCOUNT OFF

查看更多相似文章

怎么判断seo公司哪家好
怎样开微店详细步骤
小程序开发流程
猜你会喜欢的
猜你会喜欢的