目录

简介

先决条件

要求

使用的组件

背景

术语

布局示例

Active Directory

用户帐户

虚拟机和逻辑资源

驱动器号和目录

文件和目录对象

系统准备

下载和部署OVA模板

在所有4台服务器上安装Windows Server

在两台同置服务器上格式化50 GB和300 GB磁盘

在两台同置服务器上安装SQL Server

预安装步骤

步骤1.添加所需的Windows功能

步骤2.准备Active Directory

创建所需的服务帐户

预存集群名称对象(CNO)

授予用户权限

授予CNO权限

注册SPN

步骤3.创建所需目录

创建共享目录

创建SSIS目录

创建SQL Server数据和备份目录

步骤4.配置分布式文件系统

创建命名空间

添加命名空间服务器

添加文件夹和文件夹目标并配置复制

配置暂存文件夹配额

测试DFS命名空间和复制组

步骤5.配置Windows Server故障转移群集

初始集群设置

配置集群仲裁

查看集群

步骤6.配置SQL Server

启用SQL Server可用性组

创建临时数据库

在创建数据库后进行完整数据库备份

创建可用性组

验证可用性组设置

更新动态DNS(DDNS)配置

配置检查点

安装ECE

步骤1.在VM-1A上安装ECE

步骤2.在VM-1B上安装ECE

步骤3.在VM-2A和VM-2B上安装ECE

完成安装后任务

步骤1.为ECE目录分配权限

步骤2.开始，然后停止在共置服务器上的ECE服务

步骤3.准备数据库以加入可用性组

步骤4.在B端服务器上恢复数据库备份

步骤5.将数据库加入可用性组

步骤6.验证可用性组

步骤7.运行报告数据库实用程序

步骤8.修复SSIS服务器维护作业

步骤9.安排数据库备份

步骤10.更新密钥配置文件

修补ECE

步骤1.准备要修补的服务器

阶段补丁文件

停止ECE进程

停止ECE

步骤2.备份服务器

备份SQL数据库

备份密钥文件

步骤3.安装补丁

在A侧配置的服务器上安装补丁

在Side-B配置的服务器上安装补丁

在A侧Web服务器上安装补丁

在B端Web服务器上安装补丁

步骤4.补丁后验证

检查并更新密钥文件

合并聊天模板更改

启动ECE

登录ECE网页

登录Finesse和ECE小工具

启动ECE流程

最终备注

简介

本文档介绍企业聊天和电子邮件(ECE)400座席高可用性(HA)的初始安装。

先决条件

要求

Cisco 建议您了解以下主题：

- 企业聊天和电子邮件(ECE)12.X

- Windows Server 2016

- SQL Server Enterprise版2016

使用的组件

本文档中的信息基于以下软件版本：

- ECE 12.5(1)

- SQL Server 2016企业版

- Windows 2016

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景

企业聊天和电子邮件12.0及更高版本现在支持400代理和1500代理部署的完全高可用性安装。在HA配置中安装1500代理部署时，总共需要30台虚拟机(VM)。完成文件服务器和SQL Server安装和配置后，安装的其余部分将遵循与1500代理非HA部署之前相同的顺序和步骤。400代理部署仅需要4台服务器，但由于共置服务器的共享性质，安装需要仔细部署才能确保成功。几乎所有最关键步骤都在实际安装ECE之前完成。本文从头到尾介绍完整安装所需的内容。

术语

在本文档中，使用这些术语。

- Windows Server故障转移群集(WSFC) — 此Microsoft Windows Server功能允许多个物理服务器为其他服务器提供恢复能力。当集群中有多台服务器时，这不会从当前不是主节点的任何服务器中删除功能或功能，而只是为服务器提供了一种了解其他服务器状态的方法。每台服务器可以一次拥有一个或多个角色。

- AlwaysOn可用性组(AG) — 这是Microsoft SQL Server冗余功能，它为数据库提供高级别保护，同时最大限度地减少从一端或节点移动到另一端所需的时间。与较旧（现在已弃用）的故障转移群集实例不同，可用性组中的所有SQL Server节点都可以随时完全运行并拥有数据库的完整副本。在Windows服务器上部署Microsoft SQL Server时，可用性组需要Windows Server故障转移群集才能运行。

在本文档中，您可能会看到与AG相关的几个关键术语。

- 实例 — 独立SQL Server的实例，具有其自己的可执行文件和数据库。单个物理服务器可以托管SQL Server的多个实例。

- 复制副本 — 复制副本是AG中的不同实例。AG中有两种类型的复制副本。

- 主副本 — 主副本（或仅主副本）允许对AG中的数据库执行读和写操作。AG中只能有一个主副本。主副本也是允许大多数数据库备份操作的唯一副本。

- 辅助副本 — AG中的所有其他节点称为辅助副本或辅助副本。可读辅助副本是允许对数据库执行读取操作但不允许执行写入操作的辅助副本。可读辅助设备允许特定类型的数据库备份，称为仅复制备份。如果在辅助上尝试正常备份，则会显示如下错误消息：“数据库镜像或辅助副本上不支持此BACKUP或RESTORE命令。”

- 侦听程序 — 侦听程序是可用性组的组件。主节点拥有监听程序。侦听程序至少具有一个IP和端口。如果可用性组的节点被分隔在不同子网中，则侦听程序必须在每个子网中具有有效的IP，以确保可用性。侦听程序在Active Directory中显示为计算机对象。

- 可用性数据库 — 可用性数据库是已加入AG的SQL实例上的任何数据库。实例也可以具有非可用性组的成员的数据库。就读/写操作而言，这些数据库是正常的SQL数据库。当实例是主副本时，您可以使用监听程序名称访问任何本地数据库或资源，但是当该服务器不再是主副本时，必须使用服务器名称完成对数据库的访问。

- SQL Server Integration Services(SSIS)- SSIS是Microsoft SQL Server附带的一项功能，允许在运行时进行数据清理、转换、操作和其他数据任务。SSIS包允许开发人员从多个数据源中提取数据，然后使用脚本将该数据加载到一个或多个数据库中。ECE使用此功能定期将数据从活动数据库复制到报告数据库。

- 分布式文件系统(DFS) — 此Microsoft Windows Server插件功能允许将多个SMB文件共享作为单个实体显示。它还允许跨服务器自动同步和复制文件。

DFS由两个组件组成。

- DFS命名空间 — 命名空间是共享的逻辑视图。一个或多个服务器可以托管命名空间中的文件，但对文件的所有访问都通过使用命名空间的网络路径来完成。

命名空间有两种类型。

- 基于域的命名空间 — 通过UNC路径以\\<域>\<DFSRoot>格式访问域名空间。此类型的命名空间提供最高可用性，是Active Directory树中的对象。这是ECE支持的唯一命名空间。

- 独立命名空间 — 通过UNC路径访问独立命名空间，格式为\\<servername>\<DFSRoot>。虽然复制可用于保持多台服务器同步并确保它们包含相同的文件，但是，如果作为命名空间主机的服务器发生故障，则命名空间将变得不可用。ECE不支持独立命名空间。

- DFS复制 — DFS复制组是使多个物理服务器上的文件保持同步的一种方法。

您可能在本文档中看到几个DFS术语。

- 命名空间服务器 — 命名空间服务器托管命名空间。每个命名空间服务器都包含一个包含DFS根文件夹的本地路径文件夹。

- Namespace本地路径 — 每个命名空间服务器上存在的目录。此目录必须与共享到命名空间的目录分开。

- 命名空间根 — 这是命名空间的起始点。在基于域的命名空间中，根是紧紧在域名后面的标识符。每个命名空间根都由存在于命名空间本地路径中的物理文件夹表示。

- 文件夹 — 文件夹在命名空间中以两种方式之一使用。

- 没有文件夹目标的文件夹用于将数据组织到逻辑视图中。ECE不使用此类文件夹。

- 具有一个或多个文件夹目标的文件夹用于向命名空间的用户显示数据。当用户或应用程序导航到此文件夹时，DFS会透明地将它们重定向到映射的文件夹目标。

- 文件夹目标 — 文件夹目标是包含实际内容的共享文件夹的UNC路径。在ECE中，文件夹目标是ECE共享目录，该目录托管文件服务器角色负责的内容。

- 服务主体名称 — 通常缩写为SPN。您可能会听到这被称为“旋转”。服务主体名称是服务实例的唯一标识符。在ECE中，当使用Windows集成身份验证访问数据库（在HA部署中需要）时，SPN允许SQL Server服务帐户代表其他帐户对Active Directory执行代理身份验证。当ECE服务访问数据库时，它会通过ECE服务帐户进行访问。然后，此帐户将传递到Active Directory进行身份验证和授权。

布局示例

在本文档中，实验系统用于屏幕截图和示例命令。这将提供Active Directory域、用户名、计算机名和IP地址的详细信息。特定配置项目可以在文档的后续部分重复，更靠近它们的使用位置。

Active Directory

- 完全限定域名:massivedynamic.com

- Windows 2000之前的域：巨大

用户帐户

描述

帐户名

SQL Server服务帐户

SQLServerSvc

ECE服务帐户

ESvc

虚拟机和逻辑资源

标识符

名称/值

IP 地址

描述

ECE角色

VM-1A

CC2K125ECEAA

14.10.162.168

A侧配置服务器

文件服务器（DFS节点1）、数据库（可用性组副本）、消息、服务、应用程序

VM-2A

CC2K125ECEWA

14.10.162.169

A侧Web服务器

Web Server

VM-1B

CC2K125ECEAB

14.10.172.168

Side-B配置服务器

文件服务器（DFS节点2）、数据库（可用性组副本）、消息、服务、应用程序

VM-2B

CC2K125ECEWB

14.10.172.169

B侧Web服务器

Web Server

WSFC-CNO

CC2K125ECEFOC

14.10.162.170

14.10.172.170

WSFC的CNO

侦听程序

CC2K125ECEDB

14.10.162.161

14.10.172.171

SQL AG监听程序名

侦听程序端口

1433

不适用

SQL AG侦听程序端口

ECE-VIP

ECE

14.10.162.96

负载均衡器上ECE的虚拟IP

驱动器号和目录

驱动器号

大小

使用率

备注

C

80 GB

Windows操作系统、SQL可执行文件

SQL Server在Web服务器上不存在

D

不适用

DVD安装点

E

50GB

ECE应用程序和SSIS文件夹

Web服务器上不存在驱动器

F

300GB

SQL数据库文件和SQL备份

Web服务器上不存在驱动器

文件和目录对象

这将列出整个文档中引用的文件和目录对象。虽然特定目录名称不是必填项，但最好在所有服务器之间保持通用结构。

标识符

路径

描述

备注

共享目录

E:\ECEFile

位于DFS命名空间中文件夹目标的共置服务器上的目录。

Web服务器上不存在。

ECE主目录

E:\ECE

ECE在运行时用于应用执行、临时文件和日志的所有服务器上的目录。

仅在Web服务器上，ECE主目录位于C:驱动器。

SSIS目录

E:\ssis_data

SSIS模板存储在共置服务器上的目录，SSIS包将其用作临时目录。

SQL安装

C:\Program Files\Microsoft SQL Server

安装了Microsoft SQL Server的共置服务器上的目录。

所有系统DB（包括TempDB和SSISDB）应保留在C:驱动器。

SQL数据目录

F:\MSSQL\Data

安装3个ECE数据库的共置服务器上的目录。

SQL备份目录

F:\MSSQL\Backups

用于数据库备份的已配置服务器上的目录。

DFS共享

\\massivedynamic.com\ECE_Root\ECE

用于共享ECE文件的基于域的DFS命名空间。

DFS根

ECE_Root

DFS命名空间的根部分。

DFS文件夹

ECE

在DFS根中共享的文件夹。

DFS本地路径

