Skip to main content

从 ArcGIS 连接到 Microsoft SQL Server

以下列表汇总了从 ArcGIS 连接到 Microsoft SQL Server 数据库(包括含地理数据库的数据库)所需的步骤:

配置实例以允许连接

默认情况下,未将 SQL Server 实例配置为允许从其他计算机中连接。 如果您有新安装的 SQL Server,请确保该 SQL Server 服务正在运行并在监听正确的端口。 有关详细信息,请参阅 Microsoft SQL Server 文档。

如果您不是数据库管理员,在连接时如果收到提示实例不接受连接的错误,则请联系数据库管理员。

需要对 SQL Server 和客户端计算机进行其他配置才能使用加密连接

安装 SQL Server 的 ODBC 驱动程序

从 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)。

要将数据库连接文件用于 ArcGIS Server,需要以下条件:

  • 您必须将经数据库身份验证且需要密码的 Entra ID 用户信息与连接文件一同保存。

    注:

    无法向 ArcGIS Server 站点注册使用 Microsoft Entra 多重身份验证 (MFA) 的数据库连接。

  • 如果您使用操作系统身份验证或 Entra 集成身份验证进行连接,请确保 SQL Server 或 Azure SQL Database 能够对 ArcGIS Server 账户进行身份验证。

提示:

请确保用于连接的账户具有对其需要访问的数据的相应权限。 如果连接使用操作系统身份验证,并且您将使用此连接发布 Web 服务,请确保 ArcGIS Server 账户具有对 Web 服务中所含数据的相应权限。 有关详细信息,请参阅 SQL Server 中地理数据库的权限用于在 ArcGIS 中使用 SQL Server 数据库的权限

要在 ArcGIS Pro 中从数据库连接对话框连接到 SQL Server 数据库,请按照以下步骤进行操作:

“数据库连接”对话框

  1. 在 ArcGIS Pro 中打开目录窗格。

  2. 右键单击数据库文件夹下的文件夹,然后单击新建数据库连接

  3. 数据库平台下拉列表中选择 SQL Server

  4. 实例文本框中提供 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。 在创建关系数据库服务时,您提供了数据库实例标识符。 区域 ID 是 AWS 分配给实例运行所在的 AWS 区域标识符。

    • 对于 Google Cloud SQL for SQL Server 实例,在实例文本框中提供实例的公共 IP 地址。

    • 对于 Microsoft Azure SQL 托管实例或 Microsoft Azure SQL Database 实例,在实例文本框中提供服务器名称。 例如,如果服务器名称为 cloudy4u.dbid123.database.windows.net,则在实例文本框中键入 cloudy4u.dbid123.database.windows.net

    如果 SQL Server 实例使用故障转移集群,可以向实例字符串添加条件以利用冗余实例

    可以将附加条件追加到实例名称以请求对 SQL Server 实例的加密连接

  5. 选择连接到数据库时要使用的身份验证类型。

    仅在连接到 Azure SQL Database 或 Azure SQL 托管实例时,才支持 Microsoft Entra ID 选项。

    • 操作系统身份验证 - 无需提供用户名和密码;系统会通过用于登录到操作系统的用户名和密码建立连接。 如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。

    • 数据库身份验证 - 必须分别在用户名密码文本框中提供有效的数据库用户名和密码。

    • Microsoft Entra MFA - 必须提供 Entra ID 用户名,但无需提供密码。 在进行连接时,系统会通过短信、电子邮件或 MFA 设备向您发送代码,或者可以使用指纹扫描进行身份验证。 身份验证过程的第二部分将会有所不同,具体取决于您的网络和身份验证协议的配置方式。

      无法向 ArcGIS Server 站点注册使用 Microsoft Entra MFA 的数据库连接。

    • Microsoft Entra Password - 必须分别在用户名密码文本框中提供有效的 Entra ID 用户名和密码。

    • Microsoft Entra 集成 - 无需提供用户名和密码;系统会通过用于登录到操作系统的用户名和密码建立连接。 如果操作系统使用的登录账户不是有效的 Entra ID 登录账户,则连接将失败。

    注:
    • 对于使用数据库身份验证或 Entra Password 身份验证为 ArcGIS Web 服务提供数据库访问的连接文件,或需要搜索 ArcGIS Pro 以找到通过此连接文件访问的数据,都必须选中保存用户名和密码

    • 在 ArcGIS 外部,您可以在 SQL Server 中创建包含特殊字符的用户名。 使用时,必须将这些用户名用分隔符分隔开来。 当用户名传递到 SQL Server 时,ArcGIS 会自动为其添加分隔符;您无需在用户名中添加分隔符。 例如,如果您的用户名是 map.user,则在用户名文本框中输入 map.user,而并非 "map.user"。 有关常规标识符和分隔标识符的详细信息,请参阅 SQL Server 文档。

  6. 数据库文本框中,选择想要在实例中连接的数据库的名称。

    注:

    如果您使用包含的数据库用户模型或者以非数据库管理员用户身份连接到 Microsoft Azure SQL Database,则必须在数据库文本框中输入该数据库的名称。

  7. 连接文件名称字段中提供连接文件的名称。

    将基于连接属性值创建默认名称。 您可以使用默认值,或者提供更具描述性的文件名。

    这是将显示在目录窗格和视图中的名称,也是存储在磁盘上的 .sde 文件的名称。

  8. 或者,展开其他属性部分并指定要连接的参数(除了之前步骤中所需参数之外)。

    • 端口 - 如果 SQL Server 实例通过非默认端口进行通信,请从属性下拉菜单中选择此参数,然后在字段中提供正确的端口。

    • 加密 - 在连接上启用 SSL 加密。 受支持的值为 YesNo

    • TrustServerCertificate - 无需客户端证书即可进行加密。 受支持的值为 YesNo

    • ApplicationIntent - 如果用户连接到 AlwaysOn 可用性组侦听器并且已配置只读路由,则将支持只读路由。 受支持的值为 READONLYREADWRITE

    • MultisubnetFailover - 为 SQL Server 中的所有可用性组和故障转移集群实例实现更快的故障转移,并将显著减少单子网和多子网 Always On 拓扑的故障转移时间。 受支持的值为 YesNo

  9. 单击验证以确认连接信息有效并且数据库可访问。

    如果数据库包含地理数据库并且连接有效,则地理数据库属性选项卡现在处于活动状态。 如有必要,您可以更改地理数据库连接属性以连接到传统版本,而非默认版本;将连接配置为分支版本连接或者连接到历史时刻

  10. 单击确定创建连接文件。

数据库连接将显示在目录窗格中的数据库下,同时将在 ArcGIS Pro 工程目录中创建连接文件 (.sde)。

在 ArcGIS Server 站点中注册数据库

要从数据库中的数据发布 Web 图层,ArcGIS Server 站点必须具有数据访问权限。 使用创建的数据库连接文件可在 ArcGIS Pro 中添加注册数据存储,或在活动门户中添加数据存储项目