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.

posted @   CoderNet  阅读(10677)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示