使用数据设置地理冗余SQL Server 复制

重要

如果要创建一个 AD FS 场并使用 SQL Server 存储配置数据,可以使用 SQL Server 2008 或更高版本。

如果使用 SQL Server 作为AD FS数据库,可以使用复制为 AD FS 场设置SQL Server冗余。 异地冗余在两个地理上较远的站点之间复制数据,以便应用程序可以从一个站点切换到另一个站点。 这样一来,如果一个站点发生故障,仍可以在第二个站点中提供所有配置数据。 有关详细信息,请参阅使用 SQL Server 联合服务器场中的"SQL Server部分

先决条件

安装和配置 SQL 服务器场。 有关详细信息,请参阅 https://technet.microsoft.com/evalcenter/hh225126.aspx。 在初始SQL Server,请确保 SQL Server 代理服务正在运行,并设置为自动启动。

创建第二 (副本) SQL Server异地冗余

  1. 有关详细信息SQL Server (,请参阅 https://technet.microsoft.com/evalcenter/hh225126.aspx 。 将生成的 CreateDB.sql 和 SetPermissions.sql 脚本文件复制到服务器SQL副本。

  2. 确保SQL Server代理服务正在运行,并设置为自动启动

  3. 主节点上运行 Export-AdfsDeploymentSQLScript AD FS创建 CreateDB.sql 和 SetPermissions.sql 文件。 例如:PS:\>Export-AdfsDeploymentSQLScript -DestinationFolder . –ServiceAccountName CONTOSO\gmsa1$Screenshot that shows how to run the Export-AdfsDeploymentSQLScript on the primary AD FS node.

  4. 将脚本复制到辅助服务器。 在中打开 CreateDB.sql脚本SQL Management Studio单击"执行"。 Screenshot that shows the open the CreateDB.sql script in SQL Management Studio.

  5. 在命令中打开 SetPermissions.sql SQL Management Studio并单击"执行"。 Screenshot that shows the open the SetPermissions.sql script in SQL Management Studio.

注意

还可以从命令行使用以下命令。

c:\>sqlcmd –i CreateDB.sql

c:\>sqlcmd –i SetPermissions.sql

在初始服务器上创建发布者SQL Server

  1. 在 SQL Server Management Studio 的"复制"下,右键单击"本地发布",然后选择"新建发布..."Screenshot that shows the New Publication menu option.

  2. 在"新建发布向导"屏幕上,单击"下一步"。Screenshot that shows the New Publication Wizard screen.Screenshot that shows the New Publication Wizard screen.

  3. "分发服务器"页上,选择"本地服务器"作为分发服务器,然后单击"下一步"。 Screenshot that that shows where to choose the local server as distributor.Screenshot that that shows where to choose the local server as distributor.

  4. 在" 快照 文件夹"页上,输入 \\SQL1\repldata 来表示默认文件夹。 (注意:可能需要自己创建此共享) 。 Screenshot that shows where to enter the path to the default Snapshot folder.Screenshot that shows where to enter the path to the default Snapshot folder.

  5. 选择"AdfsConfigurationV3"作为发布数据库,然后单击"下一步"。 Screenshot that shows where to choose AdfsConfigurationV3 as the publication database.Screenshot that shows where to choose AdfsConfigurationV3 as the publication database.

  6. 在"发布类型"上,选择"合并发布",然后单击"下一步"。 Screenshot that shows where Screenshot that shows where

  7. 在"订阅服务器类型"中,SQL Server 2008 或更高版本,然后单击"下一步"。 Screenshot that shows where to choose SQL Server 2008 or later.Screenshot that shows where to choose SQL Server 2008 or later.

  8. 在"项目"页上,选择"表"节点以选择所有表,然后取消选中"SyncProperties"表 (此表不应复制到) Screenshot that shows where to clear the SyncProperties (IdentityServerPolicy) check box.

  9. 在" 项目"页上 ,选择 "用户定义函数" 节点以选择"用户定义的所有函数",然后单击 "下一步"。 Screenshot that shows where to select the User Defined Functions check box.Screenshot that shows where to select the User Defined Functions check box.

  10. 在"项目问题"页上,单击"下一步"。 Screnshot that shows the Article Issues screen.Screnshot that shows the Article Issues screen.

  11. 在“筛选表行”页上,单击“下一步”Screenshot that shows the Filter Table Rows screen.Screenshot that shows the Filter Table Rows screen.

  12. "快照代理"页上,选择默认值"立即"和"14 天",然后单击"下一步"。 Screenshot that shows the Snapshot Agent screen.Screenshot that shows the Snapshot Agent screen.可能需要为代理创建域SQL帐户。 使用为域帐户CONTOSO\sqlagent配置SQL登录名中的步骤为此新 AD 用户创建SQL登录名并分配特定权限。

  13. 在"代理安全性"页上,单击"安全设置并输入域帐户的用户名/密码 (而不是为 SQL 代理创建的 GMS) A 帐户,然后单击"确定"。 单击“下一步”。 Screenshot that shows where to enter the username and password for the domain account.Screenshot that shows where to enter the username and password for the domain account.

  14. 在"向导操作"页上,单击"下一步"。 Screenshot that shows the Wizard Actions screen.Screenshot that shows the Wizard Actions screen.

  15. 在"完成向导"页上,输入发布的名称,然后单击"完成"。 Screenshot that shows where you enter a name for your publication.Screenshot that shows where you enter a name for your publication.

  16. 创建发布后,应会看到成功状态。 单击“关闭” 。 Screenshot that shows the successful completion of the publication.Screenshot that shows the successful completion of the publication.

  17. 返回SQL Server Management Studio,右键单击新发布,然后单击"启动复制监视器"。 Screenshot that shows the Launch Replication Monitor menu option.Screenshot that shows the Launch Replication Monitor menu option.

在副本上创建订阅SQL Server

请确保已按照上述所述在初始SQL Server创建发布服务器设置,然后完成以下过程:

  1. 在副本SQL Server,SQL Server Management Studio 的"复制"下,右键单击"本地订阅",然后选择"新建订阅..."。Screenshot that shows where to select New Subscription.

  2. 在"新建订阅向导"页上,单击"下一步"。 Screenshot that shows the New Subscription Wizard screen.Screenshot that shows the New Subscription Wizard screen.

  3. "发布 "页上,从下拉列表中选择发布服务器。 展开"AdfsConfigurationV3",选择上面创建的发布的名称,然后单击"下一步"。 Screenshot that shows where to expand AdfsConfigurationV3 and select the name of the name of the publication that you created.Screenshot that shows where to expand AdfsConfigurationV3 and select the name of the name of the publication that you created.

  4. "合并代理位置"页上,选择"在其订阅服务器上运行每个代理 (请求订阅) (默认) "下一步"。 Screenshot that shows the Run each agent at its Subscriber (pull subscriptions) option.Screenshot that shows the Run each agent at its Subscriber (pull subscriptions) option. 这以及下面的订阅类型决定了冲突解决逻辑。 (有关详细信息,请参阅 检测和解决合并复制冲突

  5. 在"订阅服务器"页上,选择"AdfsConfigurationV3"作为订阅服务器数据库,然后单击"下一步"。 Screenshot that shows the Subscribers screen.Screenshot that shows the Subscribers screen.

  6. "合并代理安全性"页上,单击"...",输入域帐户的用户名和密码 (而不是使用省略号框为 SQL 代理创建的 GMSA) ,然后单击"下一步"。 Screenshot that shows the Merge Agent Security screen.Screenshot that shows the Merge Agent Security screen.

  7. "同步计划"中,选择"连续运行",然后单击"下一步"。 Screenshot that shows where to select Run continuously.Screenshot that shows where to select Run continuously.

  8. "初始化订阅"中,单击"下一步"。 Screenshot that shows the Initialize Subscriptions screen.Screenshot that shows the Initialize Subscriptions screen.

  9. 在"订阅类型"上,选择"客户端",然后单击"下一步"。

    此处和此处记录了这一点的含义。 实质上,我们采取简单的"先发布服务器优先"冲突解决方法,不需要重新发布给其他订阅者。 Screenshot that shows the Subscription Type screen.Screenshot that shows the Subscription Type screen.

  10. 在"向导操作"页上,确保选中"创建订阅",然后单击"下一步"。 Screenshot that shows where verify that the Create the subscription option is selected.Screenshot that shows where verify that the Create the subscription option is selected.

  11. 在"完成向导"页上,单击"完成"。 Screenshot that shows the Complete the Wizard screen.Screenshot that shows the Complete the Wizard screen.

  12. 订阅完成创建过程后,应会看到成功。 单击“关闭” 。 Set up Geographic RedundancySet up Geographic Redundancy

验证初始化和复制过程

  1. 在主服务器SQL,右键单击"复制"节点,然后单击"启动复制监视器"。

  2. 复制监视器中,单击发布。

  3. 在" 所有订阅"选项卡上 ,右键单击并 查看详细信息

    应该可以在"操作"下看到初始 复制的许多条目

  4. 此外,可以在"SQL Server\作业"节点下查看 (作业) 计划执行发布/订阅的操作。 只显示本地作业,因此请确保检查发布服务器和订阅服务器以进行故障排除。 右键单击某个作业,然后选择" 查看历史记录 "以查看执行历史记录和结果。

为SQL CONTOSO\sqlagent 配置登录名

  1. 在主服务器和副本上SQL Server名为 CONTOSO\sqlagent (在上述过程中的"代理安全性"页上创建和配置的新域用户)

  2. 在SQL Server中,右键单击创建的登录名,然后选择"属性",然后在"用户映射"选项卡下,将此登录名映射到具有公共角色和 db_genevaservice 角色的AdfsConfigurationAdfsArtifact数据库。 此外,将此登录名映射到分发数据库,db_owner分发表和 adfsconfiguration 表添加一个角色。 在主服务器和副本服务器中,SQL此操作。 有关详细信息,请参阅 复制代理安全模式

  3. 为相应的域帐户授予对配置为分发服务器的共享的读取和写入权限。 请确保同时对共享权限和本地文件权限设置读取和写入权限。

配置AD FS节点 () 以指向 SQL Server 副本场

设置异地冗余后,可以将 AD FS 场节点配置为使用标准 AD FS"联接"场功能(从 AD FS 配置向导 UI 或 Windows PowerShell)指向副本 SQL Server 场。

如果使用联合身份验证AD FS向导 UI,请选择"将联合服务器添加到联合服务器场"。 请勿选择"在联合服务器场中创建第一个联合服务器"。

如果使用 Windows PowerShell,请运行Add-AdfsFarmNode请勿运行Install-AdfsFarm

当系统提示时,请提供副本服务器的主机和实例SQL Server,而不是初始SQL服务器。