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

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

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

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

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

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

地理数据库管理员和方案

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

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