SQLSERVER 2008 R2 事務日志已滿


方法一:

  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.   
  14.     ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT  
  15.   
  16.     GO  
  17.   
  18.     ALTER DATABASE DNName SET RECOVERY FULL  --還原為完全模式  
  19.   
  20.     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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM