SQL Server 中的地理数据库管理员

在 Microsoft SQL Server 中,地理数据库管理员可以是名为 sde 的用户或映射到包含地理数据库的数据库中 dbo 用户的登录帐户。地理数据库管理员负责管理以下内容:

  • 地理数据库系统表、触发器、视图和过程
  • DEFAULT 地理数据库版本

因为地理数据库管理员拥有所有地理数据库系统文件、目录和表,所以必须在创建地理数据库之前创建地理数据库管理员帐户。要创建 sde 方案地理数据库,您必须在数据库中拥有一个名为 sde 的用户。要创建 dbo 方案的地理数据库,必须以数据库中 dbo 用户的登录帐户连接。对于创建地理数据库管理员和地理数据库,您具有以下几种选择方案:

  • 如果希望 ArcGIS 为您创建一个经 sde 数据库身份验证的登录帐户和用户,请使用创建企业级地理数据库地理处理工具或 Python 脚本。如果运行创建企业级地理数据库时选择 sde 方案地理数据库,则工具将创建经 SQL Server 身份验证的 sde 登录帐户、sde 数据库用户及其方案。此工具会向 sde 用户授予创建地理数据库和终止连接所需的权限。该工具还会创建数据库并启用数据库的地理数据库功能。
  • 如果要创建 dbo 方案地理数据库,则可使用创建企业级地理数据库地理处理工具或脚本或启用企业级地理数据库地理处理工具或脚本。在任一情况下,数据库管理员都必须向 SQL Server 实例中添加在创建地理数据库时使用的登录帐户。此登录帐户可以是经 Windows 身份认证的登录帐户或者经 SQL Server 身份认证的登录帐户。而且,登录帐户必须是数据库所有者(在任一情况下,数据库管理员必须在您创建地理数据库之前创建数据库)或者登录帐户必须是 sysadmin 固定服务器角色的成员。向 SQL Server 实例中添加登录帐户后,可以该登录帐户进行连接从而创建地理数据库。如果尚未创建数据库,则请运行创建企业级地理数据库工具或脚本创建数据库和地理数据库。如果数据库已经存在,则请运行启用企业级地理数据库工具或脚本。
  • 如果希望使用经 Windows 身份验证的 sde 用户,则数据库管理员必须创建数据库以及 sde 数据库用户和方案,将 sde 方案设置为 sde 用户的默认方案,向 sde 用户授予创建地理数据库所需的权限,并将 sde 用户映射到经 Windows 身份验证的相应登录帐户。然后,可采用经 Windows 身份验证的登录帐户进行登录,并运行启用企业级地理数据库地理处理工具或 Python 脚本在数据库管理员创建的 SQL Server 数据库中创建 sde 方案地理数据库。

有关两类地理数据库管理员的详细信息,请参阅 SQL Server 中地理数据库所有者的比较

地理数据库管理员和方案

在 SQL Server 中,用户不会自动拥有与其用户名同名的方案。但如果要将 SQL Server 用于 ArcGIS,您的用户名必须具有对应的默认方案名称。此规则不仅适用于地理数据库管理员,也适用于创建数据的非管理员用户。如果是 dbo 用户,dbo 方案默认存在于所有数据库中;数据库中属于 dbo 的任何登录帐户都将在 dbo 方案中存储数据。如果使用名为 sde 的地理数据库管理员 ,则该管理员必须拥有名为 sde 的方案,而该方案必须是 sde 用户的默认方案。如上所述,如果使用经 SQL Server 验证的 sde 用户,则创建企业级地理数据库工具将创建 sde 用户的方案。如果手动创建 sde 用户,则还需创建一个 sde 方案。

Esri 推荐地理数据库管理员方案仅用于存储地理数据库资料档案库。您应该创建单独的用户和方案以存储数据集,例如要素类和表。按照仅将地理数据库系统对象存储在地理数据库管理员方案中的做法可简化地理数据库的管理,并且当您决定从数据库中删除地理数据库时,这种做法会使删除操作变得更加简便。