はい、知っています。SQL Server 6.52008年の実行中のコピーの存在はばかげています。
それが規定されていますが、からに移行するための最良の方法は何6.5ですか2005?直接の道はありますか?私が見つけたドキュメントのほとんどは、へのアップグレード6.5を扱ってい7ます。
ネイティブアップグレードユーティリティを忘れて、SQL Serverすべてのオブジェクトとデータをスクリプト化し、最初から再作成する必要がありますか?
私は今週末にアップグレードを試みるつもりでしたが、サーバーの問題により次の段階までアップグレードが延期されました。ですから、どんなアイデアでもその週の間に歓迎されます。
アップデート。これが私がそれをやった方法です:
- 問題のデータベースをバックアップし、マスターをオンにし
6.5ます。 - のマスターに対して'
SQL Server 2000sを実行します。これにより、のOLEDBプロバイダーがに接続できるようになります。instcat.sql6.5SQL Server 20006.5 SQL Server 2000のスタンドアロンを使用"Import and Export Data"してDTSパッケージを作成し、を使用OLEDBして6.5に接続します。6.5これにより、すべてのテーブルが新しい2005データベースに正常にコピーされました(これもを使用しますOLEDB)。- のEnterpriseManagerを使用
6.5して、データベースのすべてのインデックスとトリガーを.sqlファイルにスクリプト化します。 - 2005年のManagementStudioで、データベースの新しいコピーに対してその.sqlファイルを実行します。
- 6.5のEnterpriseManagerを使用して、すべてのストアドプロシージャをスクリプト化します。
.sqlデータベースに対してそのファイルを実行し2005ます。数十のsprocに問題があり、と互換性がありません2005。主non-ANSI joinsにとquoted identifier issues。.sqlこれらの問題をすべて修正し、ファイルを再実行しました。6.5のログインを再作成し、2005適切な権限を付与しました。
ストアドプロシージャを修正するときに少しすすぎ/繰り返しがありましたが(修正する手順は数百ありました)、それ以外の場合はアップグレードがうまくいきました。
Query Analyzerの代わりにManagementStudioを使用できることEnterprise Manager 6.5は、驚くべき違いです。で20〜30秒かかっていたいくつかのレポートクエリは6.5 database、変更や新しいインデックスなどを使用せずに、1〜2秒で実行されています。そのような即時の改善は期待していませんでした。