例如,如果不对update查询使用'Begin Transaction‘会发生什么?它是否仍保存在事务日志中?
假设您运行以下命令,它是否仍会自动保存到事务日志中?如你所见,下面使用了No 'begin transaction',commit等。
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
我想我对事务日志和事务有点混淆了?我想我认为设置'begin transaction‘对于要保存在事务日志中的事务是强制的?
谢谢
发布于 2017-11-10 10:35:18
尽管BEGIN transaction启动了一个本地事务,但直到应用程序随后执行必须记录在日志中的操作(如执行INSERT、UPDATE或DELETE语句)时,该事务才会记录在事务日志中。应用程序可以执行诸如获取锁等操作来保护SELECT语句的事务隔离级别,但在应用程序执行修改操作之前,不会在日志中记录任何内容。
https://technet.microsoft.com/en-us/library/ms188929(v=sql.105).aspx
https://stackoverflow.com/questions/47214782
复制相似问题