以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求助,使用drop database语句删除数据库后,并没有删除服务器上的数据库mdf文件及日志文件,导致在重建同名数据库时出错,如何删除数据库同时同步删除mdf及日志文件,请老师们指教?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123607)

--  作者:百灵
--  发布时间:2018/8/19 10:15:00
--  [求助]求助,使用drop database语句删除数据库后,并没有删除服务器上的数据库mdf文件及日志文件,导致在重建同名数据库时出错,如何删除数据库同时同步删除mdf及日志文件,请老师们指教?
求助,使用drop database语句删除数据库后,并没有删除服务器上的数据库mdf文件及日志文件,导致在重建同名数据库时出错,如何删除数据库同时同步删除mdf及日志文件,请老师们指教?
--  作者:有点蓝
--  发布时间:2018/8/19 10:41:00
--  

个人建议这种数据库操作手工操作好了,不是特别必要不用程序代码操作

--  作者:百灵
--  发布时间:2018/8/19 10:48:00
--  
DeleteFile只能删除本机文件,无法远程删除服务器文件,考虑到项目用到动态创建数据库的问题,才用到这个,能不能通过SQL语句删除?
--  作者:有点蓝
--  发布时间:2018/8/19 11:20:00
--  
正常drop database是会自动删除磁盘文件的,如果不行只能手工删除,微软的文档也这样说了

无论数据库处于下列哪种状态,都可将其删除:脱机状态、只读状态或可疑状态等。 若要显示数据库的当前状态,请使用 sys.databases 目录视图。
只有通过还原备份才能重新创建已删除的数据库。 数据库快照无法备份,因此也就无法还原。
删除数据库时,应备份 master 数据库。
执行数据库删除操作会从 SQL Server 实例中删除数据库,并删除该数据库使用的物理磁盘文件。 执行删除操作时,如果数据库或它的任意一个文件处于脱机状态,则不会删除磁盘文件。 可使用 Windows 资源管理器手动删除这些文件。


--  作者:百灵
--  发布时间:2018/8/19 11:39:00
--  
我是在断开数据库的状态下删除数据库,这样就不会同步删除物理文件及日志,是吗?但是不断开数据库的情况,删除数据库会报错,也不会删除。删除数据库还有其他方法吗?我还原数据库也必须先断开数据库才能成功。
--  作者:有点蓝
--  发布时间:2018/8/19 11:46:00
--  
不可能在断开数据库的状态下删除数据库,drop database必须是连接状态。

应该是sql使用不当,自己百度一些解决方法

https://blog.csdn.net/Dandelion_drq/article/details/50446293

https://dba.stackexchange.com/questions/2387/sql-server-cannot-drop-database-dbname-because-it-is-currently-in-use-but-n

--  作者:百灵
--  发布时间:2018/8/19 11:52:00
--  
是断开要删除的数据库,重联master数据库的情况下的才能删除当前数据库。
--  作者:有点蓝
--  发布时间:2018/8/19 11:53:00
--  
看6楼的连接用法
--  作者:百灵
--  发布时间:2018/8/19 11:56:00
--  
是在联接maSter数据库的情况下,删除或还原其他已脱机的数据库的,这个思路是对的吧
--  作者:百灵
--  发布时间:2018/8/19 12:01:00
--  
我是按这个删除和还原数据库,已成功,但mdf及日志文件不能删除掉