SQL Serverの古いバージョンへのバックアップの復元


29

バックアップをSQL Server Express 2008データベースに復元しようとすると、次のエラーが発生しました。

Restore failed for Server '...\SQLEXPRESS'.  (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600. 
That version is incompatible with this server, which is running version 10.00.2531. 
Either restore the database on a server that supports the backup, or use a backup 
that is compatible with this server. (Microsoft.SqlServer.Smo)

SQL Server Expressの新しい(私の場合は10.50.1600)バージョンから古い(私の場合は10.00.2531)バージョンと互換性のあるバックアップを取得する方法はありますか?

回答:


19

SSMSのインポート/エクスポートウィザードを使用してすべてを移行する必要があります。

ありません何の可能性「ダウングレードは、」バックアップ/復元またはデタッチ使用/取り付け


8

インポート/エクスポートウィザードを使用して、データベース間でデータを移動できます。

エクスポートするデータベースを右クリックし、[タスク]、[データのエクスポート]の順に選択します。ウィザードがプロセスをガイドします。

しかし、あなたは正しい。SQL Server 2008 R2からSQL Server 2008 Expressに移行するバックアップ/復元を行うことはできません。


6

唯一の方法は、10.00.2531バージョンで新しいデータベースを作成し、10.50.1600からデータをインポートすることです。

古いバージョンに戻すことはできません。


6

SQL Serverバックアップは後方互換性をサポートしていません

古いバージョンでDBを取得する手順-

  • スキーマの場合: データベースを右クリック->タスク->スクリプトを生成-> next-> next->詳細ボタンをクリック->「スクリプトへのデータのタイプ」オプションを「スキーマ」に変更- -> ok-> next-> next

  • データの場合: データベースを右クリック->タスク->スクリプトを生成-> next-> next->詳細ボタンをクリック->「スクリプトへのデータのタイプ」オプションを「データ」に変更- -> ok-> next-> next


この方法の問題の1つは、スクリプトを実行して復元する大きなデータベース(多くのテーブル、および巨大なデータ)に時間がかかることです。しかし、それは便利で簡単です
イマン

2

データベースを右クリック->タスク->スクリプトを生成-> next-> next->詳細ボタンをクリック->「スクリプトへのデータのタイプ」オプションを「スキーマとデータ」に変更- > ok-> next-> nextこれで、データベースとそのテーブルを作成し、その中にデータを入力するスクリプトができました:);)


2
データの量に応じて、そのスクリプトは巨大な可能性があり...
トーマス・ラシュトン

1
@ThomasRushtonこのスクリプトは、定義上、データベース自体よりも大きくなります。悪化していない場合は、少なくとも2倍になります。50 GBのデータベースではないことを願っています
...-ErikE

これは重複した回答です
ブルギ

これは重複した回答ではありません。データの種類が「スキーマANDデータ」である場合に最適な回答です。;-)これは私が必要なものです!
juFo

1
@Burgiこの答えはdsinghより古いです。彼は単にSarah'sをコピーし、2つのオプションを追加しました。1つはスキーマ用、もう1つはデータ用です。彼は複製です。
バッシャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.