有没有办法我们可以做DML操作而不将其记录到日志文件中?
例如,当我在数据库中插入一行时,无论是否使用事务,此操作都将记录在日志文件中。但我不想在日志文件中记录此操作。
答案 0 :(得分:4)
答案 1 :(得分:0)
SQL Server将始终将插入内容写入日志文件。当服务器重置时,它需要该信息来恢复处于一致状态的数据库。
您可以通过选择恢复模式来更改为影响日志记录:
alter database YourDb set recovery { FULL | BULK_LOGGED | SIMPLE }
在简单模式下,SQL Server只记录正在运行的事务,并开始重用不再需要的部分日志。在简单模式下,日志文件通常很小。
如果要在插入操作后删除日志,可以使用:
alter database YourDb set recovery simple with no_wait
dbcc shrinkfile(YourDbLog, 1)
alter database YourDb set recovery <<old model here>>
请注意,这会删除所有日志。您只能在运行此命令后使用还原上次完整备份。