2009-11-16 22 views
5

データベース全体をSQL Server 2008マシンからSQL Server 2000マシンに移動する必要があります。SQL Server 2000データベースをSQL Server 2000に復元する

私はManagement Studio 2008を使用してバックアップを作成し、それを2000ボックスのハードドライブにコピーし、Management Studio 2008を使用して2000データベースボックスにリストアを選択します。

「デバイス上のメディアファミリが間違って形成されています.SQL Serverはこのメディアファミリを復元できません」というエラーメッセージが表示されます。

私はEnterprise Manager 2000を使用する場合、同じエラーが発生します。

データベース全体を新しいSQLサーバーから古いものに移動する方法はありますか?

答えて

10

私が考えることができるのは、構造全体を再作成し、ライブデータベースからデータをコピーすることだけです。したがって、テーブル、ビュー、およびspを作成するスクリプトを作成し、既存のデータベースからデータをコピーするスクリプトを作成します。

+1

私はこれを自分でやってしまった。私がそれを行うために見つけた唯一の方法は、データベース全体(データを含む)をスクリプト化し、ターゲットマシン上でスクリプトを実行することでした。 2008年のDBは2000年には実行されないスクリプトを作成する可能性があります(私はそうでした)ので、2000年に実行する前にスクリプトを編集する必要があります。開始する前にタイレノールで購入してください。がんばろう。 – BoltBait

+4

はい、これが唯一の方法です。 SQL Serverは過去に互換性がありませんでした。古いバージョンのサーバーに新しいバージョンを復元することはできませんでした。私はこれが変わる可能性が高いとは思わない –

0

DB管理者ツールからSQL文のダンプを生成し、それらのクエリを対象の古いデータベースで再実行することによってのみ行うことができると聞いたことがあります。

+1

もちろん、スクリプトツールは2000が認識できないものを置くので、それらを手で操作する必要があります。 – HLGEM

1

バックアップを新しいバージョンから古いバージョンに移動することはできません。その場合、データベースをスクリプト化して2000年のボックスで実行し、標準のデータ転送を使用して任意のデータを転送します。

0

データベース内のすべてがSQL 2000で有効である限り、すべてのオブジェクトを再作成し、すべてのデータを転送するスクリプトを生成できます。したがって、ROW_NUMBER()、PARTITION、CTE、datetime2、hierarchyはありませんいくつかの他のフィールドタイプ、EXECUTE AS、その他多くの利点があります。基本的に、あなたのデータベースがかなり基本的でない限り、それは可能ではありません。

1

マシン間のネットワーク接続がある場合は、SSISを使用します。はるかに簡単で、はるかに少ないです。

1

あなたは、データベースのスクリプトジェネレータを使用して、プロパティで選択することができますが形成:一般 - >スクリプトサーバ・バージョンのために:SQL Serverの2000

は、スクリプト・ジェネレータは、あなたのサーバのバージョンと互換性のないものが表示されます。

2

すでに述べたように、これを行うデフォルトの方法はありません。それはちょうどサポートされていません。これを適切に行い、移行の問題を回避する方法の詳細については、ここをクリックしてください。

構造体とデータ用のスクリプトを生成し、SQL 2000で実行する必要があります(すでに述べたように)が、考慮する必要があります。

SQL 2000の地理型の列のようなものを作成しようとしたときの問題を回避するために、SQL 2000用のスクリプトデータのためのオプションをチェックすることを確認しますSSMS

  • でスクリプトを生成します。
  • これは、中規模のデータベースへの小型のための偉大なオプションであり、SQL Serverの(依存関係、バージョンなどとの違い)

    のいくつかの知識が必要で、依存関係に基づくエラー

を避けるために、スクリプトの実行順序を確認することを確認します

サードパーティ製ツール

  • アイデアは、このようなApexSQL Diffやなどのサードパーティのデータベースの比較ツールを使用することです0
  • 良い面は、これらのスクリプトの実行のケアとバージョンの違いを取るということです
  • 試用後にこれらのためにお金を払う必要がありますという事実は、私はこれらの2つのツールを使用しました
  • 終了されてあまり良くありませんしかし、あなたは市場の他のツールで間違っていることはできません。 Hereは、このカテゴリの他のツールの一覧です。
0

同様の状況があります。非常にローテクが、便利なソリューションです:

  1. バックアップとSQL 2000
  2. のテーブルがへのsysobjectsで選択クエリを実行するSQL 2000
  3. を指し、SQL 2008でリンクサーバーを作成切り捨てますinsert into LINKED SERVER.table select * from table
  4. クエリスクリプトを実行するためのクエリスクリプトを生成します。
関連する問題