SQL Server ユーザーテーブル全部 drop 雑クエリ
メモ:全 Temporal Table を無効化するクエリ - お だ のスペース
をテーブル削除まで含めてスキーマ対応したやつ。
依存関係無視してるので、全部 drop されるまで連打してください。
※段々消えてって最終的に全部 drop される
is_ms_shipped = 0 の条件入れたので、SQL Server のシステムテーブルは消えないはず。*1
declare @sql nvarchar(max) select @sql = concat(@sql, N'alter table ', schema_name([schema_id]), '.', [name], N' set (system_versioning = off);') from [sys].[tables] where [temporal_type] = 2 and [is_ms_shipped] = 0 -- 一応クエリ確認 select @sql exec (@sql) set @sql = null select @sql = concat(@sql, N'drop table ', schema_name([schema_id]), '.', [name], N';') from [sys].[tables] where [type] = 'U' and [is_ms_shipped] = 0 select @sql exec (@sql)
*1:この条件なくて間違って master データベースで実行して、システムテーブル吹っ飛んだ。。