以下列表汇总了从 ArcGIS 连接到 Microsoft SQL Server 数据库(包括含地理数据库的数据库)所需的步骤:
- 配置 SQL Server 实例,以允许从远程计算机连接。
- 在 ArcGIS 客户端计算机上安装 Microsoft ODBC 驱动程序。
- 创建数据库连接。
- 如需发布引用 SQL Server 数据库中数据的 ArcGIS Server web 服务,请将数据库连接文件注册到您的 ArcGIS Server 站点。
配置实例以允许连接
默认情况下,未将 SQL Server 实例配置为允许从其他计算机中连接。 如果您有新安装的 SQL Server,请确保该 SQL Server 服务正在运行并在监听正确的端口。 有关详细信息,请参阅 Microsoft SQL Server 文档。
如果您不是数据库管理员,在连接时如果收到提示实例不接受连接的错误,则请联系数据库管理员。
需要对 SQL Server 和客户端计算机进行其他配置才能使用加密连接。
安装 ODBC driver for SQL Server
从 Microsoft 下载中心或 My Esri 获取适用于 SQL Server 的 64 位 Microsoft ODBC 驱动程序。 必须使用要连接的版本 SQL Server 支持的 Microsoft ODBC 驱动程序。 在所有已安装 ArcGIS Pro 和 ArcGIS Server 的计算机上安装此驱动程序。
如果您没有在运行 ArcGIS 客户端的计算机上安装软件的权限,则需要请求 IT 部门为您安装和配置 Microsoft ODBC 驱动程序。
注:
如果 ArcGIS Server 和 SQL Server 安装在同一服务器上,则该计算机上不需要单独的 ODBC 驱动器。
在 Ubuntu 上从 ArcGIS Server 连接到受支持版本的 SQL Server 时,除了 ODBC 驱动程序之外,还必须在所有 ArcGIS Server 计算机上安装 Microsoft unixodbc-dev 包。
连接到数据库
您可以在 ArcGIS Pro 中使用数据库连接对话框连接到数据库,如下所述。
或者,您可以在 ArcGIS Pro 中运行创建数据库连接地理处理工具或通过 ArcGIS Server 计算机使用 Python 运行创建数据库连接命令,以创建可连接到数据库的数据库连接文件 (.sde)。
注:
如果连接将使用 Microsoft Azure Active Directory 身份验证,则无法使用创建数据库连接地理处理工具。
要将数据库连接文件用于 ArcGIS Server,需要以下条件:
- 您必须相应的 Microsoft Azure Active Directory 用户信息与连接文件一同保存,这些信息经过数据库身份验证并且需要密码。
注:
无法将使用 Azure Active Directory - Universal with MFA 的数据库连接注册到 ArcGIS Server 站点。
- 如果您使用操作系统身份验证 进行连接,请确保 SQL Server 能够对 ArcGIS Server 帐户进行身份验证。
提示:
确保用于连接的帐户具有适当权限,可以访问帐户需要访问的数据。 如果连接使用操作系统身份验证,并且您将使用此连接发布 web 服务,请确保 ArcGIS Server 帐户具有 web 服务中所含数据的适当权限。 有关详细信息,请参阅 SQL Server 中地理数据库的权限和用于在 ArcGIS 中使用 SQL Server 数据库的权限。
要在 ArcGIS Pro 中从数据库连接对话框连接到 SQL Server 数据库,请按照以下步骤进行操作:
- 打开 ArcGIS Pro 中的目录窗格。
- 右键单击数据库,然后单击新建数据库连接。
- 从数据库平台下拉列表中选择 SQL Server。
- 在实例文本框中键入 SQL Server 实例名称。
示例包括以下内容:
- 对于 SQL Server 指定实例 terra\gis,在实例文本框中键入 terra\gis。
- 如果您使用默认 SQL Server 实例,则可在实例文本框中指定实例名称或服务器的 IP 地址。 如果指定 IPV6 地址,则要用括号将地址括起来。 例如,如果服务器的 IPV6 地址是 2000:ab1:0:2:f333:c432:55f6:d7zz,请在实例文本框输入 [2000:ab1:0:2:f333:c432:55f6:d7zz]。
- 如果 SQL Server 数据库正在监听的不是默认端口 (1433),则可以将端口号包含在实例内。 例如,如果 SQL Server 实例名为 basset\spatial,且正在监听端口 61000,请在实例文本框中输入 basset\spatial,61000。 或者,可以使用端口属性提供端口号。 (请参阅以下步骤 8。)
- 对于 Amazon RDS for SQL Server 实例,实例将采用 <database_instance_identifier>.<region_id>.rds.amazonaws.com 格式。
- 对于 Google Cloud SQL for SQL Server 实例,在实例文本框中键入实例的公共 IP 地址。
- 对于 Microsoft Azure SQL Managed Instance 或 Microsoft Azure SQL Database 实例,在实例文本框中提供服务器名称。 例如,如果服务器名称为 cloudy4u.dbid123.database.windows.net,则在实例文本框中键入 cloudy4u.dbid123.database.windows.net。
如果 SQL Server 实例使用故障转移集群,可以向实例字符串添加条件以利用冗余实例。
可以将附加条件追加到实例名称以请求加密连接到 SQL Server 实例。
- 选择连接到数据库时要使用的身份验证类型。
仅当连接到 Azure SQL Database 或 Azure SQL Managed Instance 时,才支持 Azure Active Directory 选项。
- 操作系统身份验证 - 无需输入用户名和密码;系统会通过用于登录到操作系统的用户名和密码建立连接。 如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
数据库身份验证 - 必须分别在用户名和密码文本框中提供有效的数据库用户名和密码。 用户名最多可以是 30 个字符。
- Azure Active Directory - Universal with MFA - 必须提供Azure Active Directory 用户名,但不能提供密码。 在进行连接时,系统会通过短信、电子邮件或 MFA 设备向您发送代码,或者可以使用指纹扫描进行身份验证。 身份验证过程的第二部分将会有所不同,具体取决于您的网络和身份验证协议的配置方式。
无法将使用 Azure Active Directory - Universal with MFA 的数据库连接注册到 ArcGIS Server 站点。
- Azure Active Directory - 密码 - 必须分别在用户名和密码文本框中提供有效的 Azure Active Directory 用户名和密码。 用户名最多可以是 30 个字符。
注:
- 对于使用数据库身份验证或 Azure Active Directory 身份验证为 ArcGIS web 服务提供数据库访问的连接文件,或需要搜索 ArcGIS Pro 以找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
- 在 ArcGIS 外部,您可以在 SQL Server 中创建包含特殊字符的用户名。 使用时,必须将这些用户名用分隔符分隔开来。 当用户名传递到 SQL Server 时,ArcGIS 会自动为其添加分隔符;您无需在用户名中添加分隔符。 例如,如果您的用户名是 map.user,则在用户名文本框中输入 map.user,而并非 "map.user"。 有关常规标识符和分隔标识符的详细信息,请参阅 SQL Server 文档。
- 在数据库文本框中,选择想要在 SQL Server 实例或 Azure SQL Managed Instance 上连接到的数据库的名称,或者,对于所有其他数据库服务,键入数据库的名称。
数据库名称限制为 31 个字符。
- 在连接文件名称字段中键入连接文件的名称。
当提供连接信息后,系统将创建一个默认名称。 您可以使用默认值,或者键入更具描述性的文件名。
这是将显示在目录窗格和视图中的名称,也是存储在磁盘上的 .sde 文件的名称。
- 或者,展开其他属性部分并指定要连接的参数(除了之前步骤中所需参数之外)。
- 端口 - 如果 SQL Server 实例通过非默认端口进行通信,请从属性下拉菜单中选择此参数,然后在值字段中键入正确的端口。
- 加密 - 在连接上启用 SSL 加密。 受支持的值为 Yes 或 No。
- TrustServerCertificate - 无需客户端证书即可进行加密。 受支持的值为 Yes 或 No。
- ApplicationIntent - 如果用户连接到 AlwaysOn 可用性组侦听器并且已配置只读路由,则将支持只读路由。 受支持的值为 READONLY 或 READWRITE。
- MultisubnetFailover - 为 SQL Server 中的所有可用性组和故障转移集群实例实现更快的故障转移,并将显著减少单子网和多子网 Always On 拓扑的故障转移时间。 受支持的值为 Yes 或 No。
- 单击验证以确认连接信息有效并且数据库可访问。
如果数据库包含地理数据库并且连接有效,则地理数据库属性选项卡现在处于活动状态。 如有必要,您可以更改地理数据库连接属性以连接到传统版本,而非默认版本;将连接配置为分支版本连接或者连接到历史时刻。
- 单击确定创建连接文件。
数据库连接将显示在目录窗格中的数据库下,同时将在 ArcGIS Pro 工程目录中创建连接文件 (.sde)。
将数据库注册到 ArcGIS Server
要允许 ArcGIS Server 站点访问数据,使用您创建的数据库连接文件在 ArcGIS Pro 中添加注册的数据存储或在门户中添加数据存储项目。