3

我在生产服务器中有一个数据库,它的日志越来越大,在试图理解原因时,我发出了这个查询:

SELECT name, log_reuse_wait_desc FROM sys.databases

有问题的数据库有 DATABASE_SNAPSHOT_CREATION,甚至强硬的文档说它应该是一个瞬时状态,它已经处于这种状态 10 分钟。我猜这是使日志无法管理的原因。

我怎样才能解决这个问题?

PS:我正在使用简单的恢复模式。

4

3 回答 3

2

好的 - 尝试运行 DBCC SQLPERF(LOGSPACE)。这将告诉您实际使用了多少日志文件。

于 2011-05-05T19:55:42.997 回答
2

我也有类似的问题,现在解决了:)

-> 数据库处于简单恢复模式,在 log_reuse_wait_desc 上显示此 DATABASE_SNAPSHOT_CREATION。

我所做的就是运行下面的脚本:

use Databasename
go

checkpoint

我多次运行的“检查点”部分。之后不再有 DATABASE_SNAPSHOT_CREATION。

我在任务中使用的脚本如下:

DBCC SQLPERF(LOGSPACE)

select log_reuse_wait_desc, * from sys.databases
where log_reuse_wait_desc != 'NOTHING'


SELECT * FROM sys.dm_exec_requests

checkpoint
于 2014-05-02T15:39:41.640 回答
0

您是否有任何大型交易未完成?数据库快照始终以一致状态拍摄数据库。如果一个大型事务已经运行了 10 分钟,那么事务必须在快照中回滚,然后才能完成快照。

SELECT * FROM sys.dm_exec_requests

上面的查询可以告诉您运行时正在运行的内容。

于 2011-05-05T19:04:33.883 回答