ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

SQL Server Management Studioのオートコミットの設定について

SQL Serverのクライアントツールである、SQL Server Management Studio(SSMS)でオートコミットを設定する方法について記載します。
SSMSのインストール方法や、SQL Serverのインストール方法は別に記事としてまとめていますのでまだの方はそちらを参照いただければと思います。
SQL Server 2019 DeveloperエディションをWindowsにインストールする - ITエンジニアの成長ブログ
SQL Serverへ接続するために、SSMSをインストールする - ITエンジニアの成長ブログ

SSMSのオートコミットについて

SSMSでオートコミットは、デフォルトでONになっています。つまり、UPDATE、DELETE文を実行すると即時コミットされます。
センシティブな更新をする場合は、データ更新後にSELECT文などを実行し、更新結果が想定通りであるかどうかを確認してからコミットを行うなどの手順を踏むことが多いと思います。
そのため、基本的にはオートコミットはOFFにするべきかと思います。
以下でその設定方法についてみていきましょう!

SSMSのオートコミットの設定方法

では、さっそくオートコミットの設定についてお話します。
SSMSを開いたら、以下の手順で設定オプションを開きます。
「ツール」-「オプション」

SSMS設定オプション①

設定オプション画面にて、以下の手順でオートコミットの設定画面を開きます。
「クエリ実行」-「SQL Server」-「ANSI

SSMS設定オプション②

オートコミットの設定は、「SET IMPLICIT_TRANSACTIONS」になります。このチェックボックスを付与することでオートコミットがOFFになります。
これで、新しいシートを作成したらそのシートではオートコミットOFFの状態になります。つまり、コミットは明示的に実行することで処理されます。

おわりに

いかがでしたでしょうか。ものの数分で設定できると思います。
ちなみに、この設定ですが厳密には”暗黙のトランザクションを設定しています。

また、暗黙のトランザクションとは反対に明示的なトランザクションと呼ばれるものも存在します。これは、文字通り明示的にトランザクションを開始するということです。

具体的には、BEGINコマンドで明示的にトランザクションが開始され、COMMITまたはROLLBACKを実行するまでトランザクションは継続されます。
トランザクションの知識はアプリケーションを作成する際には、ほぼ必須だと思いますので理解を深めておきたいものです。

勉強していくと意外と奥が深かったりするんですよね、、、
それでは最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。