SQL Server データベース内のすべてのテーブルを削除するにはどうすればいいですか? 質問する

SQL Server データベース内のすべてのテーブルを削除するにはどうすればいいですか? 質問する

SQL Server データベースを完全に空にするスクリプトを作成しようとしています。 これまでのところ、次のスクリプトを作成しています。

USE [dbname]
GO
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
EXEC sp_msforeachtable 'DELETE ?'

Management Studio で実行すると、次のようになります。

コマンドは正常に完了しました。

しかし、テーブル リストを更新すると、それらはすべてまだそこにあります。何が間違っているのでしょうか?

ベストアンサー1

MSSMS UI ツールのみを使用して (SQL スクリプトを使用せずに) データベースからすべてのテーブルを削除することもできます。この方法の方が快適な場合もあります (特に時々実行される場合)

これを次のように段階的に実行します。

  1. データベースツリー(オブジェクトエクスプローラー)で「テーブル」を選択します。
  2. F7 キーを押してオブジェクト エクスプローラーの詳細ビューを開きます。
  3. このビューで、削除する必要があるテーブルを選択します(この場合はすべて)
  4. すべてのテーブルが削除されるまで、Delete キーを押し続けます (キー制約/依存関係によるエラーの数だけ繰り返します)

おすすめ記事