2009-06-04 28 views
1

我们运行2年以上SQL Server 2005 Express Edition上的一个小型应用程序,数据库在此期间从75 MB增加到接近400MB,没有大量数据。SQL Server Express性能突破大型日志文件

但是现在日志文件已经达到3,7GB而不改变硬件,表格结构或程序代码,我们注意到需要10-15分钟的导入过程现在已经到达了几个小时。

任何想法可能是什么问题?取决于日志文件可能是什么? Express Edition的4GB锁只承载数据文件或日志文件?

附加信息:数据库服务器上没有任何RAID,没有并发用户(只有一个用户在导入过程中登录)。

由于提前 约翰内斯

+0

新版本,这将可能只是顺路作为替代,具有10GB的限制http://www.microsoft.com/express/database/但如果它是一个导入过程很慢,考虑到一般的批量导入解决方案:通常情况下,您在表上有很多索引,并且一个一个的导入会在每行之后更新它们,而不是最终有效地更新它们。 – Rup 2010-07-01 09:15:54

回答

1

MSDN

“4 GB的数据库大小限制仅适用于数据文件,而不是到日志文件”

的SQL Server Express也在限制它只能使用1个处理器和1GB的内存。您是否尝试在导入运行时监视处理器/内存使用情况,以查看这是否导致瓶颈?

3

日志文件太大是完全正常的行为;在你跑步的两年中; sql一直在跟踪数据库中发生的事件,因为它沿着它的业务发展。

通常情况下,您可以在进行备份时清除这些日志(因为您很可能不需要它们)。如果您备份了所有需要将sql脚本更改为检查点的日志文件(它位于在线书籍中)取决于你如何备份你的milage可能会有所不同。

要立即清除它,确保没有人在使用数据库;开放式管理Studio快速找到数据库和运行

backup log database_name with truncate_only 
go 
dbcc shrinkdatabase('database_name') 
+0

感谢您的回答是我也不惊讶关于日志文件大小,但关于强烈中断的性能,我想可能是它与日志文件大小有关,但也收缩日志性能问题确实存在后。 – john84 2009-06-04 10:01:52