使用SQL Server Management Studio配置高可用性

概述

在任务关键型环境中,关键要求之一是提供对密码的不中断访问。 PAM360 提供高可用性功能只是为了确保这一点。 在为在 Microsoft SQL (MSSQL )服务器中运行的设置配置高可用性 (HA) 时,您可以使用 SQL Server Management Studio在主备MSSQL 数据库之间执行复制。 还有另 一个文档,关于MSSQL 服务器相同的高可用性配置,唯一的区别是主备之间的数据同步是通过PAM360执行的。

所需步骤

第 1 步:

  • 停止主服务器。

第 2 步:

  • PAM360 主服务器使用的 MSSQL 服务器将充当主数据库。 您需要将 MSSQL 的另一个实例指定为备数据库。 然后,将 MSSQL 服务器备数据库的 SSL 证书导入 PAM360 主服务器。 在继续此步骤之前,请确保 MSSQL 从服务器也配置了 SSL。 您可以通过执行这些步骤来实现这一点。

要将备MSSQL服务器的 SSL 证书导入 PAM360 主服务器:

  • 导航到 <PAM360 主要安装文件夹 >/bin 目录并执行importCert.bat 备数据库的密钥.cer 。

第 3 步:

  • 导航到 <PAM360 主要安装文件夹>/conf目录,打开文件masterkey.key并复制主密钥。 您将在下一步中使用此密钥。(如果在配置之前您已经将此文件保存到了安全位置,请准备好以备调用)

第4步:

配置主 MSSQL 和备 MSSQL 数据库之间的 MSSQL 服务器复制。

前提条件:

1.确保系统中安装了MS SQL Server Management Studio。

2.验证是否在 MSSQL 服务器的实例安装了复制,只有这样MS SQL Server Management Studio才能访问复制组件。

3.在辅助服务器中配置 SQL 服务器复制之前,请创建一个数据库并执行下述的查询:

i)CREATE TABLE SeqGenState ( ROWGUID UNIQUEIDENTIFIER ROWGUIDCOL UNIQUE DEFAULT NEWSEQUENTIALID(), SEQNAME VARCHAR(100) NOT NULL, CURRENTBATCHEND BIGINT NOT NULL, CONSTRAINT SeqGenState_PK PRIMARY KEY CLUSTERED (SEQNAME));

ii) CREATE TABLE Ptrx_ResGrpNotifyActionList ( ROWGUID UNIQUEIDENTIFIER ROWGUIDCOL UNIQUE DEFAULT NEWSEQUENTIALID(), NOTIFY_ID BIGINT, ACCOUNT_ID BIGINT NOT NULL, ACTION_TYPE VARCHAR(200), SHARECHANGEUSER_ID VARCHAR(1000), OPERATED_NAME VARCHAR(300), OPERATED_TIME DATETIME, IPADDRESS VARCHAR(255), PRIMARY KEY CLUSTERED (NOTIFY_ID));

iii ) CREATE TABLE "MSPSeqGenState" ( ROWGUID UNIQUEIDENTIFIER ROWGUIDCOL UNIQUE DEFAULT NEWSEQUENTIALID(), "ORGANIZATIONID" BIGINT NOT NULL, "SEQNAME" NVARCHAR(100) NOT NULL, "CURRENTBATCHEND" BIGINT NOT NULL, CONSTRAINT "MSPSeqGenState_PK" PRIMARY KEY CLUSTERED ("ORGANIZATIONID", "SEQNAME"));

配置 SQL 服务器复制:

启动 MS SQL Server Management Studio,执行以下三个步骤

注意:

- 在单击"下一步"之前,请仔细阅读每个向导中的说明。

- 仅在完成复制过程结束时单击"完成"。 单击进程中间的"完成"将导致配置中断或不完整。

- 单击"取消"以随时中止配置过程。

第一部分 - 创建分发服务器:

1.在对象资源管理器下,右键单击复制并单击配置分发服务器。


2.在显示的配置分发向导中选择第一个选项,即选择使用此服务器本身作为自己的分发服务器,如下图所示,单击下一步。

3.指定要存储快照的根文件夹,单击下一步。

