2

テスト マシンと運用マシンにデータベースを展開しています。テスト用データベースには、運用環境にコピーしたいデータ (テーブルの列) があります。

本番ボックスにバックアップを復元しようとすると、次のエラーが表示されます。

System.Data.SqlClient.SqlError: データベースは、バージョン 10.50.1600 を実行しているサーバーでバックアップされました。そのバージョンは、バージョン 10.00.4000 を実行しているこのサーバーと互換性がありません。バックアップをサポートするサーバーでデータベースを復元するか、このサーバーと互換性のあるバックアップを使用してください。(Microsoft.SqlServer.Smo)

テーブルにデータを取得する別の方法はありますか?

4

6 に答える 6

3

この回答は、データが必要な場合のみです (ここから: http://sqlserverlearner.com/tag/the-database-was-backed-up-on-a-server-running-version-10-50-1600-that- version-is-incompatible-with-this-server ):

  • 必要なオブジェクト (テーブルとデータ) のスクリプトをタスクの下に作成し、スクリプトを生成してオブジェクトを選択し、すべてのデータ (場合によってはスキーマも) が含まれていることを確認します。これを新しいクエリ ウィンドウに移動し、SQL ファイルを保存してから、他のサーバーで実行します。
于 2013-02-06T17:05:08.790 に答える
0

you can use redgate toolbelt tool kit to sync data between different version of sql server or sql server to sql azure or sql azure to sql server database . it is very very easy to use .

于 2013-02-06T18:50:53.877 に答える
0

あなたは出来る

  • 問題のデータのINSERTステートメントを生成します
  • テストから他のサーバーへのリンクサーバーを作成し、それに対してSQLステートメントを実行します
  • ターゲットサーバーを2008R2にアップグレードします(これは簡単なことではありません)

環境を同じバージョン/リビジョンに保つ必要があります。SQLServerの復元には下位互換性がありません。

于 2013-02-06T17:00:04.800 に答える
0

これは、データベースの復元中の sqlserver バージョンの不一致の問題です。これは、データベース サーバー 2008 を 2005 に復元できなかったことを意味します。上位バージョンから下位バージョンへのサポートはありません。

以下のオプションが利用可能です。

  1. サーバーをリンクして、あるサーバーから別のサーバーにテーブルを移動できます

  2. SQL スクリプトを生成し、ターゲット データベースで実行する

以下の URL を使用して挿入スクリプトを生成し、生成されたスクリプトをターゲット サーバーに実行します。

http://www.codeproject.com/Articles/5598/Generating-INSERT-statements-in-SQL-Server

于 2013-02-06T17:01:43.423 に答える
0

データを使用して生成スクリプトを使用すると、MSSQL のバージョンを選択できます。次に、出力された SQL を必要なサーバーで実行します。

于 2013-02-06T17:02:18.087 に答える
0

実稼働サーバーをテスト環境に合わせてアップグレードするのが理想的です。そうしないと、テストが常に代表的なものになるとは限りません。

ただし、バージョンが異なる場合、データベースを古いバージョンの SQL サーバーに復元することはできません。generate scripts コマンドを使用して新しいテーブルを作成し、データを挿入するか、SQL 比較/データ比較などのツールを使用する必要があります。 RedGate がこれらすべてを行います。

于 2013-02-06T17:06:03.323 に答える