从 SQL Server 的事务日志中删除信息

Posted

技术标签:

【中文标题】从 SQL Server 的事务日志中删除信息【英文标题】:Delete information from transaction logs at SQL Server 【发布时间】:2018-01-03 06:50:39 【问题描述】:

控制台应用程序使用 sql 请求 BACKUP DATABASE 创建 .bak 文件 https://technet.microsoft.com/en-us/library/ms191304(v=sql.105).aspx

它运行良好,但事务日志包含有关此备份(和恢复)的信息。如何以编程方式从事务日志中删除此信息?或者我可以在不将此信息添加到事务日志的情况下备份/恢复 sql 数据库吗?

【问题讨论】:

你为什么要这样做? 嗯???当然,事务日志包含这些详细信息。如果你试图让它不在交易中,这听起来像是发生了一些可疑的事情。为什么你需要掩盖你的踪迹? 我的应用程序可能溢出事务日志,我想删除与我的应用程序相关的所有信息 >>>我的应用程序可以溢出事务日志,我想删除与我的应用程序相关的所有信息 【参考方案1】:

不,您不能对 insiTransaction 日志进行任何修改

【讨论】:

【参考方案2】:

如果您使用SIMPLE 恢复模式,请使用CHECKPOINT 截断日志。

如果您在FULLBULK LOGGED,请备份您的日志(如果由于某种原因没有截断日志,您可能需要重复此操作)

但你认为它包含什么?里面没有真实的数据(reguarding backup),只有差异位图变化的信息

【讨论】:

以上是关于从 SQL Server 的事务日志中删除信息的主要内容,如果未能解决你的问题,请参考以下文章

如何查看 SQL Server 2005 事务日志文件

sql server 2000日志有啥用处

SQL Server 中完整事务日志的实际原因

SQL Server事务日志被填满的原因是啥

关于SQL Server事务日志的问题汇总

SQL Server:如何增加事务日志的大小?