使用 SLQ Management Studio "导出数据..." 在本地和 Azure SQL DB 之间进行同步





5.00/5 (3投票s)
本文介绍了如何从头开始将本地 SQL DB 内容合并到 Azure DB
引言
在这里,我将向您展示如何创建本地和 Azure 数据库并在它们之间进行同步的分步说明。本文基于我执行的一个真实项目活动。
步骤
1. 首先,让我们创建本地数据库。为此,我运行 SQL Management Studio,右键单击“数据库”,然后选择“新建数据库…”
2. 输入数据库名称,然后按“确定”。在我的例子中,数据库名称是 iSpeakDB:
3. 在我的例子中,我需要使用我的应用程序访问此数据库,因此我还转到“安全性”->“登录名”并创建了一个用户来访问我的数据库并将其映射到 iSpeakDB。如果您不打算使用其他工具填充您的 SQL 数据,则可以跳过此步骤
4. 我的第四步是创建数据库表。我为此创建了 SQL 脚本。并在 iSpeakDB 上运行查询。下面是一个最简单的脚本示例,您可以使用它来创建表:
USE [iSpeakDB]
GO
CREATE TABLE [dbo].[tblUser](
[UserID] [nchar](100) NOT NULL,
[ExpirationDate] [datetime] NULL,
[OperationSystem] [nchar](100) NULL,
[Country] [nchar](100) NULL,
)
GO
5. 现在我们的数据库结构已准备就绪并已创建,现在是使用数据填充它的时候了。在我的例子中,我使用我们构建的实用程序,该实用程序使用数据填充我的数据库。
6. 当数据准备就绪并在本地数据库上时,现在切换到 Azure 并在那里创建我们的数据库架构。我连接到我的 Azure 门户,在那里创建了一个名为 iSpeakDB 的 SQL DB。下一步,我打开数据库的管理门户,然后选择“新建查询”。在那里,我运行了与本地数据库类似的脚本,但添加了一个额外的字符串。请参阅下面的屏幕截图
如您所见,我使用 CREATE CLUSTERED INDEX 命令来创建表的索引。问题是 Azure DB 有其自身的限制和要求,并且它不支持没有聚集索引的表。您可以在此处阅读有关 Azure 限制的更多信息
https://msdn.microsoft.com/en-us/library/azure/ee336245.aspx
7. 我没有找到任何方法来查看我的表是否创建正确,我必须在每个表上运行简单的 select 查询才能查看是否所有列都出现并且表正确
8. 现在云中的表已准备就绪,并且我拥有与本地数据库相同的数据库,我需要在两个数据库之间进行同步。为此,我使用 SQL Server Management Studio。导航到您的数据库,然后右键单击选择“任务”->“导出数据”
9. 在出现的向导中单击“下一步”。现在您位于“选择数据源”页面。您需要确保选择了正确的服务器、数据库和身份验证模式。如果一切正确并且数据与您要传输到 Azure 的数据库相关,请单击“下一步”。
10. 向导中的下一页名为“选择目标”。在这里我们有一个敏感的时刻。您应该选择:“用于 SqlServer 的 .NET Framework 数据提供程序”。现在,在可能的参数列表中,您应该找到“数据”->“连接字符串”,并将您 Azure 服务用于访问 Azure DB 的连接字符串复制到此处。我从 SQL Management 门户复制了连接字符串并将其插入到名为“ConnectionString”的属性字段中,它看起来像这样:
Server=<您的服务器>,1433;Database=<您的数据库>;User ID=<您的用户>;Password=<您的密码>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;
粗斜体内容应该替换为您的数据。
在按“下一步”按钮之前,我们需要做的另一件事是将“TrustedServerCertificate”属性的值更改为“True”
11. 单击“下一步”将我们导航到菜单,在该菜单中,我们应该为“从一个或多个表或视图复制数据”设置单选按钮,然后按“下一步”
12. 在名为“选择源表和视图”的下一页中,您应该选择要同步的表,然后单击“下一步”
13. 在下一页中,您可以保存“SSIS 包”,以后可以恢复或立即运行数据传输。我使用“立即运行”,然后在下一页上按“下一步”和“完成”以运行数据传输
14. 数据传输完成后,您将看到如下所示的结果
15. 连接到 Azure DB 时,您可能会收到错误。一种可能的解决方法是转到 Azure 管理门户并将当前 IP 添加到可以访问 DB 以进行数据修改的 IP 列表。在那里打开数据库页面,然后转到“为此 IP 地址设置 Windows Azure 防火墙规则”。