抑制使用 NHibernate 完成的所有 DML 事务的数据库日志

Suppress database logs for all DML transactions done using NHibernate

众所周知,每当我们在数据库上执行任何 DML 语句时,数据库始终会为这些语句中的每一个保留其事务日志。例如,在 SQL 服务器的情况下,每次 database.ldf 文件被捕获时这些东西就位,这是一件很棒的事情,我们可以在发生故障时保留我们的数据库。

但就我而言,我想使用 NHibernate(fluent) 从我的应用程序中抑制这些日志。

是否可以告诉我的 NHibernate 对象不要将生成的任何事务日志存储到我的数据库中?

谢谢, 维杰

事务日志是数据库的内部实现"detail",NHibernate 不知道它们并且不能操作它们,也不能告诉数据库不要生成它们。

如果您的 sql 登录允许,并且您认为这确实是一件好事,您可以通过 ISession.CreateSQLQuery("some query truncating the logs").ExecuteUpdate() 发出数据库管理命令。

但是管理事务日志是数据库管理员的任务和责任,而不是组织的责任。也许你应该问另一个问题是什么导致你尝试这样做,以及如何正确解决它。因为你想在这里做的解决方案对我来说看起来很不对。