質問:
通常、ロールバックを使用して SQL コマンドを元に戻すことができます。
BEGIN TRY
BEGIN TRANSACTION
/* run all your SQL statements */
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
私の質問:
「1人」がこれをした場合
UPDATE TABLE_X SET FIELD_X = 'bla'
GO
SSMSで(最後に go があることに注意してください) 、WHERE 句を指定するのを忘れていました。SSMS がこのコマンドを実行した暗黙的なトランザクションをロールバックすることは可能ですか (およびその方法) (最後に go を含むステートメントは、トランザクションで暗黙的に実行されます)。 ?
注:
私はそれをしませんでしたが、私の同僚が数日前に (行かずに) しました。
私は彼が受けた被害を元に戻しました (幸いなことに、彼がそうする 0.5 時間前にバックアップを作成しました)。