2016-01-20 154 views
1

如何删除删除其文件的SQL LocalDB数据库?SQL LocalDB - 在删除数据库文件时无法删除数据库

删除数据库收益率这样的信息:

无法打开物理文件 “C:\用户\公用\文档\ LocalDB.Tests.3d0d7339-7cf2-45fe-a83b-b5079112ab80.mdf”。操作系统错误2:“2(系统找不到指定的文件)”。

文件激活失败。物理文件名称“C:\ Users \ Public \ Documents \ LocalDB.Tests.3d0d7339-7cf2-45fe-a83b-b5079112ab80_log.ldf”可能不正确。

正在运行master.sp_databases实际上不显示它们,但是Management Studio确实没有。

回答

1

我假设你正在使用(的LocalDB)与SQL Server 2012

捆绑如果您使用的SQL Server 2014 使用(的LocalDB)\ MSSQLLocalDB代替(的LocalDB) \下面

  • 打开命令提示符,11.0
  • 启动LocalDB实例,如果它尚未运行:“C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqllocaldb.exe” start “v11.0″
  • 通过运行以下命令删除的LocalDB数据库:“C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd” -S (localdb)\v11.0 -E -d master -Q “DROP DATABASE [myDatabase]”
  • 现在可以停止的LocalDB服务:“C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqllocaldb.exe” stop “v11.0″

来源:http://kazimnami.azurewebsites.net/techblog/2013/02/27/delete-localdb-database-after-physical-files-have-been-deleted/

+0

它仍然给出错误,尽管刷新后,DB节点现在已经从SSMS消失了。 –

2

我有一个类似的问题。解决方案是分离数据库。分离数据库不会从文件系统中删除文件,因此,当然,您将不会收到找不到文件的错误。

EXEC sp_detach_db 'My_Db' 
+0

你能告诉我们如何做到这一点吗? – Shimmy

+0

@Shimmy我发表了[这个问题](https://stackoverflow.com/questions/37228400/cannot-find-file-specified-when-dropping-localdb-database-if-mdf-was-deleted?noredirect=1&lq= 1) 我也回答了解决方案。这个问题也可以在链接部分的这个页面上看到。 – Clint

+0

在我看到您的评论之前,我已经用另一种方式修复了它,但我确信其他用户将从您的链接中受益,非常感谢! – Shimmy