SQL 2008を使用して構築されたデータベースファイルは2005と互換性がありません。回避策はありますか?
サードパーティのツールは必要ありません。 SQL Server 2008 Management Studioは、「スクリプトデータベース」ウィザードに「スクリプトデータ」オプションを追加したため、データベースをダウンコンバートするための非常に強力なツールを提供してくれました。
SQL2008 SSMSでDBを右クリックし、[タスク]、[スクリプトの生成]の順に移動します
ウィザードをウォークスルーし、テーブル/ビューオプションの下の「スクリプトデータ」で「True」を選択していることを確認します。すべてのオブジェクトを選択し、それが2005サーバーで作成するスクリプトを実行します。 (元のデータベースが非常に大きい場合、作成されるスクリプトは大規模になる可能性があることに注意してください!)
SQL2005サーバーに対してウィザードを実行して、SQL2005データベースをSQL2000にダウンコンバートすることもできます(もちろん、ワークステーションに2008ツールをインストールする必要があります)。
1つのSQL Serverインスタンスから別のインスタンスにデータをBCPできます。これは、あるバージョンから別のバージョンにデータをコピーする最も速い方法です。データ量によっては時間がかかる場合があります。
残念ながら、2008年の形式から2005年の形式にDBをダウングレードする直接的な方法はありません。
私がこれを過去に行った方法(実際には古いバージョンのSQLサーバーを使用していますが、プロセスは同じです)は次のとおりです。
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
インスタンスをそのようにリンクしている場合)最初にデータをコピーし、ステップ3の後に他のすべての構造(インデックス、プロシージャ、トリガーなど)を追加する方が効率的です。これにより、制約とトリガーによって引き起こされる行挿入の順序付けの問題を回避し、すべてのデータが追加されるため、理論的にはそれらを構築するよりも速く終了する必要があります。ただし、テーブルにクラスター化インデックスがある場合、データを追加する前にこれらを作成してから、データを追加すると、作成後の作成が速くなります。
もちろん、これはすべてのオブジェクトがSQL 2008固有の機能を使用していないことを前提としています。これらの機能を使用すると、スキーマの再構築時にエラーが発生した場合に、そのようなことを見つけて修正できます。コードのいずれかが、SQL Serverのバージョン間で異なる公式に定義されていない動作に依存している場合は、さらに微妙でわかりにくいバグを見つけて、後で解決することができます。
同様の状況に直面し、データベース公開Wizard=を使用して、SQL Server 2008データベースからSQL Server 2005のスキーマとデータをスクリプト化しました。
まず、データベースをスクリプト化し、ダウングレードするタイプを指定するバージョンで確認する必要があります。そして、上位バージョンから下位バージョンにデータをコピーするために、SQLデータ比較はあなたのためのトリックを行います。
幸運を!