Oracle有一些SQL命令可以发出,这样事务就不会被记录下来。SQL Server 2008也有类似的功能吗?
我的场景:我们需要服务器(Dev,QA,Prod)上的Tx日志,但也许我们可以在开发人员机器上没有它们。
发布于 2009-06-15 14:28:14
在任何情况下,您都不能没有SQL Server中的事务日志。引擎根本就不能工作。
您可以在您的开发机器上将您的恢复模式设置为简单-这将防止事务日志在事务日志备份未完成时膨胀。
ALTER DATABASE MyDB SET RECOVERY SIMPLE;
发布于 2012-06-20 07:32:49
还有上面没有提到的第三种恢复模式。恢复模式最终决定LDF文件的大小和写入频率。如果您要执行任何类型的批量插入,则应将DB设置为" bulk /LOGGED“。这使得批量插件可以快速移动,并且可以在飞行中更改。
要做到这一点,
USE master ;
ALTER DATABASE model SET RECOVERY BULK_LOGGED ;
要将其改回,请执行以下操作:
USE master ;
ALTER DATABASE model SET RECOVERY FULL ;
本着增加为什么有人不想要LDF的讨论的精神,我补充说:我们做多维建模。本质上,我们使用DB作为大量的变量存储,这些变量是使用外部程序批量处理的。我们不需要回滚。如果我们可以通过关闭所有日志记录来获得性能提升,我们会毫不犹豫地接受它。
发布于 2013-07-18 18:09:08
如果这只适用于dev机器以节省空间,那么只需使用简单恢复模式,您就会做得很好。
不过,在生产机器上,我强烈建议您将数据库保持在完全恢复模式下。这将确保您可以在需要时执行时间点恢复。
此外,让数据库处于完全恢复模式可以帮助您通过读取事务日志来撤消意外更新和删除。请参阅以下内容或更多详细信息。
How can I rollback an UPDATE query in SQL server 2005?
Read the log file (*.LDF) in sql server 2008
如果生产机器上的空间是一个问题,那么就创建频繁的事务日志备份。
https://stackoverflow.com/questions/996403
复制相似问题