sql-server - 使 SQL Server LocalDb 可移植
问题描述
我正在设置一台新机器,令我惊讶的是,让 localdb 在新机器上工作真的很困难。我的解决方案资源管理器中的所有内容都已填充,但在我从源代码(使用 git)获取后,我的 (localdb) 项目中没有显示任何内容。
将我的 localdb 项目从旧机器转移到新机器的最佳方法是什么?
在一个理想的世界里,我想做的是设置它,这样当一些人从我们的源中拉下 SSDT 项目时,他们可以点击部署并在他们的机器上完全填充 localdb 项目。以前有没有人这样做过,知道怎么做吗?
--免责声明--
我觉得在谈论 localdb 时,做一些澄清很重要,因为当其他人发布这样的问题时,他们似乎会得到很多适用于 SQL Server 数据库的回复。
什么是 localdb 项目:
localdb SQL Server 项目是一个特殊的服务器实例,它仅在连接到 SQL Server 时运行,部分类似于 SQL Server,并包含仅在与它们建立连接时运行的特殊数据库实例。localdb 可用于某些类型的生产,但它们最常用于测试其他数据库。
localdb 项目不是什么:
localdb 项目不是 SQL Server 数据库。
我很清楚我可以备份项目中的每个数据库并在新机器上手动恢复它们,但这不是我想要做的。
解决方案
您可以通过分离和附加过程来实现这一点。
第 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;
推荐阅读
- javascript - 在 PHP 输入单选名称标签中使用变量并在 JQUERY 或 JAVASCRIPT 上获取值
- docker - 在 docker 中有分离的网络
- python - sco.optimize.minimize_scalar 的多线程/多处理替代方案?
- spring-boot - 在 Spring Validation 中允许数值
- php - 如何从 Wordpress Media 获取图像标题和描述
- oauth-2.0 - 当根据 Shopify 禁止索取时,如何从用户那里获取 Shopify oAuth 2.0 的 myshopify URL?
- r - 用 dplyr+stringr 替换多个模式?
- visual-studio-2015 - MicrosoftAzureTools.VS140,这仅适用于 VS2015 吗?VS2017的更新版本是什么?
- windows - PowerShell 将参数添加到命令 / For-Each?
- twincat - 安装 TWINCAT 时 VS2019 无响应