データベースを強制的に削除しようとしていますが、データベースを削除した後、データベースを再作成しようとすると、エラーが発生します。
ファイルC:\ Program Files ..... [データベース名] .mdfはすでに存在するため作成できません
これはデータベースを強制的に削除するためのクエリです
Use master;
ALTER database [databasename] set offline with ROLLBACK IMMEDIATE;
DROP database [databasename];
上記のクエリはデータベースを削除していますが、.ldf
ファイルと.mdf
ファイルは削除されていません。データベースを完全に削除する方法は?
通常のクエリ
Drop database [databasename] ; //deletes the database completely, including the ldf and mdf's.
.mdf
および.ldf
ファイルも削除するデータベースを強制的に削除する方法
それは予想されており、 documentedbehavior :
データベースを削除すると、SQL Serverのインスタンスからデータベースが削除され、データベースで使用されている物理ディスクファイルが削除されます。 データベースまたはそのファイルの1つが削除されたときにオフラインの場合、ディスクファイルは削除されません。これらのファイルは、Windowsを使用して手動で削除できます冒険者。ファイルシステムからファイルを削除せずに現在のサーバーからデータベースを削除するには、sp_detach_dbを使用します。
では、なぜ最初にデータベースをオフラインにするのですか? SINGLE_USER
モードに設定し、SQL Server Books Onlineに記載されているようにドロップするだけです。-
USE master;
ALTER DATABASE [databasename] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [databasename] ;
上記のプロセスの一環として、データベースのバックアップは削除されません。