SQL Server 中移动地理数据库 (geodatabase) 的其他方法
在 Microsoft SQL Server 中可通过多种方法移动数据库。这些方法包括使用分离和附加操作、备份和还原操作或者“复制数据库”向导。
无论使用哪种方法移动 SQL Server 数据库,都不能对数据库重命名。例如,在还原数据库时,您可以用其他名称来还原数据库。但建议您不要对地理数据库进行这种操作;否则将无法与其建立连接。
地理数据库系统表中的所有对象名称都是通过数据库名称进行完全限定的。此外,许多存储过程在其代码中使用三部分命名语法,其格式为 <数据库>.<所有者>.<对象>。如果数据库名称发生了更改,您将无法执行此类过程。
如果当前使用的是多空间数据库实例(即 SDE 数据库和其他数据库都是单个地理数据库的一部分),则必须移动整个地理数据库。此时,必须考虑 ArcSDE 和地理数据库表中引用的所有数据库,否则可能会导致目标数据无法操作。
使用分离和附加操作
要移动 SQL Server 数据库中存储的地理数据库,最简便的方法就是将数据库从源服务器中分离,然后将其附加到目标服务器。请记住以下几点
- 分离时,任何用户都不能连接到该数据库。
- 分离操作会将数据库彻底关闭。
- 分离/附加操作比数据库备份和还原操作要快。
- 使用分离/附加操作将会在源服务器和目标服务器上创建相同的数据库。
- 该方法适合移动大量的数据。
- 要从 SQL Server 实例中分离数据库,必须至少对该数据库拥有 db_owner 权限。
- 必须拥有 CREATE DATABASE 权限才能将数据库附加到 SQL Server 实例。
- 对于通过 ArcGIS Server 企业级获得许可的 SQL Server ArcSDE 地理数据库,您可使用 CREATE DATABASE FOR ATTACH SQL 命令来指定所有数据和日志文件。
还原其他数据库的备份
另一种移动 SQL Server 数据库的方法是,创建数据库的完整备份,然后将该备份文件还原到目标服务器。请记住以下几点:
- 在还原操作期间,不能更改逻辑文件名。
- 备份过程中可附加用户,但还原过程不可附加用户。
有关还原 ArcSDE for SQL Server 数据库的备份的详细信息,请参阅 SQL Server DBMS 文档。
复制数据库向导 (Management Studio)
仅适用于使用 ArcGIS Server Enterprise 许可创建的地理数据库
SQL Server Management Studio(SQL Server 2005 和 2008)提供的“复制数据库”向导可用于移动数据库。使用“复制数据库”向导时要考虑以下几个方面:
- 可复制多个数据库。
- 不能使用“复制数据库”向导在同一实例中建立数据库的副本。
- 不能从“复制数据库”向导中排除用户登录信息,所以这些信息会与新服务器用户 ID (SID) 一起传递到复制的数据库。
- 该向导要求源服务器与目标服务器相连。