使SQL Server LocalDb可移植

时间:2018-10-07 23:25:56

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

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

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

在理想的世界中,我想做的是进行设置,因此,当有人从我们的来源中拉下SSDT项目时,他们可以进行部署并完全在其计算机上填充localdb项目。以前有人做过,知道如何做吗?

-免责声明-

我觉得在谈论localdb时,需要进行澄清很重要,因为似乎当其他人发布这样的问题时,他们会得到许多适用于SQL Server数据库的响应。

  

什么是localdb项目:

     

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

     

什么不是localdb项目:

     

localdb项目不是SQL Server数据库。

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

1 个答案:

答案 0 :(得分:0)

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

步骤1:找到localDB数据库的位置。 右键单击数据库名称,然后选择属性

enter image description here

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

第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;