1. 程式人生 > >SQLSERVER 2008 R2 事務日誌已滿

SQLSERVER 2008 R2 事務日誌已滿

rim command star 進程 模式 執行 查看 alter 斷開

方法一:

  1. USE [master]
  2. GO
  3. ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
  4. GO
  5. ALTER DATABASE DNName SET RECOVERY SIMPLE --簡單模式
  6. GO
  7. USE DNName
  8. GO
  9. DBCC SHRINKFILE (N‘DNName_Log‘ , 11, TRUNCATEONLY)
  10. GO
  11. USE [master]
  12. GO
  13. ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
  14. GO
  15. ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式
  16. GO

方法二:

報錯:數據庫 .... 的事務日誌已滿。若要查明無法重用日誌中的空間的原因,請參閱 sys.databases 中的 log_reuse_wait_desc 列

處理辦法:

--將數據庫設為簡單模式。日誌文件自動斷開。

alter database dbname set recovery simple

--查看日誌文件狀況 use dbname dbcc shrinkfile(‘logname‘) --like XXXX_log

--恢復數據庫模式 alter database dbname set recovery full

方法三:

在 tempdb 數據庫不發生任何活動時運行 DBCC SHRINKFILE 命令。要確保在執行 DBCC SHRINKFILE 時其他進程不能使用 tempdb,必須以單用戶模式重新啟動 SQL Server。有關 DBCC SHRINKFILE 的更多信息,請參見本文中在使用 Tempdb 時執行 DBCC SHRINKDATABASE 或 DBCCSHRINKFILE 的結果 一節。 1. 確定主數據文件 (tempdb.mdf)、日誌文件 (templog.ldf) 和/或添加到 tempdb 的其他文件的所需大小。確保在這些文件中使用的空間小於或等於所需的目標大小。 2. 用查詢分析器連接到 SQL Server,然後為需要收縮的特定數據庫運行下列 Transact-SQL 命令:

use tempdb go
dbcc shrinkfile (tempdev, ‘target size in MB‘) go -- this command shrinks the primary data file
dbcc shrinkfile (templog, ‘target size in MB‘) go -- this command shrinks the log file, look at the last paragraph.

SQLSERVER 2008 R2 事務日誌已滿