程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 關於SQLServer事務日志的問題匯總

關於SQLServer事務日志的問題匯總

編輯:關於SqlServer
 1、用BACKUP LOG database WITH NO_LOG清除日志把數據庫屬性中的故障還原模型改為"簡單"可以大大減慢日志增長的速度。
  如果把還原模型調到簡單,這樣就不支持時間點還原了,但是日志文件會很小,如果數據比較重要推薦還是把數據庫的還原模型調為完全用BACKUP LOG database WITH NO_LOG命名後,會截斷不活動日志,不減小物理日志文件的大小,但邏輯日志會減小,收縮數據庫後會把不活動虛擬日志刪除來釋放空間,不會損壞數據。
  
  如果日志被截斷並收縮數據庫後,就不能直接用最近的一個全庫備份做時間點還原,建議立即備份數據庫,以防萬一。
  
  2、SQL Server運行中,是否能刪除主數據庫事務日志文件
  
  步驟如下:
  (1)、分離數據庫企業管理器--數據庫--右擊你要刪除日志的數據庫--所有任務--分離數據庫
  (2)、然後刪除日志文件
  (3)、然後再附加數據庫
  
  企業管理器--數據庫--右擊數據庫--所有任務--附加數據庫這時候只附加。mdf就可以了。
  
  3、壓縮SQL數據庫及日志的詳細方法
  
  SQL Server 2000基礎教程--壓縮數據庫
  
  數據庫在使用一段時間後,時常會出現因數據刪除而造成數據庫中空閒空間太多的情況,這時就需要減少分配給數據庫文件和事務日志文件的磁盤空間,以免浪費磁盤空間。當數據庫中沒有數據時,可以修改數據庫文件屬性直接改變其占用空間,但當數據庫中有數據時,這樣做會破壞數據庫中的數據,因此需要使用壓縮的方式來縮減數據庫空間。可以在數據庫屬性選項中選擇"Auto shrink"選項,讓系統自動壓縮數據庫,也可以用人工的方法來壓縮。人工壓縮數據庫有以下兩種方式:
  
  1、用Enterprise Manager 壓縮數據庫在Enterprise Manager 中在所要壓縮的數據庫上單擊右鍵,從快捷菜單中的"所有任務(All Tasks)"中選擇"ShrinkDatabase(壓縮數據庫)"選項,就會出現如圖6-10 所示的對話框。可以在圖6-10 所示的對話框中選擇數據庫的壓縮方式,也可以選擇使用壓縮計劃或壓縮單個文件單擊圖6-10 中的"Files"按鈕,會出現如圖6-11 所示的壓縮數據庫文件對話框,可以針對每個數據庫文件進行不同的壓縮設置。
  
  單擊圖6-10 中的"Change" 按鈕,會出現如圖6-12 所示的壓縮計劃編輯對話框,可以指定壓縮計劃的執行方式。單擊圖6-12中的"Change" 按鈕,會出現如圖6-13 所示的循環工作計劃編輯對話框,可以編輯計劃執行的周期或時間點。設置完成後單擊"OK" 按鈕就開始壓縮數據庫,在壓縮結束後會顯示一個壓縮情況信息框。
  
  2、用Transact-SQL 命令壓縮數據庫
  
  可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令來壓縮數據庫。其中DBCC SHRINKDATABASE 命令對數據庫進行壓縮,DBCC SHRINKFILE 命令對數據庫中指定的文件進行壓縮。
  
  (1) DBCC SHRINKDATABASE
  DBCC SHRINKDATABASE 命令語法如下:
  DBCC SHRINKDATABASE (database_name [, target_percent]
  [, {NOTRUNCATE | TRUNCATEONLY}] )
  各參數說明如下:
  ?target_percent 指定將數據庫壓縮後,未使用的空間占數據庫大小的百分之幾。如果指定的百分比過大,超過了壓縮前未使用空間所占的比例,則數據庫不會被壓縮。並且壓縮後的數據庫不能比數據庫初始設定的容量小。
  ?NOTRUECATE
  將數據庫縮減後剩余的空間保留在數據庫,中不返還給操作系統。如果不選擇此選項,則剩余的空間返還給操作系統。
  ?TRUNCATEONLY
  將數據庫縮減後剩余的空間返還給操作系統。使用此命令時SQLServer 將文件縮減到最後一個文件分配,區域但不移動任何數據文件。選擇此項後,target_percent 選項就無效了。
  
  例6-14: 壓縮數據庫mytest 的未使用空間為數據庫大小的20%。
  dbcc shrinkdatabase (mytest, 20)
  運行結果如下:
  DBCC execution completed. If DBCC printed error
  
  messages, contact your system administrator.
  (2) DBCC SHRINKFILE
  DBCC SHRINKFILE 命令壓縮當前數據庫中的文件。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved