複製 SQL Server 7.0 或舊版的資料庫

本主題將討論如何移轉無法升級至目前版本的舊版 SQL Server 資料庫。

[!附註]

當您安裝 SQL Server 2008 R2 時,就會自動升級任何現有的 SQL Server 2000 或 SQL Server 2005 資料庫 (SQL Server 2008 資料庫已經與 SQL Server 2008 R2 相容)。若要複製已升級的資料庫,您可以使用支援 SQL Server 2008 資料庫的任何複製方法。如需詳細資訊,請參閱<複製資料庫至其他伺服器>。

SQL Server 7.0 資料庫

您可以使用下列其中一種方法,將 SQL Server 7.0 版的資料庫轉換成 SQL Server 2008 R2:

  • 將 SQL Server 7.0 資料庫升級到 SQL Server 2000 或 SQL Server 2005,其方式是將此資料庫附加到執行其中一個產品的執行個體。然後,您可以將資料庫升級到 SQL Server 2008 R2。一般來說,這是慣用的方法。

    如需有關使用附加來升級 SQL Server 2000 或 SQL Server 2005 資料庫的詳細資訊,請參閱<如何:使用卸離與附加來升級資料庫 (Transact-SQL)>。

  • 使用「SQL Server 匯入和匯出精靈」複製多個 SQL Server 執行個體間的資料。此精靈適用於有提供者的任何來源和目的地,但是可能會發生資料轉換問題 (視資料來源而定)。如需詳細資訊,請參閱<使用 SQL Server 匯入和匯出精靈移動資料>。

  • 移轉 SQL Server 7.0 中建立之資料庫的資料,如下所示:

    1. 使用 7.0 版的 bcp,透過 bcpout 命令將資料匯出到資料檔中。

    2. 使用 SQL Server 2008 R2 (10.50 版) 之 bcp 中的 bcp.exe 版本,透過 bcpin 命令匯入資料檔中的資料。如果此資料檔包含原生資料格式,請指定 -V70–n 選項,這樣會告訴 bcp in 作業使用 SQL Server 7.0 原生資料類型。

    如需詳細資訊,請參閱<從舊版 SQL Server 匯入原生與字元格式資料>。

SQL Server 6.0 或 SQL Server 6.5 資料庫

若要從 SQL Server 6.0 版或 SQL Server 6.5 版的資料庫移轉資料,請使用該 SQL Server 版本中的 bcp 公用程式,以字元模式將資料匯出到資料檔 (bcpout)。然後您可以將字元資料匯入到 SQL Server 2008 R2 資料庫,但是 SQL Server 2008 R2 並不支援 SQL Server 6.0 和 SQL Server 6.5 的原生資料。這表示,SQL Server 2008 R2 中的 bcp.exe 版本不支援 -6 命令列選項或是 –V 命令列選項的 6065 選項。

[!附註]

使用 SQL Server 6.5 或之前版本所建立的資料庫備份,其格式不相容,而且不能在 SQL Server 2005 及更新版本中還原。

升級後的資料庫相容性層級

tempdbmodelmsdbResource 資料庫的相容性層級在升級之後會設定為 100。master 系統資料庫會保有升級前的相容性層級,除非該層級小於 80。如果 master 的相容性層級在升級前小於 80,則會在升級後設定為 80。新的使用者資料庫會繼承 model 資料庫的相容性層級。

如果使用者資料庫的相容性層級在升級前為 80 或 90,則在升級後仍會保持相同。如果升級前的相容性層級為 70 或更小,則在升級後的資料庫中,相容性層級會設定為 80 (這是 SQL Server 2008 R2 所支援的最低相容性層級)。

[!附註]

如需有關在 SQL Server 2008 R2 上使用 SQL Server 7.0、SQL Server 2000 或 SQL Server 2005 資料庫的詳細資訊,請參閱<ALTER DATABASE 相容性層級 (Transact-SQL)>。