2009-06-04 32 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