C:\DFSRoots

存储DFS根文件夹的共置服务器上的文件夹。

系统准备

必须先完成此操作，然后才能开始本文档主体中的步骤。

下载和部署OVA模板

每端需要2台虚拟机、1台Web服务器和1台共置服务器。OVA模板识别这些VM，如下所示。

Web Server

— 标签：Web Server

-详细信息:（使用12.5 v1.0 OVA，请检查您当前的OVA版本以验证确切详细信息）

2个2200 Mhz vCPU

2GB RAM

80 GB磁盘

配置的服务器

— 标签：除Web服务器外的所有服务器

-详细信息:（使用12.5 v1.0 OVA，请检查您当前的OVA版本以验证确切详细信息）

4个4000 Mhz的vCPU

20 GB RAM（20 GB预留）

磁盘：

80 GB磁盘 — 操作系统和SQL可执行文件

50 GB磁盘 — ECE应用

300 GB磁盘 — 数据库

在所有4台服务器上安装Windows Server

（自12.5版起，必须使用Windows 2016，在安装之前先检查当前文档）

在两台同置服务器上格式化50 GB和300 GB磁盘

在两台同置服务器上安装SQL Server

（自12.5版起，必须使用SQL Server 2016企业版，请在安装前检查当前文档）

两台服务器上必须使用相同的SQL Server实例名称。  无需使用特定实例名称或使用默认实例。  本文档中的示例使用默认实例。

警告：使用SQL Server Enterprise Edition至关重要。ECE要求所有三个数据库都位于同一SQL Server实例或可用性组中。虽然SQL Server Standard确实支持AlwaysOn可用性组，但它在每个组中只支持单个数据库。如果安装了不正确的SQL Server版本，ECE的安装可能看起来会成功，但是您将无法将所有三个数据库连接到可用性组。在安装ECE之前，如果发现安装的SQL Server版本不正确，可以使用SQL Server安装ISO并选择选项以升级SQL Server的当前安装。

预安装步骤

步骤1.添加所需的Windows功能

在开始任何配置之前，您需要向两台共置服务器添加两个角色和功能。

在两台同置的服务器上重复上述步骤。

1. 从服务器管理器中，选择管理，然后选择添加角色和功能。

2. 选择“下一步”，直到进入“服务器角色”。

3. 向下滚动到文件和存储服务，然后选择展开。选择文件和iSCSI服务，然后选择展开。

4. 在列表中，如图所示，在DFS命名空间和DFS复制旁边查找并放置一个复选框。

5. 您可能会收到一个弹出框，其中指出需要其他工具，请选择“添加功能”按钮接受此操作。

6. 选择下一步转到功能页。

7. 在此列表中查找故障转移群集，并在其旁边放置一个复选框。

8. 如果您收到一个弹出窗口，指出需要其他工具，请选择“添加功能”按钮接受此操作。

9. 选择Next，然后选中Restart the destination server automatically if required，并选择Finish（完成）旁的复选框。

10. 监控器安装，直到完成。如果需要，允许服务器重新启动。

步骤2.准备Active Directory

在开始配置Windows Server故障转移群集和SQL可用性组群集之前，需要在Active Directory中使用具有域管理权限的帐户执行若干配置项。

警告：执行这些步骤非常谨慎，因为如果不执行这些步骤，将导致两个群集无法工作。

1. 创建所需的服务帐户
您需要在Active Directory中创建两个用户帐户以用作服务帐户。这些帐户只需要是域用户组的成员，但必须进行配置，使其密码不会过期或有很长的过期时间。如果在系统运行后需要更改这些帐户的密码，则需要ECE完全中断。

本文档不介绍或显示创建这些帐户的具体步骤，因为首选的是帐户实际驻留在Active Directory树中的位置、对象名称和其他配置项。

提醒一下，本文档其余部分均使用这两个帐户。

SQL Server服务帐户 — SqlServerSvc

ECE服务帐户 — ESESvc

2. 预存集群名称对象(CNO)
您需要在Active Directory中创建CNO供WSFC使用。完成所有预安装步骤后，Active Directory包含两个CNO。

— 第一个CNO是WSFC的名称。您可以在后续步骤中手动创建。执行WSFC的初始设置，然后将WSFC管理控制台连接到集群时需要此名称。

— 第二个CNO是SQL Server AG群集的名称。这由可用性组向导自动创建。ECE对所有数据库通信都使用此名称。此外，使用SQL Server Management Studo执行大多数数据库相关任务时，可使用此名称。在这两个名称中，第二个是最重要的，用于日常操作和故障排除。

注意：这两个名称都限于15个字符，因为它们是NetBIOS名称。
作为提醒，本文档使用以下CNO:

CC2K125ECEFOC - WSFC故障转移群集的CNO

CC2K125ECEDB - SQL Server可用性组群集的CNO

1. 在Active Directory用户和计算机中，展开域，然后创建新的组织单位以容纳CNO。

2. 创建WSFC CNO，如下所示。

1. 在新OU中，右键单击并选择“新建”，然后选择“计算机”。

2. 键入计算机对象的名称，然后选择“确定”。

3. 作为一种最佳实践，右键单击刚创建的计算机对象并选择“属性”。选择“对象”选项卡，选中标有的框，“保护对象免遭意外删除”，然后选择“确定”。

4. 最后，右键单击计算机对象并选择“禁用帐户”。

5. 选择是进行确认。

注意：必须禁用计算机帐户，以便群集创建过程可以确认计算机或群集当前未使用该帐户。

3. 授予用户权限
您需要授予权限，以便在运行WSFC向导时将CNO控制到您使用的用户帐户。

1. 在Active Directory用户和计算机中，选择“查看”菜单，然后确保“高级功能”旁有勾选。如果未选择此选项，请选择它，然后再次展开Active Directory树。

2. 按如下方式为CNO分配权限。

1. 右键单击CNO，然后选择“属性”。

2. 选择“安全”选项卡，然后选择“添加”。

3. 键入用户帐户的名称或用户所属的组，然后选择OK。

4. 选择刚添加的用户或组，然后在底部选择“完全控制”旁的“允许”复选框。。

5. 选择“确定”。

4. 授予CNO权限
为了使故障切换正常工作，CNO必须能够控制OU中的计算机对象。这允许WSFC CNO通过向导创建SQL Server CNO。

1. 在Active Directory用户和计算机中，选择“查看”菜单，然后确保“高级功能”旁有勾选。如果未选择此选项，请将其选中，然后再次展开Active Directory树。

2. 右键单击您创建的OU并选择“属性”。

3. 选择“安全”选项卡，然后选择“高级”按钮。

4. 在“高级安全设置”对话框中，选择“添加”。

5. 选择选择承担者。

6. 在“选择用户、计算机、服务帐户或组”框中，选择“对象类型……”按钮。选中“Computers（计算机）”旁边的框，然后选择“OK(确定)”。

7. 键入CNO名称，然后选择OK。您会看到一条警告，即将添加禁用的对象，请选择“确定”(OK)，如预期那样。

8. 确保类型为允许，且适用于：为“此对象”和所有后代对象设置。

9. 在“权限”列表中，找到“创建计算机对象”和“删除计算机对象”，并选中每个对象旁边的框。

10. 选择“确定”。

5. 注册SPN
由于ECE HA安装需要使用Windows身份验证来访问SQL Server，因此必须在Active Directory中注册SPN。此步骤不需要配置SQL Server AG。只能配置SQL Server代理帐户。
注意：您必须是域管理员的成员才能执行这些任务。
开始之前，请提供此信息。

描述

示例

价值

侦听程序主机名

CC2K125ECEDB

侦听程序完全限定名称

CC2K125ECEDB.massivedynamic.com

侦听程序端口

1433

实例名称

MSSQLSERVER（默认/空）

SQL服务帐户

MASSIVE\SqlServerSvc

1. 从当前位于域上的任何服务器中，以Domain Admins组的成员身份登录时，以Administrator身份打开Command Prompt(命令提示符)。

2. 运行这些命令。更新每个设备以匹配您的环境。

在setspn命令中，:MSSQLSERVER是您选择的SQL实例名称。  如果您.
setspn -A MSSQLSvc/CC2K125ECEDB.massivedynamic.com:1433 MASSIVE\SqlServerSvc

setspn -A MSSQLSvc/CC2K125ECEDB.massivedynamic.com:MSSQLSERVER MASSIVE\SqlServerSvc

setspn -A MSSQLSvc/CC2K125ECEDB:1433 MASSIVE\SqlServerSvc

setspn -A MSSQLSvc/CC2K125ECEDB:MSSQLSERVER MASSIVE\SqlServerSvc

3. 运行此命令以确保SPN注册成功。
setspn -Q MSSQLSvc/CC2K125ECEDB*
您应该看到类似此的输出。
Checking domain DC=massivedynamic,DC=com

CN=SQL Server Service,OU=Service Accounts,OU=Special Accounts,DC=massivedynamic,DC=com

MSSQLSvc/CC2K125ECEDB:MSSQLSERVER

MSSQLSvc/CC2K125ECEDB:1433

MSSQLSvc/CC2K125ECEDB.massivedynamic.com:MSSQLSERVER

MSSQLSvc/CC2K125ECEDB.massivedynamic.com:1433

MSSQLSvc/CC2K125ECEAB:MSSQLSERVER

MSSQLSvc/CC2K125ECEAB:1433

MSSQLSvc/CC2K125ECEAB.massivedynamic.com:MSSQLSERVER

MSSQLSvc/CC2K125ECEAA.massivedynamic.com:1433

MSSQLSvc/CC2K125ECEAA:MSSQLSERVER

MSSQLSvc/CC2K125ECEAA:1433

MSSQLSvc/CC2K125ECEAA.massivedynamic.com:MSSQLSERVER

Existing SPN found!

4. 验证SQL Service帐户的配置。

1. 从域控制器或安装了Active Directory管理工具的计算机打开Active Directory用户和计算机。

2. 导航至树中的SQL Service帐户，右键单击该帐户并选择属性。

3. 选择“帐户”选项卡，然后在“帐户”选项中：框中，滚动浏览并确保未选择这些选项。

- 帐户敏感，无法委托

- 不需要Kerberos预身份验证

4. 选择“委托”选项卡，并确保选择“信任此用户以委托到任何服务（仅Kerberos）”。

注意：如果您没有看到“委派”选项卡，则setspn -A命令尚未运行，或者您所在的域控制器不包含配置的最新副本。连接到全局目录域控制器，等到域复制完成，或返回步骤5.2和5.3以验证setspn -A命令是否正确运行。

5. 验证服务器配置

1. 在Active Directory用户和计算机中，导航至每个已配置服务器的计算机帐户。

2. 右键单击并选择“属性”，然后选择“委派”选项卡。

3. 确保选中信任此计算机以委派到任何服务(仅Kerberos)。

4. 进行任何必要更改后，选择OK。

步骤3.创建所需目录

与ECE的独立安装不同，您需要创建一个目录以用于文件服务器角色。此目录（称为文件服务器目录或共享目录）在DFS命名空间和复制组中使用。此目录必须与ECE主目录分开。

提醒您，在本文档中，ECE安装在E:驱动器。

这些目录在本节中创建。

共享目录 — E:\ECEFile

SSIS目录 — E:\ssis_data

SQL备份目录 — F:\MSSQL\Backups

SQL数据目录 — F:\MSSQL\Data

在两台共置服务器上执行以下步骤。

1. 创建共享目录

1. 在E驱动器上，创建名为ECEFile的新目录。

2. 右键单击目录并选择“属性”，然后选择“共享”选项卡。

3. 选择“高级共享……”按钮。

4. 选中共享此文件夹框，然后选择“权限”按钮。

