2014-02-15 39 views
0

我有一個SQL數據庫,它有一個主要的Orders表,每天需要2-5個新行。 每日記錄的其他表是日誌表。每次用戶訪問網站的登錄頁面(包括用戶的時間和IP地址)時都會收到新數據。現在,它每天獲得10-15個新行。如何一天一天控制增長的SQL數據庫

當我監控SQL的日常備份時,我意識到它每天增長2-3MB。我有足夠的存儲空間,但這讓我很擔心。日誌表是否會導致這種增長?我刪除了像150行,但它並沒有導致.bak文件的大小減少。它增加了!我沒有縮小數據庫,我不想這樣做。

我不知道該怎麼辦。是否有任何其他體面的記錄用戶訪問方式?

+0

刪除行不會減少.mdf文件的大小,所以備份文件的大小。您需要執行['DBCC SHRINKDATABASE'](http://msdn.microsoft.com/en-us/library/ms190488%28v=sql.90%29.aspx)命令來減少您的mdf文件的大小。但請在使用此方法之前閱讀此內容,因爲它可以對索引進行碎片整理並解決更多問題。 –

+0

這不一定是一個確切的重複,但我建議看看這個問題的答案marc_s:[reduce-size-of-sql-backup](http://stackoverflow.com/questions/1305107/reducing-尺寸的-SQL備份) –

回答

0

我通常從生產服務器導出行並導入到非生產服務器(如本地計算機)上的數據庫中,然後從生產服務器中刪除現有行。還要在生產服務器表上運行優化,以便重新計算大小。這有點手動,但它保持生產服務器表的大小,並且導出/導入過程相當快。