我最近遇到了错误:
System.Data.SqlClient.SqlException:数据库“mydatabase”的事务日志已满。要找出日志中的空间不能被重用的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列
在我的一个 Windows 服务上。它应该在捕获 Sql 异常后重试,但我没想到的是数据似乎仍在通过(我正在使用 SqlBulkCopy 顺便说一句),无论它是否引发异常。我以前从未遇到过这种情况。
我想知道是否还有其他情况可能会发生这样的事情,以及这件事是否完全有可能首先发生?
编辑:
System.Data.UpdateException:更新条目时出错。有关详细信息,请参阅 InnerException。---> System.Data.SqlClient.SqlException:数据库“MY_DB”的事务日志已满。要找出日志中的空间不能被重用的原因,请参阅 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception 的 sys.databases 中的 log_reuse_wait_desc 列, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient .SqlDataReader。
2 identifierValues, List
1 generateValues) 在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter 适配器) --- 内部异常堆栈跟踪结束 --- 在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update (IEntityStateManager stateManager, IEntityAdapter 适配器) 在 System.Data.Objects.ObjectContext.SaveChanges(Boolean acceptChangesDuringSave) 在 System.Data.Objects.ObjectContext.SaveChanges() 的 System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
PS。如果有人知道上述异常的错误代码,那也会有很大帮助。