在 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) 一起傳遞到複製的數據庫。
- 該向導要求源服務器與目標服務器相連。