はい、知っています。SQL Server 6.5
2008年の実行中のコピーの存在はばかげています。
それが規定されていますが、からに移行するための最良の方法は何6.5
ですか2005
?直接の道はありますか?私が見つけたドキュメントのほとんどは、へのアップグレード6.5
を扱ってい7
ます。
ネイティブアップグレードユーティリティを忘れて、SQL Server
すべてのオブジェクトとデータをスクリプト化し、最初から再作成する必要がありますか?
私は今週末にアップグレードを試みるつもりでしたが、サーバーの問題により次の段階までアップグレードが延期されました。ですから、どんなアイデアでもその週の間に歓迎されます。
アップデート。これが私がそれをやった方法です:
- 問題のデータベースをバックアップし、マスターをオンにし
6.5
ます。 - のマスターに対して'
SQL Server 2000
sを実行します。これにより、のOLEDBプロバイダーがに接続できるようになります。instcat.sql
6.5
SQL Server 2000
6.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秒で実行されています。そのような即時の改善は期待していませんでした。