SQLSERVER 2008 R2 事務日誌已滿
阿新 • • 發佈:2017-08-03
rim command star 進程 模式 執行 查看 alter 斷開
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.
方法一:
- USE [master]
- GO
- ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
- GO
- ALTER DATABASE DNName SET RECOVERY SIMPLE --簡單模式
- GO
- USE DNName
- GO
- DBCC SHRINKFILE (N‘DNName_Log‘ , 11, TRUNCATEONLY)
- GO
- USE [master]
- GO
- ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
- GO
- ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式
- 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 命令:
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 事務日誌已滿