LocalDB:你如何删除它?
Posted
技术标签:
【中文标题】LocalDB:你如何删除它?【英文标题】:LocalDB: How do you delete it? 【发布时间】:2013-03-10 04:15:47 【问题描述】:设置:实体框架代码首先到新数据库。
场景:我正在使用 EF 并在我的数据库中添加了一堆元素。然后我更改实体模型,虽然我知道我可以进行迁移,但我只想从头开始,基本上从地球上清除数据库。
默认使用的数据库是(localdb)\v11.0。
我的问题是:
我可以去某个地方只删除一个文件,或者启动某种管理器来删除该数据库并从头开始吗?
【问题讨论】:
+1 这是开始使用 EF 的一个很好的有趣问题。 【参考方案1】:只需使用管理员权限进入命令提示符并输入:
//list the instancies
sqllocaldb i
//stop selected instance
sqllocaldb p "selected instance"
//delete
sqllocaldb d "selected instance"
//recreate or create new one
sqllocaldb c "new instance"
【讨论】:
删除实例不会删除实际的数据库文件。当 EF 重新创建它时,现有的 MDF 文件(有时)会被重用。 太棒了,谢谢。这应该是公认的答案。关于之前的评论:那是一个程序调用'文件资源管理器'变得很方便;-)【参考方案2】:从 Visual Studio => 单击查看 => SQL Server 对象资源管理器=> 右键单击所需的数据库并选择删除,它将被删除或执行任何您想要的操作
【讨论】:
您删除的是与数据库的连接,而不是数据库本身【参考方案3】:如果您使用的是 Entity Framework Core,则可以在包管理器控制台中输入:
PM> Drop-Database
它将删除当前数据库。这个命令会告诉你是哪一个:
PM> Get-DbContext
这也很方便:
PM> Get-Help about_EntityFrameworkCore
除了包管理器控制台,您还可以通过 PowerShell 或命令提示符使用 dotnet CLI:
PS> dotnet ef database drop
确保首先通过运行 this command 安装 EF 扩展:
dotnet tool install --global dotnet-ef
【讨论】:
这正是我想要的。【参考方案4】:我认为您想删除单个数据库,而不是 LocalDB 实例。如果是这样,只需发出一个删除数据库命令:
DROP DATABASE databasename;
您可以通过 sqlcmd
、Management Studio、您的应用程序代码甚至 Visual Studio...
【讨论】:
【参考方案5】:是的,你可以。在 VS 2015/2017 中按 Ctrl+Q,键入“对象资源管理器”。 “SQL Server 对象资源管理器”应打开,您将在其中看到本地数据库实例。展开数据库实例,您将看到不同的数据库。选择一个数据库执行右键单击并选择“删除”。
更多信息请查看link。
希望对您有所帮助。
【讨论】:
【参考方案6】:有一个名为 SqlLocalDB.exe 的 exe 可以在 C:\Program Files\Microsoft SQL Server\version\Tools\Binn 中找到
完全删除:
>sqllocaldb stop InstanceName
>sqllocaldb delete InstanceName
完成后,您还可以选择从磁盘中删除 .mdf 文件。 我的在
C:\Users\username
您还可以重新创建一个新实例,甚至可以附加您之后仍需要的 .mdf 文件。
>sqllocaldb create InstanceName
>sqllocaldb start InstanceName
>sqllocaldb info InstanceName
您可以在以下位置查看您的实例:
C:\Users\username\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances
【讨论】:
【参考方案7】:使用 Entity Framework Core,这也可以通过命令行来完成:
dotnet ef database drop --project [path to project]
或者,如果您有多个数据库上下文:
dotnet ef database drop --project [path to project] --context [ContextName]
确保首先通过运行 this command 安装 EF 扩展:
dotnet tool install --global dotnet-ef
【讨论】:
【参考方案8】:LocalDB 是它自己的独立服务器(它的名字暗示它只是其他服务器实例中的一个数据库,但事实并非如此)。在 SQL Server 2014 Express 中,您使用服务器名称“(localdb)\MSSQLLocalDB”连接到它,就像连接到任何普通数据库服务器一样。如果您使用 SQL Server Management Studio 进行连接,那么您将拥有 SSMS 的所有功能。
【讨论】:
【参考方案9】:实体框架 3.1:
删除数据库
dotnet ef database drop
不想删除数据库,愿意删除数据库中的表
dotnet ef database update 0
【讨论】:
【参考方案10】:我写了一个批处理文件来删除一个 SQL 本地数据库。
它使用受信任的连接。
如果需要,您可以使用 -U Username
-P Password
参数添加您的凭据。
查看sqlcmd documentation!
@echo off
set /p DbName=Enter local db name:
echo.
sqlcmd -e -S "(LocalDb)\MSSQLLocalDB" -d "master" -Q "EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'%DbName%'; USE [master]; DROP DATABASE [%DbName%];"
echo Finished!
pause > nul
【讨论】:
以上是关于LocalDB:你如何删除它?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Objective-C 从 IOS Cordova 中的设备(本地数据库)中删除图像