64

SQL Server 2008 で SQL Server 2012 のバックアップを (少なくとも簡単に) 復元できないことはわかっています。

データベース レベルでは、互換モードを他の SQL Server バージョンに調整するためのプロパティがあります。

これはどのように役立ちますか? 2014 年の機能のみを許可しないのですか?

正直なところ、私はすでにバックアップを復元しようとしましたが、2012 はデータファイルを認識しなかったため、クリックok Buttonして復元手順を開始することができませんでした。

重要なオプションを見逃していませんか?

4

2 に答える 2

82

これを行うことはできません。新しいバージョンの SQL Server から古いバージョンにデータベースをアタッチ/デタッチしたり、バックアップ/復元したりすることはできません。内部ファイル構造違いすぎて、下位互換性をサポートできません。これは、SQL Server 2014 でも当てはまります。別の 2014 ボックス (またはそれより新しいもの) 以外に 2014 バックアップを復元することはできません

この問題を回避するには、

  • すべてのマシンで同じバージョンの SQL Server を使用している場合、インスタンス間でデータベースを簡単にバックアップ/復元できます

  • Tasks > Generate Scriptsそれ以外の場合は、SQL Server Management Studio ( ) またはサードパーティ ツールを使用して、構造 (テーブル、ビュー、ストアド プロシージャなど) とコンテンツ (テーブルに含まれる実際のデータ) の両方のデータベース スクリプトを作成できます。

  • または、Red-Gate のSQL CompareSQL Data Compareなどのサードパーティ ツールを使用して、ソースとターゲットの間で「差分」を作成し、それらの違いから更新スクリプトを生成してから、それらのスクリプトをターゲット プラットフォームで実行することもできます。これは、さまざまな SQL Server バージョンで機能します。

互換モードの設定は、使用できる T-SQL 機能を制御するだけです。これにより、他のサーバーでは使用できない新しい機能を誤って使用することを防ぐことができます。ただし、ファイルの内部ファイル形式は変更されませ.mdf。これは、その特定の問題の解決策ではありません。古いインスタンスで新しいバージョンの SQL Server からバックアップを復元する解決策はありません

于 2014-07-30T17:25:17.277 に答える
32

確かに可能です...ソースオプションでエクスポートウィザードを使用します SQL SERVER NATIVE CLIENT 11を使用し、後でソースサーバーex.192.168.100.65\SQLEXPRESSを使用します 次のステップで新しい宛先サーバーex.192.168.100.65\SQL2014を選択します

必ず正しいインスタンスを使用し、相互に接続してください

Stored procs must be recompiled に注意してください

于 2015-05-28T15:25:02.603 に答える