SQLSERVER 2008 R2 事务日志已满
Posted 有梦就能实现
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER 2008 R2 事务日志已满相关的知识,希望对你有一定的参考价值。
方法一:
- 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 命令:
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 2008 的事务日志文件存储数据库的啥情况
sql server 2000中,如何查询事务日志?事务日志有啥作用?
SQL Server 2014:事务日志错误:“由于 'XTP_CHECKPOINT',数据库 'ClientDB' 的事务日志已满。”