5. 在“ECEFile的权限”框中，选择“添加……”按钮。在“选择用户、计算机、服务帐户或组”框中，输入您为运行ECE服务而创建的服务帐户的名称，选择“检查名称”，然后选择确定。

6. 确保在列表中选择了您刚添加的帐户，然后选中“完全控制”旁的“允许”列的框。选择OK 以返回“Advanced Sharing”属性框。

7. 选择OK，然后再次选择OK。

2. 创建SSIS目录

1. 在E驱动器上，创建名为ssis_data的新目录。

2. 右键单击目录并选择“属性”，然后选择“安全”选项卡。

3. 选择“编辑”按钮，然后在弹出的“ssis_data的权限”框中，选择“添加……”按钮。

4. 在选择用户、计算机、服务帐户或组框中，键入为运行SQL Server服务而创建的服务帐户的名称，选择检查名称，然后选择确定。请注意，如果未创建帐户以运行SQL Server，则键入为ECE服务创建的服务帐户的名称。

5. 选中“修改”旁的“允许”列框。这会自动授予“写入”权限，但向下滚动，以确保“拒绝”列中没有任何权限字段的复选框。

6. 选择OK，然后再次选择OK。

3. 创建SQL Server数据和备份目录

1. 在F上：驱动器，创建名为MSSQL的新文件夹。

2. 在MSSQL文件夹内，创建另外两个文件夹：备份和数据。

步骤4.配置分布式文件系统

如术语部分所述，DFS必须配置为域名空间，并且必须具有复制组以同步两台服务器。DFS功能已在前面的步骤中添加到每个共置服务器。接下来，配置命名空间和复制组。

与之前的大多数步骤不同，您只需在两台服务器中的一台上完成此操作。设置后，任一服务器都可以使用管理管理单元管理DFS。

提示：如果您使用A侧服务器执行所有设置任务，通常更容易进行故障排除。

1. 创建命名空间

1. 从服务器管理器中，选择工具，然后选择DFS管理。

2. 在DFS管理管理单元中，选择命名空间节点，然后在右侧的操作窗格中，选择新的命名空间。

3. 在“新建命名空间向导”框的“服务器名”框中键入端A、共置的ECE服务器的名称，然后选择“下一步”>。

4. 在“命名空间名称和设置”页面上，在下一屏幕的“名称”字段中键入命名空间根名称。在本文档中，命名空间名称是ECE_Root。

5. 选择“编辑设置……”按钮。

6. 在“编辑设置”窗格中，选择“管理员具有完全访问权限”；其他用户具有只读权限选项，然后选择“确定”。选择“下一步”>继续下一页。

7. 在“命名空间类型”页上，确保选择了基于域的命名空间选项。选中“启用Windows Server 2008模式”选项，然后选择“下一步”>继续到下一页。

8. 在“复查设置和创建命名空间”页上，请注意“命名空间名称”，这是您访问共享的UNC路径。还列出了与C:\DFSRoots\类似的本地路径，命名空间共享文件夹的本地路径与DFS文件所在的物理位置不同。创建命名空间后，本地路径包含指向共享文件夹位置的指针文件夹。文件以物理方式存储在共享文件夹位置。

9. 检查确认页以确保任务显示成功且没有错误。选择关闭以返回DFS管理窗格。

2. 添加命名空间服务器

1. 在DFS管理管理单元中，展开，DFS管理 > 命名空间，然后选择您创建的命名空间。

2. 在右侧的“操作”窗格中，选择“添加命名空间服务器……”。

3. 在“添加命名空间服务器”框中，键入命名空间服务器中B端共置服务器的名称：包装盒.

4. 选择“编辑设置”按钮，然后选择“管理员具有完全访问权限”；其他用户具有只读权限选项，然后选择“确定”以添加B端服务器。

5. 选择“命名空间服务器”选项卡，并检查是否列出了两个服务器。

3. 添加文件夹和文件夹目标并配置复制

1. 在DFS管理管理单元中，展开，DFS管理 > 命名空间，然后选择您创建的命名空间。

2. 在右侧的“操作”窗格中，选择“新建文件夹……”

3. 在“新建文件夹”框中，在“名称：”中键入共享的名称。包装盒.安装ECE时，这是DFS根中的文件夹名称。在本文档中，文件夹名称为ECE。

4. 选择“文件夹目标”框下的“添加…….”按钮。

5. 在文件夹目标的路径中：框中，键入A侧服务器的UNC路径并共享在步骤3中创建的共享。在本文档中，此地址为\\CC2K125ECEAA\ECEFile。

6. 选择OK以添加第一个目标。

7. 再次选择Add...按钮，并添加B侧服务器并共享已创建。在本文档中，这是\\CC2K125ECEAB\ECEFile。

8. 选择OK以添加第二个目标。

9. 返回“新建文件夹”框，在将“文件夹”目标添加到每个ECE服务器后，选择“确定”以完成“新建文件夹”对话框。

10. 当提示设置复制时，选择是。

11. 在复制文件夹向导中，选择“下一步”>通过前两个屏幕。

12. 在“主要成员”页上，选择任一服务器。如果两个目录中已存在具有相同名称的文件，则选择哪个服务器作为主服务器被视为授权服务器。对于初始安装，这不是问题，因为ECE文件共享中不得有任何文件或文件夹。选择主服务器后，选择“下一步”>。

13. 在“拓扑选择”窗格中，确保选择“全网状”选项，然后选择“下一步”>。

14. 在“复制组计划和带宽”窗格中，选择“使用指定的带宽连续复制”选项，并将“带宽”选项保留为“已满”状态。选择“下一步”>。

15. 复查最终页，然后选择“创建”按钮。

16. 在“确认”页上，确保所有任务都显示成功，且未显示错误。

17. 选择关闭以返回DFS管理窗格。您可能会看到一个信息框，其标题为“复制延迟”。选择OK关闭此项，因为这只会警告您，在组中的所有服务器都进行配置之前，复制不可用。对于大多数环境中的初始设置，应该非常快。在较大的Active Directory域中，在完成此操作之前可能会有延迟。

4. 配置暂存文件夹配额
此主题稍后更新。

5. 测试DFS命名空间和复制组

1. 在侧面A配置的服务器上打开Windows文件资源管理器。

2. 导航至共享目录。在本文档中，这是E:\ECEFile。

3. 打开记事本，然后使用内容“Side A Creation”创建新文本文件。 将此保存为E:\ECEFile\ReplTest.txt，然后关闭记事本。

4. 切换到B侧配置的服务器并打开Windows文件资源管理器。

5. 导航到共享目录，确认您看到ReplTest.txt文件。如果您没有立即看到，请等待一两分钟，以便复制进行同步。

6. 打开B侧上的文件，添加一行包含内容“B侧更新”的新行，然后保存文件。

7. 切换回A侧服务器，再次打开文件，确认您现在看到两行。

8. 仍在A端配置的服务器上，在Windows文件资源管理器的位置栏中键入DFS共享的完整UNC路径。示例：\\massivedynamic.com\ECE_Root\ECE。

9. 确认您看到ReplTest.txt文件夹。

10. 创建名为DFSTest的新文件夹。将ReplTest.txt文件移到此文件夹中。

11. 在Windows文件资源管理器中，导航到本地共享目录，并验证您是否看到DFSTest目录，以及ReplTest.txt文件是否已正确移动。

12. 最后，切换回B侧服务器并验证新目录是否存在且文件已移动。

步骤5.配置Windows Server故障转移群集

这些步骤只需从一台服务器完成。

警告：在开始此部分之前，请完成“准备Active Directory”中的步骤，这会很危险。否则，可能会导致群集未设置或仅部分设置。

1. 初始集群设置

1. 从“服务器管理器”中，依次选择“工具”和“故障转移群集管理器”。

2. 在故障转移群集管理器管理单元中，在右侧的操作窗格中选择创建群集……。

3. 在“开始前”页上选择“下一步”>，然后在“选择服务器”页中添加两个共置的服务器。确保验证检查成功，并且您在Selected servers：（选定服务器：）中看到两个服务器均以完全限定名称列出。，然后选择“下一步”>以继续到下一页。

4. 在“验证警告”页上，将选项保留为“是”。单击“下一步”，运行配置验证测试，然后返回到创建群集的过程，然后选择“下一步”>。

5. 在验证配置向导上，选择Next >。

6. 通过向导选择“下一步”>并允许测试继续。您可以在映像中看到示例验证。

7. 完成所有测试后，选择查看报告……以在浏览器中显示报告。您不应有任何故障。“网络”类别可能显示“警告”状态，并显示节点只能通过一个网络接口访问的消息。你可以放心地忽略这些。如果您看到有关软件更新级别的任何警告，请确保将相同的修补程序应用到两台服务器。您可以看到一个示例摘要屏幕，其中显示网络警告和系统配置警告。本例中的“系统配置”警告是因为一台服务器没有Windows Defender更新，而另一台服务器没有。查看报表后，选择“完成”。

8. 选择Next >以访问Access Point for Administering the Cluster窗格。使用此信息完成此页，然后选择“下一步”>一次完成。

1. Cluster Name — 必须为故障转移群集配置CNO。这不得是您为ECE用于访问数据库而定义的名称。

2. Address field of Networks（网络地址）框 — 这是您的集群使用的IP地址。如果您的共置服务器位于两个不同的子网中，则每个子网都需要一个IP地址。当集群切换所有者节点时，WSFC会更新DDNS以反映正确的IP。这可确保名称始终可访问。

注意：您只能更改地址字段的主机部分。

9. 在“确认”页。确保选中“将所有符合条件的存储添加到群集”，然后选择“下一步”>。

注意：在选择“下一步”>后立即创建集群。

10. 检查输出以确保没有错误，在“摘要”屏幕上选择“完成”。

注意：您可能会看到一条消息，表明未找到适当的磁盘作为见证磁盘。这将在后续步骤中纠正。

2. 配置集群仲裁
由于ECE没有在两个节点之间共享的额外物理驱动器，Windows Server故障转移群集需要共享的UNC路径驱动器作为法定驱动器。法定空间不需要太多空间，500 MB是理想的。它必须是驱动器，但可用于两个共置服务器，具有一定级别的冗余/高可用性，但不是本地DFS共享的一部分。对于实验系统，有多种方法可以实施。但是，对于生产系统，此驱动器的放置非常重要。本文档将介绍如何设置共享仲裁驱动器，这不在本文档的讨论范围之内。

在环境中分配共享后，设置仲裁驱动器位置。

1. 在故障转移群集管理器中，选择您创建的新群集，然后在右侧的操作窗格中选择更多操作>配置群集仲裁设置……。

2. 在配置集群仲裁向导框中，选择下一步>在第一页之后。

3. 在“选择仲裁配置”页上，选择“选择仲裁见证”选项，然后选择“下一步”>

4. 在“选择仲裁见证”页上，选择“配置文件共享见证”选项，然后选择“下一步”>

5. 在“配置文件共享见证”页的“文件共享路径：框中，键入文件共享的UNC路径，或选择“浏览”以选择网络位置。完成后选择Next >。

6. 查看下一页，然后选择“下一页”>。最后，查看“摘要”页，然后选择完成。

3. 查看集群
此时，应完全设置集群并确认其工作正常。检查故障转移群集管理器是否有错误。在Cluster Events节点中，可以找到与WSFC群集直接相关的Windows事件。在双子网WSFC中，您可以安全地忽略两个。这些是事件ID 1069和1045。由于与非主服务器的子网匹配的IP地址在集群交换机侧之前不可访问，因此预计这些地址会显示。如果您看到其他错误，请调查并解决每个错误。

另一个有用的工具是验证集群工具。这是步骤5.1.5中运行的操作。如果在设置集群后运行它，则可以检查是否有任何错误或警告。

注意：WSFC的管理和支持不在本文档的讨论范围之内。如有需要，请联系Microsoft专业人员获取支持。

