質問
はい、知っています。の実行コピーの存在 SQL Server 6.5
2008年というのは不合理だ。
から移行するための最良の方法は何ですか? 6.5
に 2005
?直接的なパスはありますか?私が見つけたドキュメントのほとんどはアップグレードに関するものです 6.5
に 7
.
ネイティブのことは忘れたほうがいいでしょうか SQL Server
ユーティリティをアップグレードし、すべてのオブジェクトとデータをスクリプトで書き出して、最初から再作成してみますか?
今週末にアップグレードを試みる予定でしたが、サーバーの問題により次の週末に延期されました。したがって、今週中にどんなアイデアでも歓迎します。
アップデート。最終的に私がやった方法は次のとおりです。
- 問題のデータベースとマスターをバックアップします。
6.5
. - 実行する
SQL Server 2000
さんのinstcat.sql
に対して6.5
のマスター。これにより、SQL Server 2000
接続先の の OLEDB プロバイダー6.5
. - 使用
SQL Server 2000
のスタンドアロン"Import and Export Data"
DTS パッケージを作成するには、次を使用します。OLEDB
6.5に接続します。これですべてが正常にコピーされました6.5
のテーブルを新しいテーブルに2005
データベース (これも使用)OLEDB
). - 使用
6.5
の Enterprise Manager を使用して、データベースのすべてのインデックスとトリガーを .sql ファイルにスクリプト化します。 - 2005 の Management Studio で、データベースの新しいコピーに対してその .sql ファイルを実行します。
- 6.5 の Enterprise Manager を使用して、すべてのストアド プロシージャをスクリプト化します。
- それを実行してください
.sql
に対してファイルする2005
データベース。数十の sproc に問題があり、2005
. 。主にnon-ANSI joins
そしてquoted identifier issues
. - これらの問題をすべて修正し、再実行しました。
.sql
ファイル。 - を再作成しました
6.5
のログイン数2005
そして適切な権限を与えました。
ストアド プロシージャを修正するときに少し洗浄と繰り返しが必要でしたが (修正する必要のあるプロシージャは数百ありました)、それ以外はアップグレードはうまくいきました。
代わりに Management Studio を使用できるようにする Query Analyzer
そして Enterprise Manager 6.5
とても驚くべき違いです。いくつかのレポート クエリには 20 ~ 30 秒かかりました。 6.5 database
新しいインデックスなどを何も変更せずに、1 ~ 2 秒で実行できるようになりました。こんなにすぐに改善するとは思っていませんでした。
解決
ねえ、私もまだそのキャンプに閉じ込められています。私たちがサポートしなければならないサードパーティ アプリケーションはついに 2K5 に移行する予定なので、もう限界に近づいています。でもあなたの痛みはわかります 8^D
とはいえ、DBA から聞いたところによると、重要なのは、まずデータベースを 8.0 形式に変換してから 2005 に移行することです。これには組み込みの移行/アップグレード ツールが使用されたと思います。6.5 と 8.0 の間には大きなステップがいくつかありますが、6.5 から 2005 に直接移行するよりも、そこで解決する方が適切です。
まだご存じでなかった方にとって、最大の苦痛は、SSIS が優先されて DTS が廃止されたことです。既存の DTS パッケージを実行するシェル タイプのモジュールがありますが、SSIS ですべてを手動で再作成する必要があります。これが簡単かどうかはパッケージ自体の複雑さによって異なりますが、これまで仕事でいくつか実行しましたが、かなりスムーズでした。
他のヒント
6.5 を SQL Server 2000 にアップグレードできます。SQL Server または MSDE 2000 バージョンを入手する方が簡単かもしれません。Microsoftには次のページがあります 6.5から2000まで. 。データベースを 2000 形式にすると、SQL Server 2005 は問題なく 2005 形式にアップグレードできます。
SQL Server 2000 をお持ちでない場合は、 MSDE 2000 をダウンロードする Microsoft から直接提供されるバージョン。
私は決して権威があるわけではありませんが、サポートされている唯一のパスは 6.5 から 7 であると考えています。確かにそれが最も賢明なルートでしょう。そうすれば、ほとんど苦労せずに 7 から 2005 に直接移行できると思います。
すべてのオブジェクトをスクリプトで出力することについては、(データベースが本当に些細なものでない限り) 必ず何かを見逃してしまう可能性があるため、行わないことをお勧めします。
Visual Studio 6.0 のプロフェッショナル バージョンまたはその他のスーパー エンタープライズ バージョンを見つけた場合は、次のコピーが付属しています。 MSDE (基本的に SQL Express の前身です)。MSDE 2000 はまだ Microsoft から無料でダウンロードできると思いますが、6.5 から 2000 に直接移行できるかどうかはわかりません。
概念的には、おそらく危険に直面することはないと思います。しかし、長年の経験から、すぐには現れないオブジェクト、権限、その他のデータベース項目は常に見逃されることがわかります。ダンプ全体をスクリプト化できれば、その方が良いでしょう。何かを見逃す可能性が低くなります。また、何かを見逃した場合でも、簡単にスクリプトに追加して修正できます。私なら、疫病のような手動手順(Enter キーを 1 回押す以外)は避けたいと思います。