如何在本地打开Azure数据库.bacpac文件并用于本地Umbraco网站?
解决Umbraco本地开发使用Azure导出的.bacpac数据库问题
1. 将.bacpac导入本地SQL Server(SSMS操作)
注意:.bacpac是数据库备份文件,无法直接连接,需先导入到本地SQL Server实例:
- 打开SSMS,优先连接你的本地SQL Server实例(比如
(localdb)\MSSQLLocalDB、localhost或自定义实例名),不要选择之前的Azure云端连接。 - 右键点击左侧「数据库」节点 → 依次选择「数据层应用」→ 「导入数据层应用...」
- 在导入向导中,选择下载好的.bacpac文件路径,设置本地数据库名称(建议和云端同名,方便后续切换)
- 跟随向导完成配置,等待数据导入完成。
2. 修改Web.config的本地数据库连接字符串
替换原Azure连接字符串为本地SQL Server配置,以下是几种常见场景:
场景1:使用LocalDB(默认本地开发实例)
<connectionStrings> <remove name="umbracoDbDSN" /> <add name="umbracoDbDSN" connectionString="Server=(localdb)\MSSQLLocalDB;Database=你的本地数据库名称;Integrated Security=True;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
场景2:使用本地完整SQL Server实例(Windows身份验证)
<connectionStrings> <remove name="umbracoDbDSN" /> <add name="umbracoDbDSN" connectionString="Server=localhost;Database=你的本地数据库名称;Integrated Security=True;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
场景3:使用本地完整SQL Server实例(SQL Server身份验证)
<connectionStrings> <remove name="umbracoDbDSN" /> <add name="umbracoDbDSN" connectionString="Server=localhost;Database=你的本地数据库名称;User ID=你的SQL账号;Password=你的SQL密码;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
替换后保存Web.config,重启Umbraco项目即可连接本地数据库。
3. 本地开发完成后部署回Azure
- 在SSMS中连接本地数据库,右键点击数据库 → 依次选择「数据层应用」→ 「导出数据层应用...」,生成新的.bacpac文件。
- 登录Azure门户,找到目标SQL数据库,进入「导入/导出」功能,上传新生成的.bacpac文件覆盖原云端数据库(也可创建新数据库后切换)。
- 或直接在SSMS中使用「部署数据层应用」功能,将本地数据库直接部署到Azure SQL数据库。
- 最后将Web.config的连接字符串改回原Azure配置,部署Umbraco项目到云端即可。
内容的提问来源于stack exchange,提问作者Menahem Gil
相关产品推荐
相关产品推荐

