6

SQL Server 2008 からデータベースをバックアップし、それを SQL Server 2005 にインポートする際に問題はありますか? SQL Server 2008 にアップグレードしましたが、2008 では問題が多すぎるように思われるため、ダウングレードしたいと考えています。これを行うことに問題はありますか?

4

4 に答える 4

0

これを行うもう 1 つの方法は、オブジェクト エクスプローラーを介して両方のサーバーに接続し、一方のサーバーから他方のサーバーにデータをインポートすることです。

ただし、これを行うと、正しく転送されないものがあります。たとえば、主キーと外部キーの設定、および自動インクリメントの設定を手動でリセットする必要がありました。とはいえ、すべてのデータを機能させるために支払う代償はわずかなものでした。

于 2009-05-11T19:52:34.723 に答える
0

問題は何ですか?アプリケーションに関するものであれば、データベースを SQL 2005 互換モードで実行できませんか。2005 年に移行する必要がある場合、データベースを 08 から 05 に復元するだけでは不十分です。

50MB を超える DB がある場合は、スクリプト生成ウィザードを使用してデータベース スキーマをスクリプト化し、すべてのキー、インデックス、トリガー、照合、およびデータを含まない全文インデックスをスクリプト化します。SQL 2005 バージョン オプションのスクリプトを確認することを忘れないでください。そのスクリプトを実行して、SQL Server 2005 に新しいデータベースを作成します。

テーブルにトリガーがある場合は、データをインポートする前にそれらをすべて無効にする必要があります。これらのスクリプトがそれを行います。これらはあなたのためにそれを行います

-- Disable Triggers
While @i <= @MaxI
Begin
      Select @dsql =  'DISABLE Trigger ' + TriggerName + ' ON ' + TableName
      From @DisableTriggers
      Where MyRowCount = @i
      Exec sp_executesql @dsql
      Select @i = @i + 1
End

-- Enable Triggers
While @i <= @MaxI
Begin
      Select @dsql =  'Enable Trigger ' + TriggerName + ' ON ' + TableName
      From @DisableTriggers
      Where MyRowCount = @i
      Exec sp_executesql @dsql
      Select @i = @i + 1
End

次に、インポート/エクスポート ウィザードを使用して、データをデータベースにインポートします。私の経験では、これはスクリプトをスクリプト化するよりもはるかに高速です。

于 2009-05-11T20:08:02.953 に答える
0

Microsoft ではサポートされていないため、SQL Server 2008 から取得した SQL Server データベースのバックアップを復元し、SQL Server 2005 に復元することはできません。データベースを上位バージョンから下位バージョンに復元できない理由を詳しく知るには、次の記事をお読みください。データベースをダウングレードする場合は、SQL Server Integration Services を利用できます。SQL Server 2008 データベースを SQL Server 2005 にダウングレードする例は、次の記事に記載されています。

于 2011-11-14T08:56:34.330 に答える