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 中的设备(本地数据库)中删除图像

你如何从猫鼬中删除模型?

如何仅使用 LocalDB 2016 发布我的 C# winform 程序?

Nginx 不会离开!如何删除它[关闭]

当它的所有者进程退出时,你如何让一个 DLL 被删除?

如何在 Linux 中恢复已删除的文件-