对 ArcGIS 服务数据使用具有高可用性的 Microsoft SQL Server 数据库可避免服务停机。
SQL Server 提供多种高可用性解决方案。 ArcGIS 支持连接到 AlwaysOn 可用性组和故障转移集群实例。
注:
Microsoft 已弃用数据库镜像。 考虑使用 AlwaysOn 解决方案代替镜像。
以下几个部分介绍从 ArcGIS 连接高可用性 SQL Server 数据库需要提供的信息。
AlwaysOn 可用性组和故障转移集群实例
故障转移集群实例提供了多余的 SQL Server 实例,如果某个实例失败,客户端可以连接其中一个多余的实例。 可用性组允许您在故障转移集群实例中指定一组主数据库和最多四组只读辅助数据库。
AlwaysOn 解决方案准备就绪后,您可通过指定可用性组监听器名称代替 SQL Server 实例名称从 ArcGIS 中进行连接。 您可以使用数据库连接对话框上的其他属性设置,或在实例字符串中使用分号 (;) 将侦听器组名称和每个参数分开,向组侦听器添加附加条件。
可以在实例字符串中添加条件,或在数据库连接对话框的其他属性下,添加属性及其值:
- APPLICATIONINTENT=READONLY 或 APPLICATIONINTENT=READWRITE
注:
必须连接 AlwaysOn 可用性组监听器才可使用 READONLY。
- MULTISUBNETFAILOVER=YES 或 MULTISUBNETFAILOVER=NO
如果您没有为 APPLICATIONINTENT 和 MULTISUBNETFAILOVER 指定值,默认值分别为 READWRITE 和 NO。
数据库镜像
如上所述,Microsoft 已弃用 SQL Server 中的数据库镜像,但如果您仍在使用,则可以提供关于服务源数据的主服务器和镜像服务器连接的连接信息。 按以下格式输入信息 <principal>;MIRROR=<mirror>。
如果主服务器变为不可用,则 ArcGIS Server 将自动重试连接。 此时,如果镜像服务器为可用,则服务的连接将切换为使用镜像服务器上的数据。
指定数据镜像的不同情景将在下列各部分进行介绍。
发布程序和服务器计算机使用相同的数据库
如果共享为服务的 GIS 资源使用与已发布服务相同的数据库且该数据库已镜像,则在共享数据库连接的实例字段中提供主服务器和镜像服务器的实例信息。
发布程序和服务器计算机使用不同的数据库
如果 GIS 资源和已发布服务对其源数据(复制的地理数据库或托管数据库)使用不同的数据库,则必须定义两个单独的数据库连接。 要确保服务的高可用性,需确保为发布程序定义的连接文件使用已描述的镜像语法。