SQLSERVER 2008 R2 事务日志已满

Posted 有梦就能实现

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.

以上是关于SQLSERVER 2008 R2 事务日志已满的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2012 事务日志在哪

sql server 2008 的事务日志文件存储数据库的啥情况

sqlserver 事务日志已满解决方案

sql server 2000中,如何查询事务日志?事务日志有啥作用?

SQL Server 2014:事务日志错误:“由于 'XTP_CHECKPOINT',数据库 'ClientDB' 的事务日志已满。”

sqlserver 事务日志已满的几种解决方案