4.为分发服务器指定名称,分别选择要分发数据库文件和日志文件的文件夹,单击下一步。

5.选择此分发服务器成为发布者时将使用的服务器。

6.选择退出此向导时希望发生的情况。 您可以选择配置分发或生成脚本文件,也可以同时选择两者。 单击下一步。

7.单击完成以完成该过程,或单击上一步"以验证您上一个步骤选择的选项。 若要详细了解关闭此向导后发生的情况,请参阅下面的屏幕截图。

8.单击完成后,您会看到如下屏幕截图所示的配置处理,如果要停止配置分发,请单击"停止"。

9.关闭窗口,您看到成功消息,如下图所示。

第二部分 -创建发布库:

1.在对象资源管理器下,在复制下,右键单击本地发布库 ,然后新建发布库。

2.在"新发布向导"中,选择包含要发布的数据和对象的主数据库,单击下一步。

3.选择发布类型为合并发布。 确保您选择的发布类型与您的应用程序要求兼容,单击下一步。

4.选择订阅者类型为SQL Server 2008 ,由此发布的订阅者使用,单击下一步。

5.下一步是选择要作为文章发布的表格,然后单击下一步。 选择除以下表以外的所有表:

  1. SeqGenState
  2. Ptrx_ResGrpNotifyActionList
  3. MspseqGenstate

6.选择屏幕中显示的发布,该发布可能需对应用程序进行更改,以便它继续按预期运行。单击下一步。

7.此步骤允许您筛选表行。单击添加开始向发布添加过滤器,如果不想筛选应用程序中的数据,单击下一步。

8.选择是按时间运行快照代理,还是安排代理在指定的日/时间运行。单击下一步。

9.[强制]指定要运行的代理的帐户名称及其连接设置。单击下一步。

10.这是您选择域或计算机帐户,即用于运行快照代理的账户。 选择"在SQL Server 代理服务帐户下运行"。 此外,选择方法通过模拟进程帐户连接到发布者。单击确定。

11.选择退出此向导时希望发生的情况。 您可以选择创建发布或生成脚本文件,也可以同时选择。单击下一步。

12.指定发布名称。单击完成以完成该过程,或单击上一步以验证您上个步骤中的的选项。 若要详细了解关闭此向导后发生的情况,请参阅下面的屏幕截图。

13.单击完成后,您会看到正在创建的发布,如下图所示。 如果要停止创建发布,请单击"停止"。

14.关闭窗口,您看到成功消息,如下图所示。

查看快照代理状态:

右键单击发布并单击查看快照代理状态 。 您将看到下面的窗口,显示快照创建进度,此过程需要几分钟时间。成功生成快照后关闭窗口。 您也可以通过单击相应的按钮启动代理或监视代理。

第三部分 -创建订阅:

1.在对象资源管理器下,在复制 >>本地发布下,右键单击在第二部分(主)中创建的发布,然后单击新订阅。

2.在新订阅向导中,选择在第二部分中创建的发布。单击下一步。

3.选择运行合并代理的位置。 选择如下屏幕截图中所示的第一个选项。 单击下一步。

4.[强制]选择订阅者,并选择每个订阅的数据库。 单击下一步。

5.现在,您将被允许连接到服务器。 配置所需的服务器信息,如下图所示。 单击连接。

6.连接到数据库服务器后,将再次显示"新订阅向导"。 单击下一步。

7.[强制]完成订阅的安全信息。 指定每个合并代理的流程帐户和连接选项。 单击下一步。

8.指定合并代理将 运行的域或计算机帐户,当订阅同步时。 选择连接到发布者和分发者的方式。 此外,选择连接到订户的方式。 单击确定。

9.为每个合并代理指定流程帐户和连接选项。 单击下一步。

10.从"代理计划"下提供的可用选项中,为每个代理选择同步计划。 单击下一步。

11.选择是否使用发布数据和架构的快照初始化订阅。 单击下一步。

12.从可用选项中选择订阅类型或订阅。此外,选择解决冲突的优先级。 单击下一步。

