4

私はこのコードを持っています:

IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name='MyDatabase')
begin
   DROP database MyDatabase
end
Go

CREATE DATABASE MyDatabase

しかし、このクエリを実行した後、このエラーが表示されます。

ファイル'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.FARASQL \ MSSQL \ DATA\MyDatabase.mdf'を作成できません

4

2 に答える 2

7

あなたがそれを試みたとき、おそらくあなたのデータベースはオフラインでしDROPた。このような場合、SQLServerはdbファイルをファイルシステムに残します。それは意図的な行動です。

DROP DATABASE(Transact-SQL)によると

データベースを削除すると、SQL Serverのインスタンスからデータベースが削除され、データベースで使用されている物理ディスクファイルが削除されます。データベースまたはそのファイルのいずれかがドロップされたときにオフラインの場合、ディスクファイルは削除されません。これらのファイルは、Windowsエクスプローラーを使用して手動で削除できます。

于 2013-01-27T07:18:54.753 に答える
3

データベースを削除するのは、データベースをオフラインにするためだけです。mdfファイルとldfファイルを手動で削除する必要があります(これらを見つける方法については、こちらを参照してください)。次に、この画像を参照してください。

その後、データベースを再作成できます。

于 2015-06-23T01:52:14.417 に答える