您的位置:首页 > 数据库 > MySQL

查看mysql数据库大小、表大小和最后修改时间

2014-06-03 15:55 549 查看
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
SQL server 2000 会有日志文件由于时间的积累越来越大的问题:数据库实际大小为15M, 日志文件实际大小为625KB(导出的日志文件), 但日志文件实际占用空间为200MB(默认设置是文件日志会自动增长)。
如果想在数据库属性那里,直接将当前的日志文件的存储空间改小,是不行的。

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

SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT

USE GFCMS -- 要操作的数据库名
SELECT @LogicalFileName = 'GFCMS_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 100 -- 你想设定的日志文件的大小(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'

EXEC (@TruncLog)--把log中能够shrink的transaction的log标记为可以清除
DBCC SHRINKFILE (@LogicalFileName, @NewSize)--shrink文件

-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter 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

详细解释:
关键的语句是:
'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'和
DBCC SHRINKFILE (@LogicalFileName, @NewSize)

'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY':
在不备份日志的情况下,删除不活动的日志部分,并且截断日志。但是,截断不减小物理日志文件的大小,但减小逻辑日志文件的大小。

DBCC SHRINKFILE
收缩相关数据库的指定数据文件或日志文件大小,即减小物理日志文件的大小。
语法
DBCC SHRINKFILE
( { file_name | file_id }
{ [ , target_size ]
| [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]
}
)

详细的描述可以参考
mk:@MSITStore:C:/Program%20Files/Microsoft%20SQL%20Server/80/Tools/Books/tsqlref.chm::/ts_dbcc_8b51.htm

mk:@MSITStore:C:/Program%20Files/Microsoft%20SQL%20Server/80/Tools/Books/architec.chm::/8_ar_da2_7vaf.htm

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=130503
上一篇: 如何使IFrame的长宽与内容自动适应大小

下一篇: 发布一个List记录查找Web Part: PowerSearch v1.0

<script type="text/javascript">
new Ad(4, 'ad_cen');
</script>查看评论

* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

<script type="text/javascript">
var fileName = '1961661';
var commentscount = 0;
var islock = false
</script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/comment.js"></script>
<script type="text/javascript">
new Ad(5, 'ad_bot');
</script>

个人资料



huangkelong

访问:127599次

积分:32282分

排名:第23名

原创:3174篇

转载:0篇

译文:0篇

评论:19条

文章搜索

文章存档

<!--归档统计-->

2008年06月(74)

2008年04月(829)

2008年03月(9)

2008年01月(886)

2007年12月(1321)

2007年10月(55)

阅读排行

免费的邮件服务器介绍 (1358)

[收藏]IOCP Thread Poo... (1175)

如何从开发人员走向架构师 (807)

[Django]ImportError... (634)

[C#]服务为何会依赖于WMI Per... (561)

怎样做好个人管理 (552)

STL(VC6) Good Q&A(五... (522)

[j2me]利用kSOAP让MIDP设... (519)

转贴:VS2008下载点 (466)

ASP中的Server.URLEnco... (395)

评论排行

软件外包行业潜力无限,投身软件外包恰逢... (2)

仿真器(emulator)和模拟器(s... (2)

不要重复编写DAO (1)

解开一个困扰自己多时的小问题——从st... (1)

SaaS专题(五)--网友评论:我一直... (1)

论《Java替代C语言的可能性》 (1)

免费的邮件服务器介绍 (1)

读易[13]·闲谈中医与AOP (1)

Outlook Add-in(COM加... (1)

再论"业余"和"专业"--致力职业化 ... (1)

推荐文章

<script type="text/javascript" src="http://static.blog.csdn.net/scripts/ad.js"></script><script type="text/javascript">
new Ad(12, 'ad_commend');
</script>
最新评论

免费的邮件服务器介绍
yyyjine:
en 还有很多啊 比如微软的exchange (国内够是免费的) 国产的gcmail邮件服务器 ...

数据仓库建模与ETL实践技巧
salinrong:
。。。怎么都有重复的啊 。还这么多的

仿真器(emulator)和模拟器(simulator)的区别
b200310012:
真长。

不要重复编写DAO
heisalittlebird:
太复杂了

仿真器(emulator)和模拟器(simulator)的区别
hp92palm:
真长。

软件外包行业潜力无限,投身软件外包恰逢其时
fqrfans:

LCC编译器的源程序分析(69)全局变量的初始化
shanghaimilexinxi:
上海米勒信息科技公司是一个坐落于中国上海的专业网站团队,公司目前准备经营网站有 www.mille...

Windows API一日一练(25)CreateSolidBrush函数
shanghaimilexinxi:
上海米勒信息科技公司是一个坐落于中国上海的专业网站团队,公司目前准备经营网站有 www.mille...

读易[13]·闲谈中医与AOP
lahvey:
几年之后,依然赞同

论《Java替代C语言的可能性》
caochunhui550383761:

<script type="text/javascript" src="http://static.blog.csdn.net/scripts/SyntaxHighlighter/shCore-src.js"></script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.js"></script><script type="text/javascript" src="http://static.blog.csdn.net/scripts/article_code.js"></script><script type="text/javascript" src="http://medal.blog.csdn.net/scripts/show.js"></script><script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=254643"></script><script type="text/javascript">document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</script><script type="text/javascript" src="http://www.csdn.net/ui/scripts/Csdn/counter.js"></script><script type="text/javascript" src="http://csdnimg.cn/pubfooter/js/publib_footer.js"></script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: