LocalDB:你如何删除它?

时间:2013-03-10 04:15:47

标签: c# visual-studio sql-server-express

设置:实体框架代码首先到新数据库。

场景:我正在玩EF,我在我的数据库中添加了一堆元素。然后我改变了实体模型,虽然我知道我可以进行迁移,但我只想从头开始,基本上从地球上擦除数据库。

默认情况下使用的数据库是(localdb)\ v11.0。

我的问题是:

我可以去某处,只是删除一个文件,或者启动某种管理器删除该数据库并从头开始?

10 个答案:

答案 0 :(得分:41)

只需使用管理员权限进入命令提示符并输入:

//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"

答案 1 :(得分:20)

来自Visual Studio =>点击View => SQL Server对象资源管理器=>右键单击所需的数据库并选择删除,它将被删除或执行任何您想要的操作

答案 2 :(得分:8)

如果您正在使用Entity Framework Core,则可以在Package Manager控制台中输入:

PM> Drop-Database

它将删除当前数据库。这个命令会告诉你哪一个:

PM> Get-DbContext

这也很方便:

PM> Get-Help about_EntityFrameworkCore

答案 3 :(得分:7)

我认为您要删除单个数据库,而不是LocalDB实例。如果是这样,只需发出drop database命令:

DROP DATABASE databasename;

您可以从sqlcmd,Management Studio,您的应用程序代码甚至Visual Studio执行此操作......

答案 4 :(得分:2)

是的,你可以。在VS 2015/2017中按Ctrl + Q,键入“object explorer”。应打开“SQL Server对象资源管理器”,您将在其中看到本地数据库实例。展开数据库实例,您将看到不同的数据库。选择一个数据库执行右键单击并选择“删除”。

有关其他信息,请查看此link

希望有所帮助。

答案 5 :(得分:1)

使用Entity Framework Core,这也可以通过命令行完成:

dotnet ef database drop --project [path to project]

或者如果您有多个数据库上下文:

dotnet ef database drop --project [path to project] --context [ContextName]

答案 6 :(得分:0)

LocalDB是它自己独立的服务器(它的名字暗示它只是某个其他服务器实例中的数据库,但事实并非如此)。在SQL Server 2014 Express中,使用服务器名称“(localdb)\ MSSQLLocalDB”连接到它,就像连接到任何普通数据库服务器一样。如果使用SQL Server Management Studio进行连接,则可以使用SSMS的所有功能。

答案 7 :(得分:0)

实体框架3.1:

删除数据库

dotnet ef database drop

不想删除数据库,愿意删除数据库中的表

dotnet ef database update 0

答案 8 :(得分:0)

有一个名为SqlLocalDB.exe的可执行文件,可以在C:\ Program Files \ Microsoft SQL Server \ {version} \ Tools \ Binn

中找到

完整删除:

trigger: none
pr: none
stages:
- stage: 'Build'
  jobs:
  - job: 'Build'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"
- stage: 'Sandbox'
  jobs:
  - job: 'Sandbox'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"
- stage: 'DEV'
  jobs:
  - job: 'DEV'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"
- stage: 'QA'
  dependsOn: ['DEV','DEV1']
  jobs:
  - job: 'QA'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"
- stage: 'PROD'
  jobs:
  - job: 'DEV'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"
- stage: 'sandbox1'
  dependsOn: 'Build'
  jobs:
  - job: 'DEV1'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"
- stage: 'DEV1'
  jobs:
  - job: 'DEV1'
    pool:
      vmImage: ubuntu-16.04
    steps:
    - checkout: none
    - powershell: |
        echo "Hello Testing"

完成后,您还可以选择从磁盘中删除.mdf文件。 我的在

>sqllocaldb stop InstanceName >sqllocaldb delete InstanceName

您还可以重新创建一个新实例,甚至附加以后仍需要的.mdf文件。

C:\Users\{username}

您可以在以下位置查看您的实例:

>sqllocaldb create InstanceName
>sqllocaldb start InstanceName
>sqllocaldb info InstanceName

答案 9 :(得分:0)

我写了一个批处理文件来删除一个 SQL 本地数据库。 它使用可信连接。 如果需要,您可以使用 -U Username -P Password 参数添加凭据。

看看sqlcmd documentation

enter image description here

@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