发布日期: 六月 12, 2008
Microsoft Dynamics CRM 使用两个数据库,配置数据库和组织数据库。配置数据库包含特定于 Microsoft Dynamics CRM 系统的配置信息。组织数据库用于存储所有特定于组织的数据以及该组织的客户关系数据。有些版本的 Microsoft Dynamics CRM 还允许您创建和使用多个组织。因此,在某些部署中,可能会在 Microsoft Dynamics CRM 系统中部署多个组织数据库。
若要对 Microsoft Dynamics CRM 组织数据库执行镜像操作,使该数据库可以自动故障转移到另一台正在运行 Microsoft SQL Server 的计算机上,则需要配置以下三个计算机,以建立 SQL Server 数据库镜像会话:
主数据库计算机。此计算机运行 Microsoft Dynamics CRM 组织数据库所在的 SQL Server。在本示例中,Microsoft Dynamics CRM 安装并运行在 SQL Server 的默认实例上。该计算机名为 MSCRM_Primary。
镜像数据库计算机。此计算机与 MSCRM_Primary 相连,并且正在运行 SQL Server,它使用的是另一个默认实例。此计算机必须与 MSCRM_Primary 网络相连。此计算机名为 MSCRM_Mirror。
见证计算机。此计算机运行 SQL Server,也可以是运行 SQL Server 2005 Express Edition 的桌面系统。此计算机必须与 MSCRM_Primary 和 MSCRM_Mirror 网络相连。此计算机名为 MSCRM_Witness。
注意
运行 Microsoft SQL Server 2005 Workgroup Edition 的计算机可以是见证计算机,但不能为数据库镜像会话中的主计算机或镜像计算机。
|
|
为数据库镜像配置 Microsoft Dynamics CRM 组织 |
|
|
监视和测试故障转移 |
若要对组织数据库执行镜像操作,请执行以下步骤:
重要提示
先前提到的计算机(MSCRM_Primary、MSCRM_Mirror 和 MSCRM_Witness)之间必须建立网络连接,并且必须运行支持数据库镜像的 SQL Server 版本。
在存储主数据库 (MSCRM_Primary) 的 SQL Server 实例上,启动 SQL Server Management Studio。
展开“数据库”,右键单击 OrganizationName_MSCRM,其中 OrganizationName 表示组织的名称,然后单击“属性”。验证 Microsoft Dynamics CRM 组织数据库恢复模式是否被设置为“完整”。这是要镜像的数据库的必需设置。
若要验证恢复模式,请在“数据库属性”窗口中,“选择页”下,单击“选项”。恢复模式将显示在恢复模式列表中。选择“完整”。
单击“确定”以关闭“数据库属性”窗口。
对组织数据库进行完整备份。有关如何执行此操作的详细信息,请参阅 SQL Server Management Studio 帮助。
通过“RESTORE WITH NORECOVERY”选项(数据库镜像的必需选项),将主数据库 (MSCRM_Primary) 的完整备份还原为镜像实例 (MSCRM_Mirror)。有关如何执行此操作的详细信息,请参阅 SQL Server Management Studio 帮助。
配置数据库镜像。若要执行此操作,请启动 SQL Server Management Studio,连接主数据库 (MSCRM_Primary) 所在的 SQL Server 实例,然后执行以下步骤:
展开“数据库”,右键单击您要执行镜像的 Microsoft Dynamics CRM 组织数据库,指向“任务”,然后单击“镜像”。
单击“配置安全性”,然后在新窗口中单击“下一步”。
在“包括见证服务器”窗口中,选择“是”,然后单击“下一步”。
在“选择要配置的服务器”窗口上,选择“见证服务器实例”,然后单击“下一步”。
在“主体服务器实例”窗口的“主体服务器实例”列表中,选择 Microsoft Dynamics CRM 组织数据库所在的 SQL Server (MSCRM_Primary) 的实例。此外,还可以更改监听程序端口、加密和端点名称的默认设置。单击“下一步”。
在“镜像服务器实例”窗口的“镜像服务器实例”列表中,选择上一步用于存储 Microsoft Dynamics CRM 组织数据库的 SQL Server (MSCRM_Mirror) 实例。您可以更改监听程序端口、加密和端点名称的默认设置(如果需要)。单击“下一步”。
在“见证服务器实例”窗口的“见证服务器实例”列表中,选择要指定为见证服务器 (MSCRM_Witness) 的计算机。您可以在此更改监听程序端口、加密和端点名称的默认设置。单击“下一步”。
注意
如果要连接正在运行 SQL Server 2005 Express Edition 的 SQL Server 实例,请验证是否支持远程连接。为此,在安装了 SQL Server 2005 Express Edition 的计算机上启动 SQL Server 2005 外围应用配置器,确保启用了远程连接功能。如果在尝试连接见证服务器时收到有关超时的错误消息,请单击“选项”,然后延长执行超时期限,将其改为一个较大值,如 45 秒。默认情况下,该值为 15 秒。
在“服务帐户”窗口中,输入每个实例的 Active Directory 服务帐户。建议在镜像会话中为所有三个合作伙伴指定相同的服务帐户。单击“下一步”。
单击“完成”。 该向导将执行一系列的验证检查。完成检查后,单击“开始镜像”。
更新注册表中的 SQL Server 连接字符串。为此,请按照下列步骤操作。
警告
如果您使用注册表编辑器或其他方法错误地修改了注册表,可能会出现严重问题。这些问题可能要求您重新安装操作系统和 Microsoft Dynamics CRM。我们不能保证能够解决这些问题。因此,您必须承担修改注册表的风险。
在安装了 Microsoft Dynamics CRM Web 应用程序且运行 Internet Information Services (IIS) 的计算机上,启动注册表编辑器,然后找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\
右键单击“configdb”,然后单击“修改”。将 Failover Partner=MSCRM_Mirror; 插入到“DataSource”值后面的连接字符串中。完整的连接字符串的显示类似于以下示例,其中 MSCRM_Primary 是主要 SQL Server\实例的名称,而 MSCRM_Mirror 是镜像 SQL Server\实例的名称:
Data Source=MSCRM_Primary\SQL1;Failover Partner=MSCRM_Mirror\SQL2;Initial Catalog= MSCRM_CONFIG;Integrated Security=SSPI
单击“确定”,然后关闭注册表编辑器。
在镜像服务器 (MSCRM_Mirror) 上创建 Microsoft Dynamics CRM 安全组的 SQL 登录。为此,请按照下列步骤操作。
在 SQL Server (MSCRM_Primary) 上,启动 SQL Server Management Studio,然后连接主数据库。
依次展开“数据库”、OrganizationName_MSCRM 数据库(其中 OrganizationName 表示组织名称)和“安全性”,然后单击“用户”。
复制并粘贴这些名称,其中包括以下组的域名和 GUID(GUID 位于名称的末尾):
PrivReportingGroup
ReportingGroup
SQLAccessGroup
提示
若要执行上述操作,请右键单击 SQL 用户名,单击“属性”,在“用户名”框中,右键单击整个值,然后单击“复制”。然后在记事本之类的文本编辑器中,粘贴这些内容。为每个组重复执行上述步骤,直至您拥有了所有三个组的内容。
在 SQL Server Management Studio 中,连接到 SQL Server 镜像实例 (MSCRM_Mirror)。
依次展开“数据库”、“安全性”,右键单击“登录名”,然后单击“新建登录名”。
切换到以前粘贴 SQL 用户的文本编辑器,并复制任何一组的内容。
切换到步骤 e 中所述的“登录名 - 新建”表单中,在“登录名”框中,将以上内容粘贴到该框中,然后单击“确定”。请注意,SQL 用户内容应类似于以下示例。
DomainName\SQLAccessGroup {859409f6-c4a5-4cb6-86f2-af264520ea10}
重复步骤 e-g 为其余组创建 SQL 登录名。
更新配置数据库以指定镜像。为此,请按照下列步骤操作。
重要提示
备份 Microsoft Dynamics CRM 配置数据库 (MSCRM_CONFIG),然后运行这些更新语句。
为配置 (MSCRM_CONFIG) 数据库运行以下更新语句。
Update Organization set ConnectionString = 'Provider=SQLOLEDB;Data Source=MSCRM_Primary\SQL1;Failover Partner=MSCRM_Mirror\SQL2;Initial Catalog=Organization_MSCRM;Integrated Security=SSPI' where DatabaseName = ‘Organization_MSCRM’
将 MSCRM_Primary\SQL1 替换为 SQL Server 的主实例的名称。如果您要使用默认实例,请不要指定 \SQL1 之类的实例。
将 MSCRM_Mirror\SQL2 替换为 SQL Server 的镜像实例的名称。如果使用的是默认实例,请不要指定 \SQL2 之类的实例。
将 Organization_MSCRM 替换为组织数据库的名称。
为配置 (MSCRM_CONFIG) 数据库运行以下更新语句。
Update Organization set MirroredSQLServerName = ‘MSCRM_Mirror\SQL2’ where DatabaseName = ‘Organization_MSCRM’
将 MSCRM_Mirror\SQL2 替换为 SQL Server 的镜像实例的名称。如果您要使用默认实例,请不要指定 \SQL2 之类的实例。
将 Organization_MSCRM 替换为组织数据库的名称。
在完成上述更改后,在运行 Microsoft Dynamics CRM 的计算机上重置 IIS。为此,请单击“开始”,然后单击“运行”。在“打开”框中,键入 iisreset,然后单击“确定”。
可以手动或自动对镜像数据库执行故障转移操作。若要对故障转移执行监视和测试,请执行以下步骤:
启动 SQL Server Management Studio,右键单击主数据库,指向“任务”,然后单击“镜像”。
在“数据库属性”窗口上,可以监视主数据库和镜像数据库之间的同步状态。若要手动测试故障转移功能,请单击“故障转移”。在发生故障转移时,SQL Server 将在主数据库和镜像数据库之间转换镜像会话角色,使镜像数据库成为主数据库,或使主数据库成为镜像数据库。
有关如何实现数据库镜像的详细信息,请参阅使用数据库镜像实现应用程序故障转移。