我有这段代码:
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'
答案 0 :(得分:5)
当您尝试DROP
时,您的数据库很可能处于离线状态。在这种情况下,SQL Server将db文件留在文件系统上。这是故意的行为。
根据DROP DATABASE (Transact-SQL)
删除数据库会从SQL实例中删除数据库 服务器并删除数据库使用的物理磁盘文件。 如果 删除时,数据库或其任何一个文件都处于脱机状态, 磁盘文件不会被删除。这些文件可以手动删除 使用Windows资源管理器。
答案 1 :(得分:2)