Raj*_*ore 73 sql-server sql-server-2008
Oracle具有可以发出的SQL命令,因此不会记录事务.SQL Server 2008有类似的东西吗?
我的场景:我们需要服务器上的Tx日志(Dev,QA,Prod),但也许我们可以在开发者机器上没有它们.
Aar*_*ton 117
在任何情况下,您都离不开SQL Server中的事务日志.发动机根本不起作用.
您可以在您的开发机器上将恢复模型设置为SIMPLE - 这将防止在未完成转换备份时事务日志膨胀.
ALTER DATABASE MyDB SET RECOVERY SIMPLE;
Run Code Online (Sandbox Code Playgroud)
Ian*_*oyd 43
SQL Server需要事务日志才能运行.
也就是说,事务日志有两种操作模式:
在完全模式下,事务日志会持续增长,直到您备份数据库为止.在简单模式下:每个检查点都会"回收"事务日志中的空间.
很少有人需要在完全恢复模型中运行他们的数据库.使用完整模型的唯一要点是,如果您希望每天多次备份数据库,并且备份整个数据库需要太长时间 - 因此您只需备份事务日志.
事务日志一整天都在增长,你会继续支持它.那天晚上你进行完整备份,然后SQL Server 截断事务日志,开始重用事务日志文件中分配的空间.
如果您只进行完整数据库备份,则不需要完全恢复模式.
小智 42
上面没有提到第三种恢复模式.恢复模式最终决定了LDF文件的大小以及它们的写入方式.如果您要进行任何类型的批量插入,则应将DB设置为"BULK/LOGGED".这使得批量插入物可以快速移动,并且可以在运行中进行更改.
为此,
USE master ;
ALTER DATABASE model SET RECOVERY BULK_LOGGED ;
Run Code Online (Sandbox Code Playgroud)
要改回来:
USE master ;
ALTER DATABASE model SET RECOVERY FULL ;
Run Code Online (Sandbox Code Playgroud)
本着加入谈话的精神,为什么有人不想要LDF,我补充一点:我们做多维建模.基本上我们使用DB作为大量使用外部程序批量处理的变量.我们不需要回滚.如果我们可以通过转换所有日志记录来提升性能,那么我们就会心烦意乱.
| 归档时间: |
|
| 查看次数: |
149362 次 |
| 最近记录: |