H2からSQL Serverに移行する機能テストがあります。いくつかのテストを実行する間に、私は(自動的に)データベースをバックアップし、データベースからすべてを削除し、SQLを使用してデータベースをすべて復元します。SQL Server - トランザクションをコミットする機能テストによるバックアップ/リストアまたはロールバック
復元するために、私はALTER DATABASE mydatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
に電話する必要があるため、標準のBACKUP DATABASEコマンドとRESTORE DATABASEコマンドを使用してSQL Serverでバックアップ/リストアを実行することはできません。
セーブポイントを作成してからロールバックしたいのですが、ロールバックは機能しません。これは、APIのトランザクションがセーブポイントの作成とロールバックの間にコミットしているためです。機能テストコードで自動コミットをfalseに設定していますが、自動コミットエラーが発生していません。
1つのアイデアは、すべてのテーブルを削除して復元することによってSQLを使用して復元することです。私はそれについてどうやって行くのか分かりません。
アイデア?
、右の[スクリプトを生成し、タスクに移動し、データベース名をクリックしてください。ウィザードは、現時点ではテーブルのすべての行とともにテーブルスキーマをスクリプト化する方法を説明します。スキルとデータをスクリプト化してテーブルを削除し、全体を再作成することもできます。 – dfundako