我正在尝试将一些数据插入到sql server中的数据库中的表中。它有大量的数据,我在谈论数百万条记录。
我不断收到错误9002
数据库' GCVS2'的交易日志已满。找到 为什么日志中的空间无法重用,请参阅log_reuse_wait_desc sys.databases中的列。
当我昨天尝试插入数据时,它没问题,虽然确实需要一些时间。
我今天再次尝试,但不断收到此错误。我检查了我的数据库的日志文件,它的自动增量设置为10%,无限制。有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
您可以截断事务日志。使用以下查询
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
答案 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
命令