SQL Server 地理数据库所有者的比较

地理数据库是数据库中各种表、视图、函数及所保存程序的集合。在 Microsoft SQL Server 数据库中的地理数据库内,此对象集合可以归名为 sde 的数据库用户或 dbo 数据库用户所有。地理数据库的所有者即为地理数据库管理员。

注注:

重要的是,应当了解 SQL Server 如何管理对数据及其他对象的访问。因此,如果您不熟悉 SQL Server 的安全模型,请阅读 SQL Server 文档。SQL Server 在实例层级上验证登录帐户,然后在数据库层级上授权相应用户。所授予的不同权限可应用于整个实例、特定数据库或多个数据库、或者数据库中的数据。这可能会影响您决定使用哪种类型的地理数据库所有者。

创建地理数据库时您所连接的登录帐户确定了哪个数据库用户拥有地理数据库。如果您连接的 Windows 或 SQL Server 登录帐户已映射到数据库的 dbo 用户,则会创建一个 dbo 方案地理数据库。如果您连接的 Windows 或 SQL Server 登录帐户已映射到数据库中名为 sde 的用户,则会创建一个 sde 方案地理数据库。

sde 用户

数据库的 sde 用户可以与经 SQL Server 验证的登录帐户或经 Windows 验证的登录帐户相关联。sde 用户必须拥有对名为 sde 的方案的权限,而该方案必须是 sde 用户的默认方案。sde 用户还必须获得对数据库的权限,以使用户创建和管理地理数据库。

dbo 用户

dbo 用户及其默认方案自动存在于所有数据库中。登录帐户可以通过两种方法中的任一种成为数据库中的 dbo 用户:

映射到特定数据库中 dbo 用户的登录帐户在该数据库中具有最高可能权限;因此,登录帐户拥有创建和管理地理数据库的足够权限。映射到特定数据库中 dbo 用户的登录帐户在 SQL Server 实例或其他数据库中并不具有高级权限,除非向该登录帐户明确授予此类权限。

属于 sysadmin 固定服务器角色成员的登录帐户被映射到 SQL Server 实例中每个数据库的 dbo 用户,而且在 SQL Server 实例中拥有最高可能权限。此类登录帐户拥有足够的权限,能够创建和管理地理数据库,并可在实例中创建、修改、删除及管理其他可获得的数据。

dbo 用户拥有的所有数据库对象均存储在 dbo 方案中。

哪种用户应当拥有地理数据库?

在性能或功能方面,两种地理数据库方案类型基本没有区别。但两者各有优缺点。选择最适合系统及所选安全模型的用户(及方案)。

下面根据使用的验证类型比较两种方案:

方案

身份验证

优点

缺点

Dbo(sysadmin 成员)

Windows 或 SQL Server 登录帐户

  • 如果 SQL Server 数据库管理员还担任地理数据库管理员,则最好使用 dbo 方案避免同一个人根据想要完成的任务而使用两个不同的登录帐户。
  • 如果需要多个地理数据库管理员,可以向 sysadmin 固定服务器角色中添加多个登录帐户。
  • 登录帐户在 SQL Server 实例中对所有可获得的数据拥有高级权限。
  • 在运行创建企业级地理数据库工具之前,必须创建登录帐户并将其添加到 sysadmin 角色中。
  • 如果使用的是本地而非域 Windows 登录帐户,则登录帐户仅存在于安装 SQL Server 的服务器上。因此,ArcGIS 客户端必须安装在同一服务器上,并且在以本地登录帐户登录该服务器时,必须执行所有地理数据库管理任务。

Dbo(映射到特定数据库的 dbo)

Windows 或 SQL Server 登录帐户

  • 地理数据库管理员可以在特定数据库中执行地理数据库和数据库管理。
  • 高级权限不会超出特定数据库。
  • 如果需要其他地理数据库管理员,则可以在 sysadmin 固定服务器角色中设置其他登录帐户,使他们也成为此数据库中的 dbo 用户。
  • 用户在数据库中拥有高级权限。
  • 在运行创建企业级地理数据库工具之前,必须创建登录帐户和数据库,而且必须将登录帐户设置为数据库的所有者。
  • 如果使用的是本地而非域 Windows 登录帐户,登录帐户仅存在于安装 SQL Server 的服务器上。因此,必须在同一服务器上安装 ArcGIS 客户端,并且以本地登录帐户登录该服务器时,必须执行所有地理数据库管理任务。

Sde

SQL Server 登录帐户

  • sde 用户仅需要在特定数据库中具有管理地理数据库的少量语句权限。
  • 在数据库中创建地理数据库时,可以通过创建企业地理数据库工具创建 sde SQL Server 登录帐户、数据库用户及方案。
  • 只有单点登录帐户可以映射到 sde 用户。
  • SQL Server 实例必须允许进行混合模式验证。
  • 必须由数据库管理员运行创建企业地理数据库工具。

Sde

Windows 登录帐户

  • sde 用户仅需要在特定数据库中具有创建和管理地理数据库的少量声明权限。
  • 您可以将现有域 Windows 登录帐户映射到 sde 用户。
  • 在 SQL Server 实例仅允许经 Windows 验证的站点中,可以使用经 Windows 验证的 sde 登录帐户。
  • 可能需要创建和管理与特定人员没有直接关联的 Windows 登录帐户。*
  • 在运行创建企业级地理数据库工具之前,必须创建数据库、sde 登录帐户、用户及方案。
  • 只有单点登录帐户可以映射到 sde 用户。
  • 您必须以 sde 登录帐户登录 Windows,才能运行创建企业级地理数据库工具。
  • 如果使用的是本地而非域 Windows 登录帐户,则登录帐户仅存在于安装 SQL Server 的服务器上。因此,ArcGIS 客户端必须安装在同一服务器上,并且以本地登录帐户登录该服务器时,必须执行所有地理数据库管理任务。

*大多数 Windows 登录帐户,尤其是域登录帐户,都属于特定人员。此人使用该登录帐户登录他或她的计算机并访问 Windows 应用程序,包括 SQL Server。因此,当此人登录计算机时,他或她将总是以 sde 用户连接地理数据库。为了避免这一点,可创建其他 Windows 登录帐户,从而为此人提供两个登录帐户。然而,这意味着当此人想要管理地理数据库时,必须在计算机上切换登录帐户。此外,许多站点都避免为同一个人创建多个登录帐户,因为这样往往会产生安全影响并增加登录帐户管理的复杂度。

相关主题

5/10/2014