警告：在继续设置SQL AG或安装ECE之前，WSFC群集必须设置并正常工作，而不出错。安装SQL AG或ECE后，对WSFC群集进行故障排除和修复的难度要大得多。

步骤6.配置SQL Server

准备安装的最后一步是创建SQL Server可用性组。请记住，必须运行SQL Server 2016企业版才能支持ECE。这些步骤都适用于SQL标准版。您甚至可以安装ECE并将一个数据库与可用性组关联。当您尝试关联多个数据库时，SQL Server会返回错误。如果收到此消息，则必须先将SQL Server从标准版就地升级到企业版，然后可以将数据库添加到可用性组。

在开始之前，请记录此信息并使其可用。

项目

示例

价值

CNO for SQL Server侦听程序

CC2K125ECEDB

A端子网中的IP地址

14.10.162.171

B端子网中的IP地址

14.10.172.171

SQL侦听程序端口

1433

注意：本文档中使用的值显示在示例列中。

1. 启用SQL Server可用性组
在两个SQL Server上执行后续步骤。

1. 从“开始”菜单中，打开文件夹Microsoft SQL Server 2016，然后选择SQL Server 2016 Configuration Manager。

2. 在Sql Server Configuration Manager中，选择SQL Server Services，然后右键单击SQL Server(MSSQLSERVER)，然后选择属性。注意，如果在安装SQL Server时使用的实例名称不是默认值，则服务名称在括号中包含实例名称。

3. 在“SQL Server(MSSQLSERVER)属性”页中，选择“始终在高可用性”选项卡。

4. 验证您是否看到已创建的Windows故障转移群集名称。如果没有，请返回并排除WSFC设置故障。如果有，请选中启用AlwaysOn可用性组框。

5. 选择确定以应用此更改。您可能会看到一条消息，说明更改在服务停止并重新启动后才会生效，请选择确定。

6. 右键单击并重新启动SQL Server(MSSQLSERVER)服务。

2. 创建临时数据库
在开始设置可用性组之前，需要创建要在向导中使用的临时数据库。这与SQL Server的TempDB不同，它是用户数据库，但可以在ECE设置后删除。数据库只需要存在，而且可能很小，没有数据。显示了创建此数据库的两种不同方法。

1. 打开SQL Server Management Studio，并连接到两台共置服务器之一。

提示：如果对所有SQL AG设置任务使用A侧服务器，通常更容易进行故障排除。这也有助于确保在安装完成时，A端服务器是主副本。

2. 使用其中一个数据库

1. 通过GUI

1. 右键单击“数据库”，然后选择“新建数据库”。

2. 为数据库指定唯一名称，接受SQL Server使用的默认初始大小(MB)值。

3. 选择“选项”节点，并确保恢复模型：设置为“Full”。

4. 选择“确定”。

2. 通过T-SQL

这将创建一个名为AGTemp的数据库，其数据和日志文件为1MB。

1. 选择“新建查询”。

2. 粘贴后面的TSQL。确保进行任何必要的更改以将数据文件放置到所需位置。
CREATE DATABASE [AGTemp]

ON PRIMARY

(NAME = N'AGTemp' , FILENAME = N'F:\MSSQL\DATA\AGTemp.mdf' , SIZE = 1024KB, FILEGROWTH = 8KB )

LOG ON

(NAME = N'AGTemp_log' , FILENAME = N'F:\MSSQL\DATA\AGTemp_log.ldf' , SIZE = 1024KB , FILEGROWTH = 8KB )

GO

ALTER DATABASE [AGTemp] SET RECOVERY FULL

GO

3. 选择执行以运行此。

3. 在创建数据库后进行完整数据库备份
可以使用GUI方法或TSQL方法创建此备份。下面将显示这两种方法，并假设您已经打开了SQL Server Management Studio，并且使用了AGTemp数据库名称。

1. 通过GUI

1. 右键单击AGTemp数据库，然后选择任务>备份……

2. 选中Back Up Database - AGTemp框，然后确保Backup类型：设置为“Full”，且“Destination”为Disk。另请确保显示的位置对您的系统正确。使用“添加/删除”按钮进行必要的更改。

3. 选择OK ，确保您看到数据库“AGTemp”备份已成功完成。

2. 通过T-SQL

1. 选择“新建查询”。

2. 粘贴后面的TSQL。确保对数据库名称和备份文件位置都进行所需的任何更改。
BACKUP DATABASE [AGTemp]

TO DISK = N'F:\MSSQL\Backups\AGTemp.bak'

WITH NAME = N'AGTemp-Initial Full Backup',

COMPRESSION, STATS = 25

GO

3. 选择执行以运行此。选中Messages选项卡，查看与此类似的行。

备份数据库在0.054秒（46.567 MB/秒）内成功处理了322页。

3. 创建可用性组
在开始之前，必须先完成所有前面的步骤。您必须掌握此信息。

SQL Server可用性组CNO

CNO的IP地址

1. 在SQL Server Management Studio中，右键单击“永远在线高可用性”节点，然后选择“新建可用性组向导”。

2. 选择“下一步”>在“简介”页面之前。

3. 按如下所示填写“指定可用性组选项”页。

1. 在可用性组名称框中键入可用性组的显示名称。虽然此名称不需要与CNO相同，但通常最好使用此名称，因为它可简化管理。本文档中所示的示例对两者使用相同的名称。

2. 唯一有效的群集类型是Windows Server Failover Cluster。

3. 确保未选择数据库级别运行状况检测。或者，选择Per Database DTC Support。

4. 选择“下一步”>继续。

4. 在“选择数据库”页上，选中为此目的创建的临时数据库旁边的框。确保状态显示满足先决条件。如果没有，请修复报告的任何问题。

5. 按如下所示填写“指定复制副本”页上的每个选项卡。

1. 在副本选项卡上。

1. 在可用性副本下选择添加副本...:包装盒.在“连接到服务器”框中，键入另一个已配置服务器的主机名，然后选择“连接”。

2. 将每个服务器实例的可用性模式更改为同步提交。

3. 将每个服务器实例的可读辅助更改为是。

2. 在Endpoints选项卡上。确保端口号是打开的，并且防火墙规则已更新为允许这些规则通过。对端口进行任何所需的更改。

3. 在备份首选项卡上。选择选项“任何副本”。

4. 在“侦听器”选项卡上。选择创建可用性组侦听程序选项，然后填写这些详细信息。

1. 侦听程序DNS名称：  提供SQL Server可用性组CNO的NetBIOS主机名。

2. 端口:提供您选择的SQL侦听程序端口。通常为1433，但可以更改以满足您的特定需求。如果更改此端口，请确保在两台服务器上都打开防火墙，并在文档后面的ECE安装部分的数据库中输入该端口。

3. 网络模式:选择静态IP

4. 选择Subnet and IP Address(子网和IP地址)框下的Add...按钮。

1. 在添加IP地址框中，选择相应的子网：从下拉菜单中。

2. 在“IPv4地址”框中，键入已为SQL Server可用性组分配的完整IPv4地址。

3. 根据需要，对集群中的每个子网重复此步骤。

5. 由于ECE当前不使用此功能，因此可以跳过只读路由选项卡。

6. 完成选项卡后，选择“下一步”>。

6. 按如下所示填写“选择初始数据同步”页。

1. 选择“完整数据库和日志备份”选项。

2. 在以Windows格式指定文件共享路径：框、键入或浏览到两个服务器都可以访问的文件共享。可以在E:驱动其中一台服务器，共享此内容，然后将其用于初始设置。

3. 完成此页后，选择“下一步”>。

7. 在“验证”页上，查看检查。确保全部返回为成功。如果有任何故障，请查看原因并采取纠正措施。如果需要更改，请使用< Previous和Next >按钮逐步浏览屏幕并进行任何必要的更改。在更正要验证的任何问题后，选择重新运行验证。所有验证检查成功后，选择“下一步”>。

8. 查看“摘要”页以了解准确性，然后选择完成。创建可用性组。

9. 选择More details下拉按钮以监视每个任务。如果遇到错误，请手动更正问题或从两台服务器(和Active Directory（如有必要）)完全清除可用性组，然后重复配置。

4. 验证可用性组设置
向导成功运行后，执行此操作以验证可用性组是否已设置并正常运行。请注意，完成可用性组设置可能需要几分钟。在您看到Success屏幕后，服务器仍必须通过数据库备份进行复制，然后在辅助上恢复，然后设置高可用性和灾难恢复(HADR)连接。除非两台ECE共置服务器位于同一物理LAN中，否则您可能需要等待5-10分钟后再执行这些检查。

1. 验证主副本上是否存在可用性组。

注意，主副本通常是您最初运行向导的哪一端。主要的一端目前并不重要，但在安装后配置步骤中，您确实需要知道这一点。

1. 仍在SQL Server Management Studio中运行向导的一侧，在左侧的“对象资源管理器”窗格中右键单击服务器名称，然后选择刷新。

2. 展开数据库，并检查您现在创建的临时数据库是否显示（已同步）。

3. 展开Always On High Availability > Availability Groups，然后最终展开您创建并验证其中每个组的Availability Group名称。

1. 确保在AG Name旁看到(主要)。

2. 展开AG名称下的每个节点并验证其中每个节点。

1. 在可用性副本中，检查是否列出了两个服务器。一个标记为(主),另一个标记为（次）。

2. 在可用性数据库中，检查是否显示用于运行向导的临时数据库。在圆柱图标旁边应显示绿色指示。

3. 在可用性组侦听程序中，检查在向导中创建的侦听程序名称是否存在。右键单击侦听程序，然后选择属性。检查端口和IP地址是否都已配置。

2. 验证辅助副本上是否存在可用性组。

1. 在第二台同位服务器上打开SQL Server Management Studio，然后按名称连接到服务器。

2. 展开Databases，然后检查这些项。

1. 确保看到在A端创建的数据库以运行向导。向导应已在B端自动创建此数据库。

2. 在数据库名称旁，您应看到(已同步)。 否则，请参阅可用性组检查部分中的步骤。

3. 向下展开至“始终在线高可用性”>“可用性组”，然后最终展开您创建并验证这些项目的可用性组名称。

1. 确保在AG Name旁看到(辅助)。

2. 展开AG名称下的每个节点并验证这些项目。

1. 在可用性副本中，检查是否列出了两个服务器。从辅助节点查看此信息时，会列出主节点，但其旁边没有指示。您所在的节点显示（辅助）。

2. 在可用性数据库中，检查是否显示用于运行向导的临时数据库。在圆柱图标旁边应显示绿色指示。否则，请执行以下步骤。

1. 右键单击该数据库，然后选择“联接数据库”。

2. 在“将数据库加入可用性组”框中选择“确定”，并检查没有错误。

3. 刷新“数据库”节点并验证数据库现在是否显示（已同步）。

3. 在可用性组侦听程序中，检查在向导中创建的侦听程序名称是否存在。右键单击监听程序名并选择属性。检查端口和IP地址是否都已配置。

3. 验证可用性组可通过侦听程序访问

1. 打开新的SQL Server Management Studio，或在已打开的SQL Server Management Studio中从左侧的“对象资源管理器”中选择连接 > 数据库引擎……。

2. 在“连接到服务器”框中，键入您创建的侦听程序的名称，然后选择“连接”。现在，您应该看到与主副本上存在的节点相同的节点。

3. 展开数据库并验证您是否看到临时数据库并且它显示（已同步）。

4. 根据需要展开其他节点。

4. 通过可用性组控制面板进行验证

SQL Server已内置一个控制面板，可用于监控可用性组运行状况、事件并执行某些功能（如故障转移）。这是一个非常有用的工具。

1. 通过SQL Server Management Studio，连接到侦听程序名称或主副本。在您不知道哪个节点是主节点的生产系统中，使用侦听程序名称连接。

