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 を使用して、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 6.0 と SQL Server 6.5 のネイティブ データ形式は SQL Server 2008 R2 ではサポートされていないため、SQL Server 2008 R2 のバージョンの bcp.exe では、-6 コマンド ライン オプションや、–V コマンド ライン オプションの 60 オプションや 65 オプションはサポートされていません。

注意

SQL Server 6.5 以前のバージョンで作成されたデータベース バックアップは互換性のない形式なので、SQL Server 2005 以降のバージョンでは復元できません。

アップグレード後のデータベース互換性レベル

tempdbmodelmsdb、および Resource データベースの互換性レベルは、アップグレード後、100 に設定されます。master システム データベースは、互換性レベルが 80 を下回っている場合は、アップグレード前の互換性レベルを保持します。アップグレード前の master の互換性レベルが 80 を下回っている場合は、アップグレード後、80 に設定されます。新しいユーザー データベースには、model データベースの互換性レベルが継承されます。

アップグレード前のユーザー データベースの互換性レベルが 80 または 90 の場合は、アップグレード後も互換性レベルは変わりません。アップグレード前の互換性レベルが 70 以下の場合、アップグレードされたデータベースの互換性レベルは 80 に設定されます。これは、SQL Server 2008 R2 でサポートされている下限の互換性レベルです。

注意

SQL Server 7.0、SQL Server 2000、または SQL Server 2005 の各データベースの SQL Server 2008 R2 での使用については、「ALTER DATABASE 互換性レベル (Transact-SQL)」を参照してください。