SQL 數據庫文件超級大而且增長速度過快的解決辦法_第1頁
SQL 數據庫文件超級大而且增長速度過快的解決辦法_第2頁
SQL 數據庫文件超級大而且增長速度過快的解決辦法_第3頁
SQL 數據庫文件超級大而且增長速度過快的解決辦法_第4頁
SQL 數據庫文件超級大而且增長速度過快的解決辦法_第5頁
免費預覽已結束,剩余4頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SQL-數據庫文件超級大而且增 長速度過快的解決辦法 SQL數據庫文件超級大,而且增長速度過快! (2008-09-05 13:50:29) 目前一客戶的數據庫文件(.MDF )占用空間超過有48G,切增長速度很快。已 經對日志文件進行了壓縮。 的問題) 1、用 BACKUP LOG database WITH NO LOG 把數據庫屬性中的故障還原模型改為“簡單”可以大大減慢日志增長的速度。 如果把還原模型調到簡單,這樣就不支持時間點還原了,但是日志文件會很小, 如果數據在查詢分析器中用 exec sp_sp aceused 語句進行查詢,輸出結果如下:(頭疼 database, name

2、database_size un allocated_s pace NSMIS 48770.00M 1370.97 MB reserved data in dex_size unused 48504160 KB 7017272 KB 270776 KB 41216112 KB 清除日志 比較重要推薦還是把數據庫的還原模型調為完全1、用 Enterprise Manager 壓縮數據庫 用BACKUP LOG database WITH NO_LOG 命名后,會截斷不活動日志,不 減小物理日志文件的大小,但邏輯日志會減小,收縮數據庫后會把不活動虛擬日 志刪除來釋放空間,不會損壞數據。 如果日志被

3、截斷并收縮數據庫后,就不能直接用最近的一個全庫備份做時間點還 原,建議立即備份數據庫,以防萬一。 2、sql server運行中,是否能刪除主數據庫事務日志文件 步驟如下:(1)、分離數據庫企業管理器-數據庫-右擊你要刪除日志的數 據庫-所有 任務-分離數據庫 (2)、然后刪除日志文件 (3)、然后再附加數據庫 企業管理器-數據庫-右擊數據庫-所有任務-附加數據庫這時候只 附加。mdf就可以了。 3、壓縮SQL數據庫及日志的詳細方法 SQL Server 2000 基礎教程一一壓縮數據庫數據庫在使用一段時間后,時常會 出現因數據刪除而造成數據庫中空閑空間太多的情況, 這時就需要減少分配給數 據

4、庫文件和事務日志文件的磁盤空間, 以免浪費磁盤空間。當數據庫中沒有數據 時,可以修改數據庫文件屬性直接改變其占用空間, 但當數據庫中有數據時,這 樣做會破壞數據庫中的數據,因此需要使用壓縮的方式來縮減數據庫空間。 可以 在數據庫屬性選項中選擇“ Auto shrink ”選項,讓系統自動壓縮數據庫,也可 以用人工的方法來壓縮。人工壓縮數據庫有以下兩種方式: 在Enterprise Manager 中在所要壓縮的數據庫上單擊右鍵,從快捷菜單中的 “所有任務(All Tasks ) ”中選擇“ Shrink Database (壓縮數據庫)”選項, 就會出現如圖6-10所示的對話框。可以在圖6-1

5、0所示的對話框中選擇數據庫 的壓縮方式,也可以選擇使用壓縮計劃或壓縮單個文件單擊圖 6-10中的 “Files ”按鈕,會出現如圖6-11所示的壓縮數據庫文件對話框,可以針對每 個數據庫文件進行不同的壓縮設置。 單擊圖6-10中的“ Change ”按鈕,會出現如圖6-12所示的壓縮計劃編輯 對話框,可以指定壓縮計劃的執行方式。單擊圖 6-12中的“Change ”按鈕, 會出現如圖6-13所示的循環工作計劃編輯對話框,可以編輯計劃執行的周期或 時間點。設置完成后單擊“ 0K”按鈕就開始壓縮數據庫,在壓縮結束后會顯示 一個壓縮情況信息框。 2、用Transact-SQL 命令壓縮數據庫 可以使

6、用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令來壓縮數 據庫。其中 DBCC SHRINKDATABASE SHRINKFILE 命令對數據庫中指定的文件進行壓縮。 (1) DBCC SHRINKDATABASE DBCC SHRINKDATABASE 命令語法如下: DBCC SHRINKDATABASE (database_name , target_perce nt ,NOTRUNCATE | TRUNCATEONLY) 各參數說明如下: target_perce nt 指定將數據庫壓縮后,未使用的空間占數據庫大小的百分之 幾。如果指定的百分比過大,超過

7、了壓縮前未使用空間所占的比例, 則數據庫不 會被壓縮。并且壓縮后的數據庫不能比數據庫初始設定的容量小。 NOTRUECATE 命令對數據庫進行壓縮,DBCC 將數據庫縮減后剩余的空間保留在數據庫,中不返還給操作系統 。如果不選擇此選項,則剩余的空間返還給操作系統。 TRUNCATEONLY 將數據庫縮減后剩余的空間返還給操作系統。使用此命令時 SQL Server將文 件縮減到最后一個文件分配,區域但不移動任何數據文件。選擇此項后, target_percent 選項就無效了。例6-14 :壓縮數據庫mytest的未使用空間 為數據庫大小的20% dbcc shri nkdatabase (m

8、ytest, 20) 運行結果如下: DBCC executi on compi eted. If DBCC prin ted error messages, con tact your system admi ni strator. (2) DBCC SHRINKFILE DBCC SHRINKFILE 命令壓縮當前數據庫中的文件。其語法如下: DBCC SHRINKFILE ( file_name | file_id , target_size | ,EMP TYFILE | NOTRUNCATE | TRUNCATEONLY ) 各參數說明如下: file_id 指定要壓縮的文件的鑒別號

9、(Identification number ,即ID) 。文件的ID號可以通過FILE_ID ()函數或如本章前面所講述 的Sp_helpdb 系統存儲過程來得到。 target_size 指定文件壓縮后的大小。以 MB為單位。如果不指定此選項, 會盡最大可能地縮減文件。 EMP TYFILE 指明此文件不再使用,將移動所有在此文件中的數據到同一文件組中的其它文件 中去。執行帶此參數的命令后,此文件就可以用 ALTER DATABASE 命令來刪 除了。其余參數 NOTRUNCATE 和 TRUNCATEONLY 與 DBCC SHRINKDATABASE 命令中的含義相同。 例6-15:壓

10、縮數據庫mydb中的數據庫文件 mydb_data2 的大小到 1MB。use mydb dbcc shrinkfile (mydb_data2, 1) 企業管理器里面的方法: 1、打開企業管理器 2、打開要處理的數據庫 3、點擊最上面菜單 工具SQL查詢分析器,打開SQL查詢分析器 4、在輸入窗口里面輸入: Code: SQL Server 就 DUMP TRANSACTION 數據庫名WITH NO_LOG BACKUP LOG 數據庫名WITH NO_LOG DBCC SHRINKDATABASE( 數據庫名) 點擊綠色的小三角(或按F5 )執行查詢,等狀態欄提示處理完成 即可! 程序里面的方法: 壓縮數據庫日志 -1.清空日志 exec(DU MP TRANSACTION +db name+ WITH -2.截斷事務日志: exec(BACKU P LOG +db name+ WITH NO_LOG) -3.收縮數據庫文件(如果不壓縮,數據庫的文件不會減小 exec(DBCC SHRINKDATABASE(+db name+) 4、減小日志的方法: 、用如下步做了: 1、DUMP TRANSACTION 庫名 WITH no_log 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論