2

私はこのアプリの移行で数日間頭を悩ませてきました。私が持っているのは、SMSQLServer2005を実行しているWindows2003Serverにアップグレードされている古いMSSQLServer2000でサポートされているアプリケーションです。SQLServerについてはほとんど知りませんが、明らかに十分ではありません。

[データベース]->[データベース]->[すべてのタスク]->[データベースのバックアップ...]に移動し、[フル]を選択してファイルを保存することにより、古いサーバー上のデータベースをバックアップしてみました。そのバックアップファイルを新しいサーバーに移動して復元しようとしましたが、古いサーバー上の場所で[Database].mdfファイルを探していると文句を言いました。

そこで、データのエクスポートを試み、ローカルのSQL 2000データベースを選択し、それを別のマシンの新しいSQL 2005データベースにポイントしました。最後まで到達し、テーブルの1つがどのようになっているかについて不平を言って死にました。参加しています。

次に、2000ボックスで「GenerateSQL」コマンドを実行し、SQL2005で実行してみました。SQLServer2005でサポートされなくなった古い*=構文を使用した外部結合が多数あるようです。ベンダーデータベースは、これらのテーブルを設定したときの彼らの本当の意図が何であったかを知りません。

このデータベースの移行を試みる他の方法はありますか?

4

4 に答える 4

5

バックアップ ファイルには、そこに格納されているデータ ファイルの "ハード" な場所があります。それらを更新するだけです:

2005 年に復元する場合、復元するために最後の [OK] をクリックする前に (.bak ファイルを選択した後)、[オプション] タブに移動します。これには、バックアップ ファイルにあった mdf と ldf の場所が含まれます。これらを新しいマシンの正当なディレクトリに変更します。

于 2008-09-30T19:29:19.947 に答える
2

古いサーバーからデータベースを切り離し、mdf と ldf (およびその他の関連ファイル) をサーバー サーバーにコピーしてから、データベースを新しいサーバーに接続することができます。

アタッチすると、SQL Server はこれを 2005 形式のデータベースにアップグレードします。互換性に問題がある場合は、それも変更できます。SQL Server Management Studio で、データベースを右クリックし、[プロパティ]、[オプション] の順にクリックして、互換モードを [SQL Server 2000 (80)] に変更します。

于 2008-09-30T19:28:48.110 に答える
2

Peter が指摘したように、パスを新しいサーバーに存在する新しいパスに変更する必要があります。
この写真は役に立ちます:

戻す

私が何年も前に学んだトリックの 1 つは、最後のオプション ボタン (「データベースを読み取り専用のままにする ...」) を 1 分間クリックして、新しいサーバーのデータ ファイルの場所を表示およびコピーすることです。復元する前に最初のオプションに戻すことを忘れないでください

于 2008-09-30T19:44:21.333 に答える
0

SQL2000 のデータベースのバックアップをファイルに作成します。同じ名前で SQL2005 に新しいデータベースを作成し、オプション「既存のデータベースに復元を強制する」を使用してバックアップ ファイルを新しいデータベースに復元し、新しいデータベースの準拠レベルを「SQL2000 (8.0)」に設定します。

于 2010-12-16T14:21:08.247 に答える