Skip to main content

在 SQL Server 基于云的数据库服务中创建地理数据库

在 Standard 或 Advanced 许可等级下可用。

ArcGIS 支持基于 SQL Server 的多种云数据库即服务产品。 如果您需要地理数据库功能,可以在这些数据库中创建企业级地理数据库。

如果使用 ArcGIS Pro 3.7 创建地理数据库,则地理数据库版本为 12.1.0.x。

完成先决条件

在创建地理数据库之前,必须在云账户中创建数据库实例、对其进行配置以接收连接、创建 sde 用户和方案,并授予 sde 用户创建地理数据库的权限。

按照云提供商提供的说明,完成这些步骤。

此外,还必须将 ArcGIS Server 密钥授权文件复制到安装 ArcGIS 客户端的云计算机上,以创建地理数据库。

在创建地理数据库之前,请完成以下先决条件步骤:

  1. 确认您使用的 ArcGIS 版本支持要使用的基于云的数据库类型和版本

  2. 在所选云平台中创建数据库服务实例。

  3. 为数据库实例创建名为 sde 的用户。

  4. 针对您使用的数据库服务类型,为 sde 用户授予创建地理数据库所需的权限

  5. 在数据库实例中创建名为 sde 的方案。

  6. 授予 sde 用户对 sde 方案的 CONTROL 权限,并将 sde 方案设置为 sde 用户的默认方案。

  7. 安装将用于创建地理数据库的 ArcGIS 客户端(ArcGIS Pro 或 ArcGIS Server)。

    要获得最佳性能,请在运行数据库服务的同一云平台和区域内安装 ArcGIS 客户端。

  8. 在已安装 ArcGIS 客户端的虚拟机上配置 SQL Server ODBC 客户端。

  9. 确保数据库实例已配置为允许来自 ArcGIS 客户端的连接。

  10. 从您在步骤 7 中安装的 ArcGIS 客户端,创建到数据库实例的连接,并以 sde 用户身份连接。

    有关实例字符串的示例,请参阅从 ArcGIS 连接到 Microsoft SQL Server

    如果 sde 用户为数据库身份验证用户,则必须在数据库连接中保存 sde 用户的密码。

  11. 获取 ArcGIS Server 密钥文件,并将其放置到用于创建地理数据库的 ArcGIS 客户端可访问的位置。

现在,您可以在云中的数据库实例中创建地理数据库。

在数据库服务实例中创建地理数据库

如果已在与数据库服务相同的云区域中安装了 ArcGIS Pro,则可以运行启用企业级地理数据库地理处理工具在数据库实例中创建地理数据库,如下面的第一部分中所述。

或者,可以在 Python 窗口中运行 EnableEnterpriseGeodatabase ArcPy 函数,或者从相同云区域内的 ArcGIS Pro 或 ArcGIS Server 安装中运行 Python 脚本

运行“启用企业级地理数据库”工具

要在 ArcGIS Pro 中使用启用企业级地理数据库工具创建地理数据库,请完成以下步骤:

  1. 登录到云环境中的虚拟机,然后启动 ArcGIS Pro。

  2. 打开启用企业级地理数据库工具。

    有关打开地理处理工具的常规信息,请参阅查找地理处理工具

  3. 对于输入数据库连接参数,提供作为先决条件步骤的一部分创建的数据库连接文件。

  4. 对于授权文件,请浏览并选择在授权 ArcGIS Server(企业版)时创建的密钥代码文件。

    在 Windows 上安装 ArcGIS Server 时,该文件将写入 \\Program Files\ESRI\License<release#>\sysgen,在 Linux 上安装 ArcGIS Server 时,该文件写入 /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen

  5. 单击运行

您现已在数据库实例中具有一个地理数据库。

可在 sde_setup.log 文件中查找创建地理数据库的相关消息,该文件是在运行脚本的虚拟机上为 TEMP 变量指定的目录中创建的。 如果在创建地理数据库时出现问题,可查看此文件以解决这些问题。

运行 EnableEnterpriseGeodatabase ArcPy 函数

