【问题标题】:Make SQL Server LocalDb portable使 SQL Server LocalDb 可移植
【发布时间】:2019-02-01 15:01:59
【问题描述】:

我正在设置一台新机器,令我惊讶的是,让 localdb 在新机器上工作真的很困难。我的解决方案资源管理器中的所有内容都已填充,但在我从源代码(使用 git)获取后,我的 (localdb) 项目中没有显示任何内容。

将我的 localdb 项目从旧机器转移到新机器的最佳方法是什么?

在一个理想的世界里,我想做的是设置它,这样当一些人从我们的源中拉下 SSDT 项目时,他们可以点击部署并在他们的机器上完全填充 localdb 项目。有没有人这样做过,知道怎么做吗?

--免责声明--

我觉得在谈论 localdb 时,做一些澄清很重要,因为当其他人发布这样的问题时,他们会得到很多适用于 SQL Server 数据库的回复。

什么是 localdb 项目:

localdb SQL Server 项目是一个特殊的服务器实例,它只运行 当它连接到 SQL Server 并且部分类似于 SQL Server 时 包含仅在以下情况下运行的数据库的特殊实例 与他们建立联系。 localdb 可用于某些类型 生产,但它们最常被用作测试其他 数据库。

localdb 项目不是什么:

localdb 项目不是 SQL Server 数据库。

我很清楚我可以备份项目中的每个数据库并在新机器上手动恢复它们,但这不是我想要做的。

【问题讨论】:

  • 您需要澄清您的问题。我没有看到其中实际描述的任何问题。
  • @marc_s 必须强烈反对。它是与 MS 完全不同的产品,它使用 MSSQL Server 中使用的同一引擎的一个分支,但它的工作方式不同,也不包含 SQL Server 的大部分功能。
  • @mar_s 我认为你应该更加小心你的语言。 SQL Server SQL Server Express LocalDB。我已经在这些领域开发了多年,并且存在许多差异(它们毕竟是不同的应用程序),尽管在我的开发过程中它们对您来说似乎微不足道,但它们却产生了非常大的差异。
  • @Nick.McDermaid,感谢您的来电。我已经编辑了这个问题,如果这样更清楚,请告诉我。

标签: sql-server sql-server-data-tools localdb


【解决方案1】:

您可以通过分离和附加过程来实现这一点。

第 1 步:找到 localDB 数据库的位置。 右键单击数据库名称并选择属性

数据文件属性,您可以找到数据库当前位置。

第 2 步:分离当前数据库

EXEC sp_detach_db 'aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B', 'true';

第 3 步:将 localDB 复制并粘贴到不同的位置(您要放置 localDB 数据库的位置)

第 4 步:将数据库附加到新位置

CREATE DATABASE [aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B]  
    ON (FILENAME = 'D:\Test\aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B.mdf'),   
    (FILENAME = 'D:\Test\aspnet-IdentityApplication-E2BBF1E6-123-4567-8910-07BC0413419B_log.ldf')   
    FOR ATTACH;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2010-11-15
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    相关资源
    最近更新 更多