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

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

SQL ServerのDDLはロールバックできる

タイトルの通りなのですが、少し驚きました。
SQL Serverでは、DDLロールバックすることができるようです。

以前、Oracleを使っていたことがあるのですが、OracleではDDLロールバックできないと学んだ気がするので、このSQL Serverの挙動は少し驚きました。

簡単に見ていきます。以下のようなsampldeデータベースの社員テーブルで試してみます。

f:id:mr_star:20210915183200p:plain
DDLロールバック挙動確認①

以下のように、社員テーブルをDROP TABLE実行後にロールバックします。

f:id:mr_star:20210915183355p:plain
DDLロールバック挙動確認②

別途、SQLシートを開いて社員テーブルをSELECTしてみます。以下の通り、問題なく検索することができました。ちゃんと、ロールバックされていますね。

f:id:mr_star:20210915183503p:plain
DDLロールバック挙動確認③

おわりに

SQL Server触って少し経ちましたが、お恥ずかしながら今更この仕様に気づきました。
このようにOracleを使っていた人が、SQL Serverを使うときにはやや驚くような挙動がたくさんありますね。。

そこまで、Oracleに習熟していたわけではありませんがこのような挙動は知っておかないと、よく分からないところではまりそうな気がします。
日々知識のUPDATEしていきたいものです。。。
最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。