DocumentDB - SQL Server
JSON 文件非常适合,它们可能能够按原样导入到 DocumentDB。 然而,从像 SQL Server 这样的关系数据库导入将需要某种转换,这意味着我们需要以某种方式弥合 SQL Server 中的规范化数据与其在 DocumentDB 中的非规范化表示之间的差距。
让我们看一个简单的示例,在其中我们将了解迁移工具如何从 SQL Server 数据库导入。 在此示例中,我们将从 AdventureWorks 2014 数据库导入数据。 AdventureWorks 是一个流行的示例数据库,您可以按照以下步骤从 CodePlex 下载。
步骤 1 − 转到 https://www.codeplex.com/
步骤 2 − 在搜索框中搜索 AdventureWorks 2014。
步骤 3 − 为示例数据库选择推荐的版本。
最容易选择的下载是推荐的下载,即完整数据库备份。
步骤 4 − 单击并将 zip 文件保存到任意文件夹,然后提取包含数据库备份文件的 zip 文件。
步骤 5 − 打开 SQL Server Management Studio,连接到我的本地 SQL Server 实例并恢复备份。
步骤 6 − 右键单击数据库 → 恢复数据库。 单击"浏览"按钮。
您将看到以下窗口。
步骤 7 − 单击"添加"按钮。
步骤 8 − 浏览数据库备份文件并单击"确定"。 然后再按一次"确定",即可开始恢复。
我们已经成功恢复。
嗯,这是一个很大的数据库,肯定有很多表,所以让我们看看视图。
这看起来更易于管理,而且大多数视图都是通过将多个相关表连接在一起来工作的,所以让我们看一下这个名为 vStoreWithAddresses 的视图,它是在 Sales 架构中定义的。
我们从连接所有表的视图中进行选择,并根据 AddressType 进行过滤,这仅向我们提供主要办公室。
SELECT CAST(BusinessEntityID AS varchar) AS [id], Name AS [name], AddressType AS [address.addressType], AddressLine1 AS [address.addressLine1], City AS [address.location.city], StateProvinceName AS [address.location.stateProvinceName], PostalCode AS [address.postalCode], CountryRegionName AS [address.countryRegionName] FROM Sales.vStoreWithAddresses WHERE AddressType='Main Office'
执行上述查询时,您将收到以下输出。
让我们启动 GUI 版本迁移工具。
步骤 1 − 在欢迎页面上,单击"下一步"进入源信息页面。
第 2 步 − 从下拉菜单中选择 SQL 并指定数据库连接字符串。
步骤 3 − 单击"验证"按钮。
如果指定了正确的连接字符串,则会显示成功消息。
步骤 4 − 输入您要导入的查询。
步骤 5 − 单击"下一步"。
步骤 6 − 指定 DocumentDB 帐户中的连接字符串,该帐户可以从 Azure 门户中找到。
步骤 7 − 指定主连接字符串,不要忘记在连接字符串末尾添加数据库名称。
步骤 8 − 指定要添加 JSON 文件的集合。
步骤 9 − 单击"高级选项"并向下滚动页面。
步骤 10 − 指定索引策略,假设范围索引策略。
步骤 11 − 单击"下一步"继续。
步骤 12 − 再次单击"下一步"继续。
步骤 13 − 您可以在此处看到摘要,现在单击"导入"按钮。
它将开始导入数据。 完成后,您可以在Azure Portal上看到。
documentdb_data_migration.html