我试图强制删除数据库,但是删除数据库后,当我尝试重新创建数据库时,出现错误


无法创建文件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文件?

#1 楼

这是预期的并得到记录的行为:


删除数据库将从SQL Server实例中删除该数据库,并删除该数据库使用的物理磁盘文件。如果数据库或其任何文件在删除时处于脱机状态,则不会删除磁盘文件。可以使用Windows资源管理器手动删除这些文件。要从当前服务器中删除数据库而不从文件系统中删除文件,请使用sp_detach_db。


那么为什么要首先使数据库脱机?只需将其设置为SINGLE_USER模式,然后按照SQL Server联机丛书中的说明将其删除。以上。

评论


这将不起作用,因为您不是使用该数据库的当前用户,如果有任何其他进程继续尝试连接到该数据库,它将无法正常工作。

–阿拉丁
9月22日晚上11:42