在 Microsoft SQL Server 中,从多重数据库模型迁移到单一数据库模型时共有三个选项。
- 将所有用户数据移动到 sde 数据库。
- 创建一个单一模型地理数据库并将所有数据移入其中。
- 创建多个单一模型地理数据库,并将数据从每个用户数据库移入每个新的独立地理数据库中。
将所有用户数据移动到现有的 sde 数据库
如果不需要将数据保存在单独的数据库中,但需要保留现有的连接,请将现有数据移入 sde 数据库中。
如果满足以下条件,则可以执行此操作:
- 您将使用多重空间数据库模型,只是因为在 ArcSDE 9.0 之前这是首次创建地理数据库时唯一可用的选项。
- 您需要将所有数据放在同一个地理数据库中,以便可以连接和关联表。
- 您希望用户继续使用他们一直在用的连接信息。
- 您已从现有的地理数据库发布了服务。
要将数据从用户数据库移入 sde 数据库中,请执行接下来四个部分中的步骤:
获取对基表的所有编辑内容并删除版本
如果您现有的地理数据库已版本化,则必须将编辑内容从增量表移动到基表并删除所有命名版本。
配置 sde 数据库以允许数据所有者创建数据
- 在 sde 数据库中为每个将在用户数据库中拥有数据的用户创建方案。
方案名称必须与用户名称相同。
- 授予用户在 sde 数据库中的数据创建者权限。
移动数据并授予权限
移动数据时登录到 sde 地理数据库的用户都将拥有 sde 地理数据库中的数据。 因此,如果希望相同的用户拥有以前的数据,则每个用户都必须连接并移动其自己的数据。
- 数据所有者必须从 ArcMap 连接到 sde 数据库和用户数据库。
- 注意具有数据访问权限的用户及其拥有的权限,因为您必须在将数据移入 sde 数据库中后重新授予权限。 要查看权限,请右键单击目录树中的每个要素类或表,指向管理,然后单击权限。
- 数据所有者可以使用以下任一选项移动数据:
- 移动完数据后,数据所有者必须向其他用户重新授予对这些数据的权限。
删除用户数据库
将所有数据移入 sde 数据库后,便可删除用户数据库。
将所有数据移动到一个新的单一模型地理数据库
如果希望从新数据库开始且不需要将数据保存在单独的数据库中,则可以创建单一模型地理数据库并将所有数据移动到该地理数据库中。
如果满足以下条件,则可以执行此操作:
- 您将使用多重空间数据库模型,只是因为在 ArcSDE 9.0 之前这是首次创建地理数据库时唯一可用的选项。
- 您需要将所有数据放在同一个地理数据库中,以便可以连接和关联表。
- 用户可以创建到新地理数据库的新连接文件。
- 您未从旧的地理数据库发布服务。
要创建新的单一模型地理数据库并将数据移入其中,请执行接下来四个部分中的步骤:
获取对基表的所有编辑内容并删除版本
如果您现有的地理数据库已版本化,则必须将编辑内容从增量表移动到基表并删除所有命名版本。
创建并配置地理数据库
创建数据移动的目标地理数据库,创建用户,设置用户方案并授予数据库权限。
将数据移入新的地理数据库中并授予权限
移动数据后登录到新地理数据库的用户都将拥有数据。
- 每个数据所有者都必须从 ArcMap 连接到旧地理数据库和新地理数据库。
- 注意具有数据访问权限的用户及其拥有的权限,因为您必须在将数据移入新地理数据库中后重新授予权限。 要查看权限,请右键单击目录树中旧地理数据库中的每个要素类或表,指向管理,然后单击权限。
- 数据所有者可使用三种方式移动数据:
- 移动完数据后,数据所有者必须向其他用户重新授予对这些数据的权限。
- 所有其他用户都必须创建到新地理数据库的新连接,并且现有 ArcMap 文档(MXDS 和 MSDS)中的数据必须映射到新的数据源。 如果这些地图作为服务发布,您必须重新发布这些服务。
删除旧地理数据库
一旦在新的地理数据库中对数据进行了移动和测试,便可删除旧的多重数据库模型地理数据库。
将每个用户数据库移动到其自己的单一模型地理数据库中
如果先前使用用户数据库将数据分组到不同的部门或项目,则可以将数据从每个用户数据库移入各个单一模型地理数据库中。
如果满足以下条件,则可以执行此操作:
- 您的用户数据库用于分组不同类型的数据,并且您要保持此行为。
- 您只需连接并关联可放置在同一个地理数据库中的表即可。
- 用户可以创建到新地理数据库的新连接文件。
- 您未从旧的地理数据库发布服务。
要创建多个单一模型地理数据库并将数据从每个用户数据库移入新地理数据库中,请执行接下来四个部分中的步骤:
获取对基表的所有编辑内容并删除版本
如果您现有的地理数据库已版本化,则必须将编辑内容从增量表移动到基表并删除所有命名版本。
创建地理数据库
为您之前拥有的每个用户数据库创建地理数据库,创建用户,设置用户方案并授予权限。
- 在 SQL Server 中为您先前在多重模型地理数据库中拥有的每个用户数据库创建一个新地理数据库。
- 向每个新地理数据库添加其他用户和角色。
- 如果您之前使用 SQL 创建将会拥有数据的用户,请在每个数据库中为这些用户创建方案。
方案名称必须与用户名称相同。
- 对于那些将在每个新地理数据库中拥有数据的用户,授予他们数据创建者权限。
将数据移入每个新的地理数据库中并授予权限
移动数据时登录到每个地理数据库的用户将拥有此地理数据库中的数据。
- 每个数据所有者都必须从 ArcMap 连接到旧地理数据库和新地理数据库。
- 注意具有数据访问权限的用户及其拥有的权限,因为您必须在将数据移入新地理数据库中后重新授予权限。 要查看权限,请右键单击目录树中旧地理数据库中的每个要素类或表,指向管理,然后单击权限。
- 数据所有者可使用三种方式移动数据:
- 移动完数据后,数据所有者必须向其他用户重新授予对这些数据的权限。
- 所有其他用户都必须创建到新地理数据库的新连接,并且现有 ArcMap 文档(MXDS 和 MSDS)中的数据必须映射到新的数据源。 如果这些地图作为服务发布,您必须重新发布这些服务。
删除旧地理数据库
一旦在新的地理数据库中对数据进行了移动和测试,便可删除旧的多重数据库模型地理数据库。