2017-11-10 11 views
0

たとえば、更新クエリで「Begin Transaction」を使用しないとどうなりますか?まだトランザクションログに保存されていますか?SQL Set transaction

次のように実行しても、それでもトランザクションログに自動的に保存されますか? 「トランザクションを開始しない」、「コミットする」などは以下で使用されています。

UPDATE Customers 
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt' 
WHERE CustomerID = 1; 

私はトランザクションログとトランザクションについて少し混乱していると思いますか?トランザクションログにトランザクションを保存するには、 'begin transaction'を設定する必要がありましたが、私は思っていますか?ローカルトランザクションを開始するBEGIN TRANSACTIONが

は、 実行するように、アプリケーションがその後 がログに記録されなければならないアクションを実行するまでは、トランザクション・ログに記録さ はありませんが、あなたに

+0

これは、SQLは、指定されたかどうか、あなたのためにとにかく1を作成し、必須ではありません。 – artm

+0

明示的なBEGIN TRANを指定しない場合、各ステートメントは[autocommitted transaction](https://technet.microsoft.com/en-us/library/ms187878(v = sql.105).aspx)を使用して暗黙的にコミットされます(または 'IMPLICT_TRANSACTIONS ON'を持つ)。 –

答えて

0

ありがとうございましたINSERT、UPDATE、またはDELETEステートメント。アプリケーションは ロックを取得してトランザクションの隔離を保護するなどの操作を実行できます。 SELECTステートメントのレベルですが、アプリケーションが修正アクションを実行するまでは、 までログには何も記録されません。

https://technet.microsoft.com/en-us/library/ms188929(v=sql.105).aspx

関連する問題