SQL server-数据库的事务日志已满

时间:2017-11-07 09:07:12

标签: sql sql-server ssms

我正在尝试将一些数据插入到sql server中的数据库中的表中。它有大量的数据,我在谈论数百万条记录。

我不断收到错误9002

  

数据库' GCVS2'的交易日志已满。找到   为什么日志中的空间无法重用,请参阅log_reuse_wait_desc   sys.databases中的列。

当我昨天尝试插入数据时,它没问题,虽然确实需要一些时间。

我今天再次尝试,但不断收到此错误。我检查了我的数据库的日志文件,它的自动增量设置为10%,无限制。有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您可以截断事务日志。使用以下查询

BACKUP LOG  databasename  WITH TRUNCATE_ONLY

DBCC SHRINKFILE (  databasename_Log, 1)

Check here for more details

答案 1 :(得分:1)

您需要检查数据库的Recovery模式。把它放在Full Recovery mode中。之后,请确保为您的数据库准备了transaction log备份。您需要深入了解并制定维护计划,具体取决于您的数据的重要程度。这将是长期解决方案。

暂时您可以使用以下DBCC命令缩小日志文件 -

BACKUP LOG  DBName WITH TRUNCATE_ONLY
DBCC SHRINKFILE (  DBNameLog, 1)

或者你可以通过Object Explorer来完成。有关详细信息,请参阅this链接。但您必须将数据库设置为Simple Recovery model才能使用Shrink命令