2. 右键单击“Always On High Availability(始终在高可用性上)” ，然后选择“Show Dashboard”。或者，展开Always On High Availability > Availability Groups，然后右键单击Availability Group名称并选择Show Dashboard。

1. 如果从Always On High Availability 节点或从Availability Groups 节点选择Show Dashboard，您会看到一个显示可用性组名称、当前主副本、故障切换模式以及是否存在任何当前问题的控制面板。虽然ECE不要求在同一组服务器上使用多个可用性组，但具有多个可用性组的系统将显示此页上的所有组以及当前的高级详细信息。

从此处，选择可用性组的超链接名称。

2. 如果从可用性组名称中选择了“显示控制面板”，或者在摘要控制面板的超链接上选择了“显示控制面板”，则您现在会看到包含更多详细信息的控制面板。此处要查找的关键项目如下。如果您看到错误，请选择链接

1. 可用性组状态：这应该是健康。

2. 可用性副本：这应该会在AG中列出两台服务器，并指明每台服务器的角色。

3. 在控制面板的底部，您会看到两台服务器都列有作为AG成员的所有数据库。两台服务器都应列出相同数量的数据库，同步状态应显示已同步,故障切换就绪应显示无数据丢失。

5. 更新动态DNS(DDNS)配置
作为一种最佳实践，必须更新DDNS配置。默认情况下，DDNS记录每20分钟刷新一次。Microsoft建议将此值更改为300秒。必须在两个共置服务器上执行此操作。
注意：在同一PowerShell窗口中，必须按顺序输入本节中的命令。如果窗口意外关闭，则必须再次使用第一个命令开始，以确保后续命令不会失败。如果执行两次相同命令，则不会出现问题，但不能跳过任何步骤。

1. 通过“以管理员身份运行”打开PowerShell窗口。

2. 键入或复制并粘贴命令以导入FailoverClusters模块。
Import-Module FailoverClusters

3. 确定资源名称。

1. 键入命令，或将命令复制并粘贴到PowerShell窗口中。  更改$nameAGCluster参数的输入值以匹配您选择的可用性组名称。
$nameAGCluster = "CC2K125ECEDB"

Get-Cluster | Get-ClusterResource | ?{$_.ResourceType -like "Network Name" -and $_.OwnerGroup -eq $nameAGCluster}

2. 在输出中，确定Name的值。

PS C:\Windows\system32> Get-Cluster | Get-ClusterResource | ?{$_.ResourceType -like "Network Name" -and $_.OwnerGroup -eq "CC2K125ECEDB"}

Name                      State  OwnerGroup   ResourceType

----                      -----  ----------   ------------

CC2K125ECEDB_CC2K125ECEDB Online CC2K125ECEDB Network Name

4. 更新必需设置

1. 键入命令，或将命令复制并粘贴到PowerShell窗口中。更改$nameResource的输入值以匹配您的环境。
$nameResource = "CC2K125ECEDB_CC2K125ECEDB"

Get-ClusterResource $nameResource | Set-ClusterParameter HostRecordTTL 300

2. 确保存储了属性。  应显示警告消息。
PS C:\Windows\system32> Get-ClusterResource $nameResource | Set-ClusterParameter HostRecordTTL 300

WARNING: The properties were stored, but not all changes will take effect until CC2K125ECEDB_CC2K125ECEDB is taken offline and then online again.

5. 对第二台同位服务器重复上述命令。

6. 重新启动AG

这必须仅从一个服务器完成。

1. 键入脚本，或将其复制并粘贴到PowerShell窗口中。

Stop-ClusterResource $nameAGCluster

Start-ClusterResource $nameAGCluster

Start-ClusterGroup $nameAGCluster

2. 确保所有三个命令都成功。

PS C:\Windows\system32> Stop-ClusterResource $nameAGCluster

Name         State   OwnerGroup   ResourceType

----         -----   ----------   ------------

CC2K125ECEDB Offline CC2K125ECEDB SQL Server Availability Group

PS C:\Windows\system32> Start-ClusterResource $nameAGCluster

Name         State  OwnerGroup   ResourceType

----         -----  ----------   ------------

CC2K125ECEDB Online CC2K125ECEDB SQL Server Availability Group

PS C:\Windows\system32> Start-ClusterGroup $nameAGCluster

Name         OwnerNode    State

----         ---------    -----

CC2K125ECEDB CC2K125ECEAA Online

3. 键入命令，或将命令复制并粘贴到PowerShell窗口中
Get-ClusterResource $nameAGCluster

Get-ClusterGroup $nameAGCluster

4. 确保两者都显示状态为Online。
PS C:\Windows\system32> Get-ClusterResource $nameAGCluster

Name         State  OwnerGroup   ResourceType

----         -----  ----------   ------------

CC2K125ECEDB Online CC2K125ECEDB SQL Server Availability Group

PS C:\Windows\system32> Get-ClusterGroup $nameAGCluster

Name         OwnerNode    State

----         ---------    -----

CC2K125ECEDB CC2K125ECEAA Online

配置检查点

现在，所有必备条件都已完成，您已准备好安装ECE。在继续之前，请检查列表中的所有项目是否均已完成。

- 两个Web服务器均已部署，Windows 2016已安装，所有所需的Microsoft更新均已完成。

- 已部署了两台共置服务器，安装了Windows 2016和SQL Server 2016企业版，并完成了所有所需的Microsoft更新。

- 必须安装分布式文件系统，并且必须为ECE文件服务器组件创建所需的目录，配置域名空间和复制组，并验证所有权限。

- 必须安装Windows Server故障转移群集并且该群集可以正常工作。必须将UNC共享作为法定驱动器。

- 必须启用SQL Server可用性组，创建新的可用性组，并添加测试数据库。虽然不在本文档的范围内，但必须对可用性组的故障切换进行完全测试，并且配置的服务器必须能够成为主副本。