13.选择退出此向导时希望发生的情况。 您可以选择创建订阅或生成脚本文件,也可以同时选择。 单击下一步。

14.单击完成以完成该过程,或单击上一步"以验证您以前屏幕中选择的选项。 若要详细了解关闭此向导后发生的情况,请参阅下面的屏幕截图。

15.单击完成后,您会看到正在创建的订阅,如下图所示。如果要停止创建订阅,请单击"停止"。

16.关闭窗口,您看到成功消息,如下图所示。

查看同步状态:

右键单击订阅,然后单击查看同步状态。 你会看到下面的窗口显示同步的进度,它需要几分钟。 同步 100% 完成后关闭窗口。 您还可以通过单击相应的按钮停止同步或监视同步。

现在, SQL 服务器复制已成功完成。

第四部分 - 执行查询:

在主服务器中执行下述的查询:

update Ptrx_HighAvailability set INSTANCENAME='MASTER_INSTANCE' where Ptrx_HighAvailability.ISMASTER='true';

update Ptrx_HighAvailability set INSTANCEPORT='MASTER_PORT' where Ptrx_HighAvailability.ISMASTER='true';

update Ptrx_HighAvailability set INSTANCENAME='SLAVE_INSTANCE' where Ptrx_HighAvailability.ISMASTER='false';

update Ptrx_HighAvailability set INSTANCEPORT='SLAVE_PORT' where Ptrx_HighAvailability.ISMASTER='false';

第 5 步:

启动主服务器。

步骤 6:

在单独的工作站中安装 PAM360 的另一个实例作为备服务器。要将 PAM360 安装为备服务器,在安装过程中,请选择选项"将此服务器配置为高可用性辅助服务器(只读)安装后,不应启动 PAM360 辅助服务器

第 7 步:

安装 PAM360 备服务器后,通过执行以下步骤将其更改为使用 MSSQL 运行:

  1. 执行ChangeDB.bat
  2. 提供有关 SQL 服务器的详细信息 /bin ChangeDB.bat ( Windows )/bin shChangeDB.sh( Linux )。
  3. 选择 SQL Server 并输入如下值:
    1. 备数据库的主机名:安装MSSQL 服务器的计算机的名称或 IP 地址。
    2. 端口:PAM360 必须与数据库连接的端口号。 默认值为1433。
    3. 数据库名称:备数据库的名称。 在这里,注意指定备数据库的名称,就像上步骤 4 中所做的一样。
    4. 身份验证:要连接到 SQL 服务器的方式。 如果要从 Windows 连接到 SQL 服务器,可以选择使用 Windows 单点登录功能,前提是 PAM360 服务使用服务帐户运行,且该帐户具有连接到 SQL 服务器的权限。 在这种情况下,选择选项"Windows"。 否则,选择"SQL"。
    5. 用户名和密码:如果选择了选项"SQL",请指定 PAM360 需要连接到数据库的用户名和密码。 此处输入的用户名和密码将存储在 PAM360 中。
      在这里,如果您从 Windows 连接到数据库,则您可以选择使用 Windows 登录凭据。 在这种情况下,将用户名输入格式为 < 域名 >\<用户名 >。
    6. 加密密钥:要加密数据并存储在 SQL 服务器中的密钥。 您可以保留缺省值,即使用PAM360生成的密钥。 如果已使用自定义键配置了主数据库,请选择"自定义",根据界面提示,完成在配置主数据库时所配置生成的证书名称和对称密钥。
    7. 单击测试,然后保存。

步骤 8:

要在备服务器上应用PAM360许可、自定义图标和换标设置,请从主服务器复制相应的文件并将其放在备服务器上。

步骤 9:

将manage_key.conf从主服务器复制到备服务器,并编辑文件以指定文件pam360_key.key (加密主密钥)的位置。 然后启动备服务器。应注意,PAM360 要求pam360_key.key文件在每次启动时都可进行访问。成功启动后,则不再需要此密钥,可将保存该密钥文件的设备移除。

5.验证高可用性设置

单击查看步骤

 

另请参阅:

基于PAM360复制的的高可用性配置 - MSSQL

© 2021, ZOHO 公司,保留所有权利。

页首