有谁知道如何将 SQL Azure 数据库复制到我的开发计算机上?我想停止付费在云中拥有开发数据库,但这是获取生产数据的最佳方式。我将生产数据库复制到新的开发数据库,但我希望在本地拥有相同的数据库。
有什么建议么?
有多种方法可以做到这一点:
-
使用 SSIS(SQL Server 集成服务)。它只导入
data
在你的桌子上。列属性、约束、键、索引、存储过程、触发器、安全设置、用户、登录名等不会传输。然而,这是一个非常简单的过程,只需通过 SQL Server Management Studio 中的向导即可完成。
- 使用组合SSIS 和 DB 创建脚本。这将为您提供数据以及所有未由 SSIS 传输的缺失元数据。这也很简单。首先使用 SSIS 传输数据(请参阅下面的说明),然后从 SQL Azure 数据库创建 DB Create 脚本,并在本地数据库上重新运行它。
- 最后,您可以使用SQL Azure 中的导入/导出服务。这会将数据(带有架构对象)作为 BACPAC 传输到 Azure Blob 存储。您将需要一个 Azure 存储帐户并在 Azure Web 门户中执行此操作。只需在选择要导出的数据库时按 Azure Web 门户中的“导出”按钮即可。缺点是它只是手动过程,我不知道通过工具或脚本自动执行此操作的方法 - 至少是需要单击网页的第一部分。
手动程序方法#1(使用SSIS)如下:
- 在 Sql Server Management Studio (SSMS) 中,在本地 SQL 实例上创建新的空数据库。
- 从上下文菜单中选择导入数据(右键单击数据库 -> 任务 -> 导入数据...)
- 输入源 (SQL Azure) 的连接参数。选择“.Net Framework Data Provider for SqlServer”作为提供程序。
- 选择现有的空本地数据库作为目标。
- 按照向导操作——您将能够选择要复制的表数据。您可以选择跳过任何不需要的表。例如。如果您将应用程序日志保留在数据库中,则您的备份中可能不需要它。
您可以通过创建 SSIS 包并在需要重新导入数据时重新执行它来自动化它。请注意,您只能使用 SSIS 导入到干净的数据库,一旦完成一次就无法对本地数据库进行增量更新。
方法#2(SSID数据加模式对象)非常简单。首先执行上述步骤,然后创建数据库创建脚本(右键单击 SSMS 中的数据库,选择生成脚本 -> 数据库创建)。然后在本地数据库上重新运行此脚本。
方法#3在此处的博客中进行了描述:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-product/。有一个视频剪辑,介绍了将数据库内容传输到 Azure Blob 存储(作为 BACPAC)的过程。之后,您可以在本地复制该文件并将其导入到您的 SQL 实例。将 BACPAC 导入数据层应用程序的过程如下所述:http://msdn.microsoft.com/en-us/library/hh710052.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)