如何在SQL Server 2008中删除mdf和ldf文件?

4

I have this code:

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'


该错误可能是由于权限问题导致的,您需要以管理员身份运行该查询或者将相关文件夹的权限设置为允许写入。
2个回答

8
很可能在您尝试DROP数据库时,该数据库处于离线状态。在这种情况下,SQL Server会将数据库文件留在文件系统中。这是一种有意的行为。
根据DROP DATABASE (Transact-SQL)
删除数据库会从 SQL Server 实例中删除数据库,并删除数据库使用的物理磁盘文件。如果在删除数据库时数据库或任何一个文件处于离线状态,则不会删除磁盘文件。可以使用 Windows Explorer 手动删除这些文件。

3

删除数据库只是将其脱机。您需要手动删除mdf和ldf文件(在此处查看如何定位它们);然后参考此图像:

之后,您可以重新创建数据库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接