要运行 ArcPy 函数,需连接到云中的一个 ArcGIS 客户端计算机,并从 Python 窗口中运行该函数。

  1. 登录到已安装 ArcGIS Pro 或 ArcGIS Server 的云环境中的虚拟机。

  2. 访问 Python 窗口。

    有关从 ArcGIS 安装访问 Python 的信息,请参阅以下资源:

  3. 从 Python 窗口运行 EnableEnterpriseGeodatabase ArcPy 函数。

    使用您创建的数据库连接文件,并引用作为先决条件步骤之一放置于可访问位置的 ArcGIS Server 授权文件。

    在以下示例中,将从 ArcGIS Pro 安装中运行 EnableEnterpriseGeodatabase 函数。 数据库连接文件 (ssdbaas.sde) 存储在 ArcGIS Pro 工程文件夹 (C:\proprojects\pg_proj) 中,授权文件 (keycodes) 存储在 C:\authcodes 中。

    arcpy.management.EnableEnterpriseGeodatabase(r"C:\proprojects\pg_proj\ssdbaas.sde",r"C:\authcodes\keyfile")

    在下一示例中,将从 Linux 计算机上的 ArcGIS Server 安装中运行函数。 数据库连接文件 (ssdbaas.sde) 存储在 /usr/connectionfiles 中,密钥文件存储在默认 ArcGIS Server 位置中。

    arcpy.management.EnableEnterpriseGeodatabase("/usr/connectionfiles/ssdbaas.sde","/usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes")

您现已在数据库实例中具有一个地理数据库。

可在 sde_setup.log 文件中查找创建地理数据库的相关消息,该文件是在运行函数的虚拟机上为 TEMP 变量指定的目录中创建的。 如果在创建地理数据库时出现问题,可查看此文件以解决这些问题。

在 ArcGIS 客户端中运行 Python 脚本

要通过从 ArcGIS Pro(Standard 或 Advanced)或 ArcGIS Server 计算机运行脚本来创建地理数据库,可以使用此处提供的脚本。

提示:

有关从 ArcGIS Server 机器运行 Python 的信息,请参阅 ArcGIS Server 和 ArcPy

要运行调用 CreateDatabaseConnectionEnableEnterpriseGeodatabase ArcPy 函数以连接到数据库并在 SQL Server 数据库服务中创建地理数据库的 Python 脚本,请完成以下步骤:

  1. .py 扩展名保存该文件。

  2. 运行脚本,同时提供特定于您的实例的选项和信息。

    在以下示例,将从与数据库服务相同的云区域中的虚拟机上运行 enable_gdb.py 文件。

    在此示例中,脚本从 Linux 计算机上的 ArcGIS Server 安装中运行。 将连接到位于 us-east-1 区域 (database-1-instance-1.zyxjtlpj9fer.us-east-1.rds.amazonaws.com) 的 Amazon Relational Database Service for SQL Server 实例中名为 myrdsdb 的数据库。 密钥文件放置在 ArcGIS Server 计算机上的 /usr/arcgis/auth 中。

    ./enable_gdb.py --DBMS SQLSERVER -i database-1-instance-1.zyxjtlpj9fer.us-east-1.rds.amazonaws.com --auth DATABASE_AUTH -u sde -p sdeP@ss -D myrdsadb -l '/usr/arcgis/auth/keycodes'
    

    在下一示例中,将在 Azure 中的 Microsoft Windows 计算机上运行脚本。 将连接到 Microsoft Azure SQL Database 实例 my-instance.ssdbid987.database.windows.net 中名为 azuressd 的数据库。 密钥文件位于默认 ArcGIS Server 位置中。

    enable_gdb.py --DBMS SQLSERVER -i my-instance.ssdbid987.database.windows.net --auth DATABASE_AUTH
    -u sde -p EsDeeEpw -D azuressd -l '\\Program Files\ESRI\License\sysgen\keycodes'
    

    在以下示例中,将从安装 ArcGIS Pro 的计算机上运行脚本,密钥文件将放置在 Users\MyUser\Documents\AuthFiles\keycodes 中。 脚本将连接到可通过公共 IP 地址 98.765.43.210 访问的 Google Cloud SQL for SQL Server 实例中的数据库 (gcsss)。

    enable_gdb.py --DBMS SQLSERVER -i 98.765.43.210 --auth DATABASE_AUTH
    -u sde -p My.Passw0rd -D gcsss -l '\\Users\MyUser\Documents\AuthFiles\keycodes'
    
    提示:

    在命令提示符处输入 -h--help 以获取有关此脚本的语法帮助。

您现已在数据库实例中具有一个地理数据库。

可在 sde_setup.log 文件中查找创建地理数据库的相关消息,该文件是在运行脚本的虚拟机上为 TEMP 或 TMP 变量指定的目录中创建的。 如果在创建地理数据库时出现问题,可查看此文件以解决这些问题。

后续步骤

数据库管理员可以为将创建数据集的用户创建用户和匹配方案,并为编辑者和数据查看者创建用户,然后为这些用户授予合适的权限。 按照数据库服务提供程序提供的说明创建登录角色和方案。