在继续之前，请仔细阅读ECE版本的ECE安装指南，该指南与您在环境中部署的联系中心（UCCE或PCCE）相对应。 ECE的许多安装步骤对于UCCE和PCCE集成系统都是相同的，但是，您必须遵循正确的文档，因为联系中心端的配置步骤非常不同。PCCE基本上是自动化的，但由于使用SPOG（单一管理平台），其证书要求不同。UCCE在联系中心方面有更多前提条件步骤，并通过传统方法进行管理。(Internet Explorer到ECE服务器，https://ece.example.com/default等)

本文档不介绍独立和HA安装中常见的安装步骤，如创建ECE服务帐户、配置Windows防火墙规则、防病毒/防恶意软件扫描程序排除配置等。也不提供安装步骤的逐步说明。相反，本文档的其余部分假设您熟悉如何安装ECE，已完成《企业聊天和电子邮件安装和配置指南》中涵盖的所有安装前步骤，并且现在已将ECE全新安装iso文件安装在所有4台服务器上并准备好开始安装。

安装ECE

安装ECE需要您运行5次安装。您在A侧配置的服务器上运行两次设置，然后在其他三台服务器上分别运行一次。本文档使用的产品文档中使用的服务器的名称约定相同。请参考，本文档其余部分中列出了每台服务器的名称和角色以及使用的名称（其中显示名称）。

VM标识符

VM角色

ECE角色

VM示例名称

VM示例IP

VM-1A

A侧配置服务器

文件服务器（DFS节点1）、数据库（可用性组副本）、消息、服务、应用程序

CC2K125ECEAA

14.10.162.168

VM-2A

A侧Web服务器

Web Server

CC2K125ECEWA

14.10.162.169

VM-1B

Side-B配置服务器

文件服务器（DFS节点2）、数据库（可用性组副本）、消息、服务、应用程序

CC2K125ECEAB

14.10.172.168

VM-2B

B侧Web服务器

Web Server

CC2K125ECEWB

14.10.172.169

注意：在开始安装之前，请验证并注意哪个数据库服务器是主副本。要完成安装后步骤，您需要了解这一点。

注意：ECE HA不支持SQL Server身份验证。您必须使用集成身份验证。请确保您已完成安装前步骤的一节，以正确配置SQL Server，使集成身份验证成功。

步骤1.在VM-1A上安装ECE

1. 首次运行setup.exe。

这是您需要运行两次安装程序的唯一服务器。首次安装文件服务器和数据库服务器组件。

1. 在“安装选项”页中，选择仅文件服务器和数据库服务器，然后选择“下一步”>。

2. 当提示输入文件服务器目录/NAS路径时，请输入您创建的DFS共享的UNC路径，格式为\\massivedynamic.com\ECE_Root\ECE。

3. 根据安装要求填写下一屏幕。

4. 当提示输入SQL Server数据库身份验证时，选择集成身份验证。

5. 在配置数据库时，请务必输入正确的信息。

1. 输入任何数据库的服务器名称时，必须使用侦听程序的完全限定名称。示例：CC2K125ECEDB.MassiveDynamic.com。

2. 除非已配置SQL Server的命名实例，否则服务器实例名称通常可以留空。

3. 数据库侦听端口是为侦听程序配置的端口。

4. 数据文件路径是您为数据库创建的300GB驱动器上的位置。示例：F:\MSSQL\DATA

6. “报告数据库SSIS参数”页必须按如下方式完成。

1. SSIS数据文件路径 — 您为SSIS配置的50GB驱动器上的位置。这是安装前步骤中配置的目录。示例：E:\ssis_data

2. 域用户名 - SQL Server Service帐户的用户名，格式为DOMAIN\user。示例：MASSIVE\SQLServerSvc

3. 域密码 — 所选用户的Active Directory密码。

7. “报告数据库SSIS类别参数”页是SSIS目录的加密密码。完成安装后步骤需要此信息。

8. 在“域用户帐户参数”页中，您可以填充为运行ECE而创建的服务帐户的用户名和密码。

9. 提供此信息后，ECE安装开始。当此安装配置文件和数据库组件时，这需要最长的时间。请等到完成，然后继续。

2. 第二次运行setup.exe。

第二次运行setup.exe时，消息、服务和应用组件安装在A端的协同服务器上。

1. 在“安装选项”页中，选择“仅”、“消息传送服务器”、“应用服务器”、“服务服务器”，然后选择“下一步”>。

2. 当提示输入文件服务器目录/NAS路径时，请输入您创建的DFS共享的UNC路径，格式为\\massivedynamic.com\ECE_Root\ECE。

3. 当系统提示输入企业聊天和电子邮件主目录时，请在运行时要用于ECE的50GB驱动器上输入位置。此目录不得与DFS中共享的目录相同。示例：E:\ECE

4. 根据需要填写其他页面。

5. 在您进入摘要屏幕并选择“完成”后，ECE安装开始。

步骤2.在VM-1B上安装ECE

与端A上的配置服务器不同，您只需在端B上运行一次设置。

1. 在“安装选项”页中，选择“仅”、“消息传送服务器”、“应用服务器”、“服务服务器”，然后选择“下一步”>。

2. 当提示输入文件服务器目录/NAS路径时，请输入您创建的DFS共享的UNC路径，格式为\\massivedynamic.com\ECE_Root\ECE。

3. 当系统提示输入企业聊天和电子邮件主目录时，请在运行时要用于ECE的50GB驱动器上输入位置。此目录不得与DFS中共享的目录相同。示例：E:\ECE

4. 根据需要填写其他页面。

注意：确保所有配置项(如Context Root、Partition Name等)都与端A配置的服务器匹配。

5. 在您进入摘要屏幕并选择“完成”后，ECE安装开始。

步骤3.在VM-2A和VM-2B上安装ECE

在VM-2A和VM-2B上安装ECE的过程非常简单。您需要一次运行安装程序。

1. 在“安装选项”页面，选择“仅”、“Web服务器”，然后选择“下一步”。

2. 当系统提示输入企业聊天和电子邮件主目录时，请在运行时要用于ECE的80GB驱动器上输入路径。示例：C:\ECE

3. 在“应用程序服务器参数”中，提供此信息

1. 输入应用服务器名称作为与Web服务器位于同一端上的已配置服务器的完全限定名称。

示例：

CC2K125ECEWA Web服务器必须指向CC2K125ECEAA应用服务器

CC2K125ECEWB Web服务器必须指向CC2K125ECEAB应用服务器

2. 输入在安装所配置的服务器时配置的Jetty HTTP端口。

4. 在“IIS网站参数”页面上，选择要用于ECE的IIS网站名称。通常这是默认网站。

5. 确保Context Root和Partition Name与安装所配置的服务器时所配置的内容相匹配。

6. 如果将Web服务器从域安装，则必须在每台服务器上创建本地用户名和密码，以在提示输入域用户名和域用户密码时使用。

7. 在您进入摘要屏幕并选择“完成”后，ECE安装开始。

完成这些步骤后，将安装ECE。但是，在开始服务之前，必须完成几个安装后任务。

完成安装后任务

要完成ECE的安装，您需要执行以下步骤。文档中引用了一个步骤，必须根据您安装的ECE版本按不同顺序完成。

步骤1.为ECE目录分配权限

1. 在两台同置的服务器上，打开Windows文件资源管理器。

2. 导航到包含ECE主目录的驱动器。示例：E:\

3. 右键单击ECE主目录，然后选择“属性”。

4. 选择“权限”选项卡，然后选择“编辑”按钮。

5. 在出现的权限窗口中，选择“添加……”按钮。

6. 在“输入要选择的对象名称”框中输入您为运行ECE而创建的服务帐户的名称。示例：MASSIVE\ESESvc

7. 选择OK返回到权限窗口。

8. 确保在列表中选择了您刚添加的帐户，然后选中“完全控件”旁边的“允许”复选框。

9. 再次选择确定。

步骤2.开始，然后停止在共置服务器上的ECE服务

在运行ReportsDB实用程序之前，必须启动ECE服务，然后在每个共置的服务器上停止。当服务首次启动时，ECE将文件从DFS共享复制到服务器上的ECE主目录。ReportsDB实用程序需要这些文件才能在此过程的稍后运行。

1. 登录到两台共置服务器。

2. 打开“Windows服务控制面板”并导航至“Cisco服务”并启动服务。

3. 在第二台配置的服务器上重复此步骤。

4. 打开任务管理器，选择详细信息选项卡，并按用户名对流程进行排序。监控，直到您看到进程开始。其中一台服务器上有20-30个进程，另一台服务器上有9-10个进程。第一次启动所有进程的总时间可能接近15分钟。

5. 在任务管理器中看到新进程已启动后，返回“服务控制面板”并停止Cisco服务。

6. 再次监视任务管理器，直到所有进程停止。ECE公司关闭通常需要3-5分钟。随后的服务启动速度更快，因为文件已被复制。

步骤3.准备数据库以加入可用性组

1. 打开SQL Server Management Studio并连接到主节点。

2. 更改每个数据库的恢复模型。

1. 要通过GUI执行此操作，请执行以下步骤。

1. 展开Databases，并对三个ECE数据库中的每个数据库执行以下步骤。

1. 右键单击数据库，然后选择属性。

2. 在“数据库属性” — <Databasename>选项卡左侧的列表中选择“选项”页。

3. 在“Recovery Model：（恢复模型：）”旁的下拉列表中，选择“Full”。

4. 选择“确定”。

2. 对每个数据库重复此步骤。

2. 要通过T-SQL执行此操作，请执行以下步骤。

1. 在工具栏中选择“新建查询”。

2. 在新查询窗口中，复制/粘贴或键入这三个命令。根据需要更改数据库名称。
ALTER DATABASE eGActiveDB SET RECOVERY FULL WITH NO_WAIT

ALTER DATABASE eGMasterDB SET RECOVERY FULL WITH NO_WAIT

ALTER DATABASE eGReportsDB SET RECOVERY FULL WITH NO_WAIT

3. 在工具栏中选择“执行”以运行查询

3. 对全部三个数据库进行完全备份。

可以使用GUI方法或T-SQL方法创建此备份。这两种方法都会显示，并假设您已经打开了SQL Server Management Studio，并且已使用ECE的默认数据库名称。

1. 通过GUI

1. 右键单击eGActiveDB数据库，然后选择任务>备份……

2. 选中Back Up Database - eGActiveDB框，然后确保备份类型：设置为“Full”，且“Destination”为Disk。另请确保显示的位置对您的系统正确。使用“添加/删除”按钮进行必要的更改。

3. 选择OK ，并确保您看到数据库“eGActiveDB”的备份已成功完成。

4. 对eGMasterDB和eGReportsDB数据库重复。

2. 通过T-SQL

1. 在工具栏中选择“新建查询”。

2. 在新查询窗口中，复制/粘贴或键入这三个命令。确保对数据库名称和备份文件位置都进行所需的任何更改。
BACKUP DATABASE eGMasterDB

TO DISK = N'F:\MSSQL\Backups\eGMasterDB.bak'

WITH NAME = N'eGMasterDB-Initial Full Backup',

COMPRESSION, STATS = 25

GO

BACKUP DATABASE eGActiveDB

TO DISK = N'F:\MSSQL\Backups\eGActiveDB.bak'

WITH NAME = N'eGActiveDB-Initial Full Backup',

COMPRESSION, STATS = 25

GO

BACKUP DATABASE eGReportsDB

TO DISK = N'F:\MSSQL\Backups\eGReportsDB.bak'

WITH NAME = N'eGReportsDB-Initial Full Backup',

COMPRESSION, STATS = 25

GO

3. 选择执行以运行此。选中Messages选项卡，查看三个数据库中每个数据库的类似行。

备份数据库在8.153秒（106.350 MB/秒）内成功处理了110986页。

4. 对所有三个数据库进行事务日志备份。

您需要对所有三个数据库进行事务日志备份，以将其加入可用性组。使用图中所示的两种方法之一来完成此操作。

1. 通过GUI。

1. 右键单击eGActiveDB数据库，然后选择任务>备份……

2. 在备份数据库 — eGActiveDB框中，验证下面的每个项。

- 备份类型：设置为事务日志

- 目标为磁盘,显示的位置对您的系统正确

- 使用“添加/删除”按钮进行必要的更改。

3. 选择“确定”。

4. 请确保您看到数据库“eGActiveDB”的备份已成功完成。

5. 对eGMasterDB和eGReportsDB数据库重复。

2. 通过T-SQL

1. 在工具栏中选择“新建查询”。

2. 在新查询窗口中，复制/粘贴或键入这三个命令。确保对数据库名称和文件位置都进行所需的任何更改。
BACKUP LOG eGMasterDB

TO DISK = N'F:\MSSQL\Backups\eGMasterDB.trn'

WITH NAME = N'eGMasterDB-Initial T Log Backup',

COMPRESSION, STATS = 25

GO

BACKUP LOG eGActiveDB

TO DISK = N'F:\MSSQL\Backups\eGActiveDB.trn'

WITH NAME = N'eGActiveDB-Initial T Log Backup',

COMPRESSION, STATS = 25

GO

BACKUP LOG eGReportsDB

TO DISK = N'F:\MSSQL\Backups\eGReportsDB.trn'

WITH NAME = N'eGReportsDB-Initial T Log Backup',

COMPRESSION, STATS = 25

GO

3. 选择执行以运行此。选中Messages选项卡，查看三个数据库中每个数据库的类似行。

备份数据库在8.153秒（106.350 MB/秒）内成功处理了110986页。

步骤4.在B端服务器上恢复数据库备份

在将数据库添加到可用性组之前，您首先需要在B端恢复备份。

1. 将您在步骤3和4中创建的3.bak文件和3.trn文件复制到B侧共置服务器。确保将这些文件复制到它们位于A侧的同一位置。例如，如果遵循给定的示例，请将数据库复制到F:\MSSQL\Backups folder on the side-B server目录。

2. 打开SQL Server Management Studio并连接到B侧服务器。

3. 在工具栏中选择“新建查询”。

4. 在新查询窗口中，复制/粘贴或键入这些命令。确保对系统进行所需的任何更改。
RESTORE DATABASE eGMasterDB

FROM DISK = N'F:\MSSQL\Backups\eGMasterDB.bak'

WITH NORECOVERY, STATS = 25

GO

RESTORE DATABASE eGActiveDB

FROM DISK = N'F:\MSSQL\Backups\eGActiveDB.bak'

WITH NORECOVERY, STATS = 25

GO

RESTORE DATABASE eGReportsDB

FROM DISK = N'F:\MSSQL\Backups\eGReportsDB.bak'

WITH NORECOVERY, STATS = 25

GO

RESTORE LOG eGMasterDB

FROM DISK = N'F:\MSSQL\Backups\eGMasterDB.trn'

WITH NORECOVERY, STATS = 25

GO

RESTORE LOG eGActiveDB

FROM DISK = N'F:\MSSQL\Backups\eGActiveDB.trn'

WITH NORECOVERY, STATS = 25

GO

RESTORE LOG eGReportsDB

FROM DISK = N'F:\MSSQL\Backups\eGReportsDB.trn'

WITH NORECOVERY, STATS = 25

GO

注意：确保在恢复每个数据库时使用WITH NORECOVERY选项。这允许SQL Server在下一步中成功将数据库加入可用性组。

5. 选择“执行”以运行这些查询。查看“消息”选项卡，查看所有6个RESTORE语句是否都成功完成。

注意：所有三个数据库都在其名称旁边列出了Restoring一词。这是预期。

步骤5.将数据库加入可用性组

现在，数据库已在B侧配置的服务器上恢复，请将其添加到AG。

1. 打开SQL Server Management Studio并连接到主节点。

2. 展开Always On High Availability > Availability Groups。

3. 右键单击您创建的可用性组名称，然后选择“添加数据库……”

4. 选择“下一步”>直到您看到“选择数据库”。

5. 应显示所有三个ECE数据库，并且“状态”应为“满足必备条件”。选择每个数据库旁边的框，然后选择“下一步”>。
注意：SSISDB不能添加到可用性组。

6. 在连接到现有辅助副本屏幕上，选择B侧服务器旁边的连接……按钮，然后在连接到服务器框中选择连接。选择“下一步”>继续下一页。

7. 在“选择初始数据同步”页上，选择仅联接。选择“下一步”>继续下一页。

8. 在“验证”页面上，确保所有检查都成功。如果收到任何错误，请在“结果”列中选择错误，并采取任何必要的纠正措施。全部显示绿色后，选择“下一步”>。

9. 查看“摘要”页，然后选择完成将数据库加入可用性组。

10. 在“进度”页面上，选择“更多详细信息”按钮以监控特定步骤。当您看到所有步骤都显示成功结果时，选择关闭。

步骤6.验证可用性组

完成这些步骤后，打开创建可用性组后使用的可用性组控制面板，查看所有数据库现已添加到可用性组并显示已同步且无数据丢失。

步骤7.运行报告数据库实用程序

由于12.0基础版中存在缺陷，安装介质中包含的reportsDBUtility不起作用。如果安装了12.5或更高版本，请继续执行后续步骤。如果安装了12.0，请完成下一个主要部分修补ECE，然后返回并完成本部分的最后三个任务。

1. 将目录复制到A侧的同位服务器。

1. 在12.5或更高版本上，打开DVD驱动器，然后导航至“实用程序”目录，并将ReportsDB实用程序(SQL Server Always ON)目录复制到安装了ECE的同一驱动器。示例：E:\ReportsDB Utility (SQL Server Always ON)。

2. 在12.0版本中，在Patch ECE部分中应用最新的ES后，打开解压ES的位置，然后导航到Utilities目录，并将ReportsDB Utility(SQL Server Always ON)目录复制到安装了ECE的同一驱动器。示例：E:\ReportsDB Utility (SQL Server Always ON)。

2. 更新批处理文件。

1. 在复制的目录中，在记事本中编辑reportsdb_utility.bat文件。

2. 查找读取的行，SET JAVA_HOME=<JAVA_HOME>并将<JAVA_HOME>替换为共享到DFS的本地目录。

示例：设置JAVA_HOME=E:\ECEFile\env\jdk

3. 保存文件并退出记事本。

3. 更新.properties文件

注意：由于此文件由Java使用，因此需要转义某些字符。其中一个是\。每当引用文件位置时，必须正确转义路径。例如，E:\ssis_data needs to be escaped as E:\\ssis_data。DFS共享必须完全转义。请密切注意示例。这在整个文件中都适用。

1. 在同一目录中，在记事本中编辑reportsdb_utility.properties文件。

2. 编辑这些行

1. ECE_HOME_DIR=C:\\ECE — 更新到正确转义的DFS共享。示例：ECE_HOME_DIR=\\\\massivedynamic.com\\ECE_Root\ECE

2. REPORTS_DB_SERVER_NAME= — 提供在安装时作为辅助副本服务器的服务器的完全限定服务器名称。如果在安装后执行了故障切换，请确保将可用性组故障切换回原始配置。一种方法是，辅助副本通常没有SSISDB。示例：CC2K125ECEAB.massivedynamic.com

3. REPORTS_DB_LST_PORT= — 提供侦听程序端口。通常为1433。

4. REPORTS_DB_INSTANCE_NAME= — 如果在命名实例上安装侦听程序，请在此处提供该实例名称。否则，可将其留空。

5. REPORTS_DB_NAME= — 提供报告数据库的名称。示例：eGReportsDB

6. ACT_DB_SERVER_NAME= — 提供在安装时作为辅助副本服务器的服务器的完全限定服务器名称。如果在安装后执行了故障切换，请确保将可用性组故障切换回原始配置。一种方法是，辅助副本通常没有SSISDB。;

7. 示例：CC2K125ECEAB.massivedynamic.com

8. ACT_DB_LST_PORT= — 提供侦听程序端口。通常为1433。

9. ACT_DB_INSTANCE_NAME= — 如果在命名实例上安装侦听程序，请在此处提供该实例名称。否则，可将其留空。

10. ACT_DB_NAME= — 提供活动数据库的名称。示例：eGActiveDB

11. 如果存在 — MAST_DB_NAME= — 提供主数据库的名称。示例：eGMasterDB

12. SSIS_INSTALL_PATH= — 提供在辅助服务器上创建的SSIS文件夹的路径。示例：E:\\ssis_data

13. SSIS_USER_ID= — 提供您在设置ECE时提供的SSIS用户名。示例：MASSIVE\\SQLServerSvc

14. SSIS_USER_PASSWORD= — 为初始设置中给定的SSIS用户提供Active Directory密码。

15. SSIS_CATALOG_PASSWORD= — 提供安装ECE时选择的SSIS目录密码。

3. 如果此列表中未引用该字段，则可将其安全保留为默认设置或留空。

4. 保存文件并退出记事本。

4. 运行批处理文件

1. 打开新的命令提示符，并切换到复制ReportsDB Utility(SQL Server Always ON)目录的位置。示例：cd e:\ReportsDB Utility (SQL Server Always ON)

2. 如图所示运行命令。reportsdb_utility.bat createDBObjects

3. 完成此过程可能需要几分钟时间。

4. 当命令提示符返回后，打开Windows文件资源管理器并导航到同一目录，然后打开日志目录。

5. 打开以ReportsDBUtil.log结尾的日志文件。示例：eg_log_CC2K125ECEAA_ReportsDBUtil.log

6. 滚动到文件底部，确保您看到包含此行的行。

com.egain.platform.module.reportsdbutility.CreateReportsDB <@> main()<@> ************* ReportsDB实用程序已成功执行！!******************* <@*

7. 如果未看到成功输出，请查看目录中的ReportsDBUtil.log文件和其他日志文件以确定原因。

步骤8.修复SSIS服务器维护作业

启用SQL Server Integration Services后，Microsoft将在名为SSIS Server维护作业的SQL Server代理作业中创建作业。如果不进行任何干预，此作业将失败。使用以下步骤解决导致此故障的问题。

1. 登录到两台共置服务器。

2. 打开SQL Server Management Studio，并通过本地服务器名称连接到SQL Server。

3. 从工具栏中选择“新建查询”。

4. 在新查询窗口中，粘贴这些T-SQL命令。
USE [SSISDB]

GO

GRANT EXECUTE ON [internal].[cleanup_server_execution_keys] TO [##MS_SSISServerCleanupJobUser##]

GO

GRANT EXECUTE ON [internal].[cleanup_server_log] TO [##MS_SSISServerCleanupJobUser##]

GO

GRANT EXECUTE ON [internal].[cleanup_server_project_version] TO [##MS_SSISServerCleanupJobUser##]

GO

GRANT EXECUTE ON [internal].[cleanup_server_retention_window] TO [##MS_SSISServerCleanupJobUser##]

GO

5. 在工具栏中选择“执行”，然后监视此行的“消息”选项卡。

命令已成功完成。

6. 在另一台配置的服务器上重复此步骤。

步骤9.安排数据库备份

数据库备份在任何生产系统中都非常重要，但是当ECE以HA配置安装时，它们对于确保产品保持稳定以及磁盘不完全充满至关重要。当SQL Server数据库处于完全恢复模式时，不同的规则将应用于事务日志的管理方式。在简单恢复模型数据库中，事务日志在其中的数据已提交到数据文件，并且没有引用该数据的打开事务时，可以立即重用。但是，在完全恢复模型数据库中，事务日志只能在发生以下两种情况之一后重用。

1.完整数据库备份 — 完成完整数据库备份后，事务日志中的事务将自动提交到数据文件中，因此日志可以安全地重复使用。

2.事务日志备份 — 这是一个特殊备份，仅对完整或批量记录的恢复模式有效。第一次事务日志备份之前需要完整的数据库备份，但之后可以备份事务日志，并且重新使用日志空间。

因此，您必须仔细设计数据库备份计划。如果备份频率不够高，事务日志将继续增长，并在一段时间后填满整个磁盘。其中显示了一个可能的备份计划，但还有许多其他备份计划。本文档未详细说明如何配置备份。有关详细信息，请咨询Microsoft文档或合格的SQL Server专家。

以下是使用的一些术语的定义。

完全备份

— 此备份类型会生成包含数据库整个备份的单个文件。此文件包含将数据库还原到进行备份的时间点所需的所有信息。

— 要完全恢复此备份，您只需要与上次完全备份对应的备份文件。

差异备份

— 此备份类型包含自上次完全备份以来数据库中的差异。由于大多数数据库以相当一致的速度增长，因此每个差异备份文件都比完全备份小很多。

— 要完全恢复数据库，您需要包含上次完整数据库备份的文件以及包含上次差异备份的文件。

注意：SQL Server没有任何增量备份的本机概念。

事务日志备份

— 此备份类型包含自上次备份以来事务日志中的更改。最后一次备份可以是三种备份类型中的任意一种：完整备份、差异备份或事务日志备份。如果定期执行，事务日志备份的大小可能非常小，有时只有1-2MB。由于大小取决于数据库的繁忙程度和上次备份的时间，因此执行更频繁的事务日志备份几乎总是比执行更少的事务日志备份更好。事务日志备份确实允许您将数据库恢复到某个时间点。如果您知道数据损坏发生在(例如昨天下午的14:53:27.003服务器时间)，则可以按正确顺序恢复备份文件，并选择将数据库向前滚动到14:53:27.000。此时间之后的任何数据都将丢失，但您将拥有已知良好的数据库。

— 要完全恢复数据库，您需要以下所有条件：

— 包含上次完全备份的文件

— 包含上次差异备份的文件

— 包含自上次完全备份或差异备份（以上次发生的备份为准）后进行的事务日志备份的所有文件。

用户数据库 — 在Microsoft SQL Server中，用户数据库是运行服务器本身不需要的任何数据库。

系统数据库 — 在Microsoft SQL Server中，系统数据库是服务器运行所需的4个数据库之一，如果配置了SQL复制，则还包括分布数据库。这四个数据库是：master、model、msdb和tempdb。在SQL Server Management Studio中，系统数据库位于树中“数据库”文件夹节点下名为“系统数据库”的文件夹中。

1. 完全备份 — 在此计划中，所有用户数据库都安排在每个星期日上午01:30服务器时间进行完全备份。备份经过压缩，最后8周的备份保留在服务器上。 SQL作业用于清除8周以前的SQL备份。

2. 差异备份 — 在此计划中，所有用户数据库都安排在每天早晨执行差异备份，但星期日上午01:30除外。备份经过压缩，最后2周的备份保留在服务器上。

3. 事务日志备份 — 在此计划中，所有用户数据库都安排为事务日志备份，从上午1:30开始，每1分钟重复一次。备份是UNcompressed，并且最后49小时的备份保留在服务器上。虽然每1分钟可能看起来是极端的，但由于此备份文件大小是基于自上次备份以来事务日志的更改速率，因此无论是1分钟、5分钟、30分钟还是更长时间，文件的总大小都大致相同。但是，如果每1分钟进行一次备份，则允许更快地重复使用实际事务日志，而且随着时间的推移，这会减少存储数据库文件和备份文件所需的总空间。

实施此计划的详细信息不在本文档的讨论范围之内。请查阅Microsoft SQL Server文档以获得帮助。

步骤10.更新密钥配置文件

每台Web服务器上有两个文件，通常需要在ECE的HA安装中更新。

第一个是用于加载Finesse小工具的ece_config.js文件。安装时，会创建包含Web服务器完全限定主机名的此文件。由于大多数HA ECE是通过完全限定名称访问的，而该名称不是一台服务器或另一台服务器的一部分，因此必须更新此文件以确保Finesse小工具的正确功能。

第二个文件不需要更新，但如果更新，它以后更改Finesse桌面布局会更轻松。

提示：下载并使用文本编辑器（如Notepad++），使ECE上的这些文件和其他文件更易于编辑。如果在记事本或写字板中打开文件，则可能会看到显示问题并导致格式损坏。

1. 登录到每台Web服务器。

2. 导航至ECE主目录。

3. 在此目录中，导航到此路径eService\templates\finesse\gadget\。

4. 更新ece_config.js文件。

1. 导航至代理目录。

2. 找到ece_config.js文件并在安全位置创建备份副本。

3. 在文本编辑器中打开当前ece_config.js文件。

4. 找到这两行并更新它们以匹配部署。

web_server_protocol必须是https，如果需要，请更新。

更新web_server_name以匹配您分配用于访问ECE的完全限定名称。示例：ece.massivedynamic.com

- var web_server_protocol = "https";

- var web_server_name = "CC2K125ECEWB.massivedynamic.com";

5. 查看并更新agent.xml文件（如果需要）。

不需要此更新。此文件的内容设计为复制，然后直接粘贴到Finesse CFAdmin的桌面布局中。ECE不直接使用该文件，但如果您使用正确的配置更新该文件，则稍后对Finesse进行任何必要的更改会更加容易。

1. 返回小工具目录，然后导航至布局目录。

2. 找到agent.xml文件并在安全位置创建备份副本。

3. 在文本编辑器中打开当前agent.xml文件。

4. 找到并更新<gadget>和</gadget>标记之间显示的URL，以匹配您分配用于访问ECE的完全限定名称。

到达此点后，ECE已完全安装，您可以登录分区1和分区0以完成设置。请查看最终备注部分，了解您可能需要根据部署进行配置或检查的其他项目。您可能需要配置许多不属于本文档范围的项目。有些列在最后的注释部分，但这绝不是详尽的列表。请确保查看所有相关文档，了解最新的配置要求。

修补ECE

建议在最新的ES和ET补丁级别尽可能接近ECE。这对于问题解决尤其重要。所有缺陷都根据最新补丁版本进行修复。在确认新缺陷之前，可能会要求您应用最新补丁。ECE当前不支持不间断更新。这意味着当ECE完全停止时，必须在维护窗口中应用所有补丁。

步骤1.准备要修补的服务器

1. 阶段补丁文件

1. 下载补丁并将其复制到所有四台服务器。

2. 解压文件，然后仔细查看随附的自述文件。

2. 停止ECE进程
如果ECE没有任何活动的电子邮件帐户，或者如果配置的所有电子邮件帐户都仅用于测试目的，则可以安全地跳过此步骤。在生产环境中运行ECE时，您不想为其承担任何丢失风险，请执行此步骤，以测试登录ECE的能力，甚至接收聊天，而不会因ECE检索新电子邮件而丢失数据。由于电子邮件在检索时会从邮件服务器中删除，因此，如果您需要卸载ES并恢复数据库备份，这会最大限度地降低数据丢失的可能性。

提示：系统分区也称为分区0。

1. 打开Internet Explorer并导航至ECE系统分区。示例：https://ece.massivedynamic.com/system

2. 使用sa帐户登录。

3. 在“Consoles(控制台)”屏幕中，选择“System console（系统控制台）”。

4. 展开“共享资源”>“服务”>“电子邮件”。下面是两个文件夹，Dispatcher和Retriever。在每个文件夹中执行这些任务。

1. 在页面右侧的上半部分，选择每个进程。

2. 在右侧的下半部分，选择“开始”类型旁的下拉箭头，然后选择“手动”。

3. 选择“常规”选项卡上方的“保存”按钮。

4. 返回上半部，选择“停止”按钮。

5. 监视“状态”列，直到它读到“停止”。

6. 对任何其他进程重复此步骤。

3. 停止ECE

1. 登录到两台共置服务器。

2. 打开“Windows服务控制面板”并导航至“Cisco服务”并停止服务。

3. 在第二台配置的服务器上重复此步骤。

4. 打开任务管理器，选择详细信息选项卡，并按用户名对流程进行排序。监控，直到ECE服务帐户拥有的所有进程停止。其中一台服务器上有35-40个进程，另一台服务器上有9-10个进程。停止所有进程的总时间通常为5-10分钟。

步骤2.备份服务器

1. 备份SQL数据库
在对ECE应用任何补丁或开始任何升级之前，必须始终对全部三个数据库进行数据库备份。当处于HA模式时，ECE要求定期安排备份。即使已安排备份，在开始补丁或更新安装之前，您必须始终单独进行备份，以便获得最新副本。

1. 打开SQL Server Management Studio并连接到侦听程序。

2. 在工具栏中选择“新建查询”。

3. 将显示的SQL复制并粘贴到查询窗口中。对路径或数据库名称进行任何必要的更改。
BACKUP DATABASE eGActiveDB

TO DISK = N'E:\MSSQL\Backup\eGActiveDB_PrePatch.bak'

WITH NOFORMAT, NOINIT, NAME = N'eGActiveDB-Full Backup Before Patch',

SKIP, NOREWIND, NOUNLOAD, STATS = 25

GO

BACKUP DATABASE eGMasterDB

TO DISK = N'E:\MSSQL\Backup\eGMasterDB_PrePatch.bak'

WITH NOFORMAT, NOINIT, NAME = N'eGMasterDB-Full Backup Before Patch',

SKIP, NOREWIND, NOUNLOAD, STATS = 25

GO

BACKUP DATABASE eGReportsDB

TO DISK = N'E:\MSSQL\Backup\eGReportsDB_PrePatch.bak'

WITH NOFORMAT, NOINIT, NAME = N'eGReportsDB-Full Backup Before Patch',

SKIP, NOREWIND, NOUNLOAD, STATS = 25

GO

4. 在工具栏中选择“执行”。

5. 监控“消息”选项卡，直到三个数据库都完成备份。每次成功备份后，您应看到与这些类似的行。

备份数据库在9.877秒（88.072 MB/秒）内成功处理了111346页。

备份数据库在9.629秒（105.704 MB/秒）内成功处理了130283页。

备份数据库在0.298秒（92.611 MB/秒）内成功处理了3533页。

2. 备份密钥文件

1. 登录到每台Web服务器。

2. 备份您自定义的任何聊天入口点目录。

3. 备份这些文件。

注意：将{install_directory}替换为系统上的ECE主目录。

- {install_directory}\eService\templates\finesse\gadget\agent\ece_config.js

- {install_directory}\eService\templates\finesse\gadget\layout\agent.xml

步骤3.安装补丁

1. 在A侧配置的服务器上安装补丁
根据补丁随附的自述文件，在A侧配置的服务器上安装补丁。

2. 在Side-B配置的服务器上安装补丁
根据补丁随附的自述文件，在B侧配置的服务器上安装补丁。

3. 在A侧Web服务器上安装补丁
根据补丁随附的自述文件，在A侧Web服务器上安装补丁。

4. 在B端Web服务器上安装补丁
根据补丁随附的自述文件，在B侧Web服务器上安装补丁。

步骤4.补丁后验证

1. 检查并更新密钥文件
修补ECE后，必须检查已备份的文件并将任何更改合并回。您不能简单地用备份副本替换新文件，因为修补程序所做的任何更改都可能丢失。

1. 登录到每台Web服务器。

2. 导航至ECE主目录。

3. 将这两个文件与修补之前备份的两个文件进行比较。将任何更改合并到新文件中。

注意：将{install_directory}替换为系统上的ECE主目录。

- {install_directory}\eService\templates\finesse\gadget\agent\ece_config.js

- {install_directory}\eService\templates\finesse\gadget\layout\agent.xml

2. 合并聊天模板更改
将补丁应用于ECE时，必须查看补丁随附的文档。每个补丁都指示聊天模板中已更改的文件。将新文件与系统中的自定义文件合并。

3. 启动ECE

1. 登录到两台共置服务器。

2. 打开“Windows服务控制面板”并导航至“Cisco服务”并启动服务。

3. 在第二台配置的服务器上重复此步骤。

4. 打开任务管理器，选择详细信息选项卡，并按用户名对流程进行排序。监控，直到您看到进程开始。其中一台服务器上有20-30个进程，另一台服务器上有9-10个进程。安装补丁后启动所有进程的总时间可能接近15分钟。

4. 登录ECE网页
打开用于访问ECE管理页面的URL。确认您能够登录，并且所有服务的进程和实例都已启动。

如果您使用两个分区的默认名称安装了产品，则URL类似于这些。

- 业务分区 — https://ece.massivedynamic.com/default

- 系统分区 — https://ece.massivedynamic.com/system

5. 登录Finesse和ECE小工具
登录Finesse并加载ECE小工具。您现在应能以代理身份登录。

6. 启动ECE流程
完成任何要执行的测试后，启动在补丁之前停止的进程。

提示：系统分区也称为分区0。

1. 打开Internet Explorer并导航至ECE系统分区。示例：https://ece.massivedynamic.com/system

2. 使用sa帐户登录。

3. 在“Consoles(控制台)”屏幕中，选择“System console（系统控制台）”。

4. 展开“共享资源”>“服务”>“电子邮件”。下面是两个文件夹，Dispatcher和Retriever。在每个文件夹中执行这些任务。

1. 在页面右侧的上半部分，选择每个进程。

2. 在右侧的下半部分，选择“开始”类型旁的下拉箭头，然后选择“自动”。

3. 选择“常规”选项卡上方的“保存”按钮。

4. 返回上半部，选择“开始”按钮。

5. 监视“状态”列，直到它显示Running。

6. 对任何其他进程重复此步骤。

5. 展开分区>默认>服务>电子邮件。下面是两个文件夹，Dispatcher和Retriever。在每个文件夹中执行这些任务。

1. 在页面右侧的上半部分，选择每个实例。

2. 在右侧的下半部，验证“开始”类型是否已选择“自动”。

3. 选择“开始”按钮并监控“状态”列，直到显示“正在运行”。

4. 对任何其他实例重复此步骤。

最终备注

安装ECE后，您需要完成几个配置项目。其中大部分内容在产品文档中介绍。系统将显示必须根据您的站点需求进行审核和配置的项目的部分列表。

- 创建SSL证书请求，签名此证书，然后在Internet Information Services Manger中将此证书分配给您安装ECE的网站

- 登录到业务分区并配置Web服务器URL或负载均衡器URL分区级别设置，以匹配您分配用于访问ECE的URL

注意：配置此设置时，请确保包含协议。否则可能导致系统行为不稳定。示例：https://ece.massivedynamic.com

- 如果计划使用其中一种安全方法访问电子邮件服务器，如安全IMAP、POP3或SMTP/ESMTP，并且电子邮件服务器是使用非公共证书颁发机构签名的本地邮件服务器，请确保将适当的证书导入到所共置服务器上的共享密钥库中。

- 如果计划配置单点登录(SSO)，请确保将相应的证书从Cisco IDS服务器导入到位于同一服务器上的共享密钥库中

注意：所有证书都必须导入到位于共享目录(\env\jdk folder目录)的密钥库中。

- 为环境配置负载均衡器。

本文档不提供有关负载均衡器配置的具体指导。思科不建议使用任何特定的负载均衡器。但是，必须严格遵循几个非常具体的配置要求，以确保系统正常运行。其中最关键的是：

- 负载均衡器的配置方式应是，任何时候只使用一半的Web服务器。理想情况下，这些设备都应位于同一数据中心。对于400代理部署，这意味着两个Web服务器中只有一个应处于活动状态。

- 负载均衡器必须通过Cookie插入保持所有连接的粘滞。由于在400代理部署中一次只应使用两个Web服务器中的一个，因此使用cookie插入方法不太重要。但是，在1500代理部署中，必须使用cookie插入来维护粘滞会话。

- 负载均衡器应定期对服务器执行运行状况检查以确保可用性。请注意，ECE确实在Web服务器中内置了一些错误处理。如果后端应用服务器关闭或脱机，则Web服务器不显示正常的html错误页面。因此，请确保您选择的运行状况检查监控网页内容，而不是仅监控HTML返回代码。

当您与套装联系中心企业(PCCE)解决方案集成时，有一些特殊注意事项。PCCE通过CCE Administration页面(也称为单一管理平台(SPOG))执行几乎所有管理。 当ECE要与PCCE系统集成时，应通过传统ECE网页配置的唯一项目是这些。

- 分区管理员单点登录配置

注意，即使您不计划使用代理或管理引擎SSO，也必须配置此配置。

- 除安装后步骤中涉及的对ece_config.js的更改外，还有一个类似的文件，用于在SPOG中加载ECE小工具。您可以在此位置的每台Web服务器的ECE主目录下找到此目录，eService\templates\finesse\gadget\spog。编辑spogconfig.js并更新参数var webservername以匹配在将ECE Web服务器添加到PCCE资产时输入的完全限定名称。

- 确保将分配给ECE的SSL证书导入到所有管理工作站上的密钥库，然后在尝试打开ECE小工具之前重新启动Apache Tomcat服务。

建议您下载多种工具，并将其保留在ECE服务器上。随着时间的推移，这些功能使解决方案的故障排除和维护更加容易。

- 文本编辑器，如Notepad++

- 存档工具，如7-Zip

- Windows程序的众多尾部之一

以下是几个示例：

- 裸机 — https://www.baremetalsoft.com/baretail/

- Win32的尾部 — http://tailforwin32.sourceforge.net/