SQL Server事務日誌過大的處理
假設test2為資料庫名稱
日誌已經很大的時候用
方法一
此方法適用於7.0和2000。
1、在查詢分析器中執行:
exec sp_detach_db 'DB_Name'
2、在我的電腦中將日誌的物理檔案xxx_Log.LDF改名。
3、在查詢分析器中執行:
exec sp_attach_single_file_db 'DB_Name','C:\Program Files\Microsoft SQL Server\MSSQL\Data\DB_Name.MDF'
4、如果上一步成功,將步驟2中改名後的檔案刪除。如果上一步不成功,改回原來的檔名,
用sp_attach_db將資料庫附加到伺服器,然後用方法二。
方法二
6.X中
DUMP TRANSACTION test2 with NO_LOG
DUMP TRANSACTION test2 with TRUNCATE_ONLY
將上面的語句多次執行,直到日誌縮小。
7.0和2000中
backup log test2 with NO_LOG
backup log test2 with TRUNCATE_ONLY
DBCC SHRINKDATABASE(test2)
將上面的語句多次執行,直到日誌檔案縮小。
上面的方法治標不治本,標本兼治要用下面的方法。
方法三:
--6.X和7.0中改為日誌處於截斷模式,2000中恢復模型改為簡單恢復
exec sp_dboption 'test2','trunc. log on chkpt.','on'
--7.0和2000中設為自動收縮,6.x中不用執行。
exec sp_dboption 'test2','autoshrink','on'
通常用於測試環境。
方法四:
--7.0中改為日誌不處於截斷模式,2000中恢復模型改為完全恢復
exec sp_dboption 'test2','trunc. log on chkpt.','off'
--7.0和2000中設為自動收縮,6.x中不用執行。
exec sp_dboption 'test2','autoshrink','on'
建立作業,每半個小時一次日誌備份,每天一次完全資料庫備份。
7.0和2000中:在Log收縮到正常大小後,將autoshrink選項設定為off。
通常用於真實環境。
在產品化系統中將autoshrink選項設定為開啟狀態並非明智之舉(除非您真的需要這樣做),這是因為,當您的系統正在忙於完成其它任務時,autoshrink選項可能會同時啟動,從而降低系統執行速度。然而,對於那些資料庫管理員無暇估計並且資料庫尺寸有可能在您毫無察覺的情況下超出控制範圍的桌面或遠端系統來說,開啟這一選項卻是一種非常有效的措施。
收縮事務日誌
在下列情況下,日誌檔案的物理大小將減少:
*執行 DBCC SHRINKDATABASE 語句時。
*執行引用日誌檔案的 DBCC SHRINKFILE 語句時。
*自動收縮操作發生時。
日誌收縮操作依賴於最初的日誌截斷操作。日誌截斷操作不減小物理日誌檔案的大小,但減小邏輯日誌的大小,並將沒有容納邏輯日誌任何部分的虛擬日誌標記為不活動。日誌收縮操作會刪除足夠多的不活動虛擬日誌,將日誌檔案減小到要求的大小。
按下面任一方式控制事務日誌的大小:
*在維護日誌備份序列時,排程 BACKUP LOG 語句按間隔發生,以使事務日誌不致增長到超過預期的大小。
*當不維護日誌備份序列時,指定簡單恢復模式。
詳情請參考 MS SQL Server 2000 聯機叢書:
目錄--> SQL Server構架-->資料庫構架-->物理資料庫構架-->事務日誌構架-->收縮事務日誌
目錄--> SQL Server構架-->資料庫構架-->物理資料庫構架-->事務日誌構架-->截斷事務日誌
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-607110/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server事務日誌的處理方法SQLServer
- SQL Server 事務日誌傳輸SQLServer
- SQL Server事務日誌介紹SQLServer
- SQL SERVER 事務處理(一)SQLServer
- sql server 事務處理(二)SQLServer
- SQL Server 收縮事務日誌的方法SQLServer
- SQL Server大型事務日誌的備份SQLServer
- MS SQL Server 事務日誌介紹SQLServer
- 通過事務日誌解決SQL Server常見四大故障SQLServer
- 清除 SQL SERVER 2005 事務日誌SQLServer
- SQL Server日誌檔案總結及日誌滿的處理SQLServer
- 淺談SQL Server中的事務日誌(轉載)SQLServer
- 淺談SQL Server中的事務日誌(一)----事務日誌的物理和邏輯構架SQLServer
- SQL Server備份事務日誌結尾(Tail)SQLServerAI
- [zt] SQL Server日誌檔案總結及日誌滿的處理SQLServer
- SQL Server分散式事務處理(MS DTC)SQLServer分散式
- ORACLE 告警日誌alert過大的處理Oracle
- [zt] SQL Server 事務日誌的收縮和截斷SQLServer
- 關於SQL Server事務日誌的問題彙總SQLServer
- sql server日誌檔案總結及日誌滿的處理辦法SQLServer
- SQL Server資料庫事務日誌儲存序列SQLServer資料庫
- SQL Server 2008 事務日誌備份SQLServer
- SQL Server分散式事務處理(MS DTC)-續SQLServer分散式
- [轉載] SQL Server事務日誌的收縮和截斷SQLServer
- SQL Server 2008 事務日誌備份注意事項SQLServer
- SQL Server 2008 建立事務日誌備份SQLServer
- SQL 事務日誌填滿的原因SQL
- SQL Server資料庫事務日誌序列號(LSN)介紹SQLServer資料庫
- SQL Server如何截斷(Truncate)和收縮(Shrink)事務日誌SQLServer
- SQL Server 2008還原事務日誌備份SQLServer
- SQL Server 2008進行備份事務日誌SQLServer
- SQL Server 2008結尾事務日誌備份SQLServer
- SQL Server 2008中的聯機事務處理SQLServer
- SQL Server 2005日誌檔案損壞的處理方法SQLServer
- 用sql語句dbcc log 檢視SQL Server 資料庫的事務日誌SQLServer資料庫
- 初探SQL Server 2008線上事務處理功能SQLServer
- oracle 中 alert 報警日誌過大的處理方法Oracle
- SQL SERVER 2008 R2 日誌檔案過大處理方法 (收縮及刪除)SQLServer