質問

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

役に立ちましたか?

解決

さて、あなたは、SQL 2005のサーバーに2008バックアップを復元することはできません。

それを行うには、

最も簡単な方法は、データベースを作成するために、SQL 2005上で実行することができます(スキーマとデータを含む)のスクリプトを作成するには、「SQL Serverスクリプトの生成」ウィザードを使用することです。 http://www.devx.com/dbzone/Article/40531する

しかし、元の問題に:?あなたはSQL 2008で持っているかの問題

他のヒント

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

これを実行すると、

、いくつかのものは、しかし、正しく転送されません。例えば、私は手動でプライマリおよび外部キーの設定だけでなく、自動インクリメント設定をリセットする必要がありました。それは仕事にすべてのデータを取得するために、しかし、支払うために小さな価格だっます。

私は問題が何であるかを同意するだろうか?それはアプリケーションについての何かがある場合は、SQL 2005互換モードでデータベースを実行することはできません。あなたは2005年に移動する必要がある場合は、あなただけの08から05にデータベースをリストアカントます。

あなたは50メガバイトよりも大きいか、私はスクリプトスクリプト生成ウィザードを使用して、データベースのスキーマ、スクリプトのすべてのあなたの鍵、インデックスを、希望照合し、データなしで持っているすべてのフルテキストインデックス、トリガ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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top