質問

MSSQLを使用するアプリケーションがあり、2005年に移行するとき、基本的にはクライアントに後方互換性パッケージを適用することをお勧めします。 2005年。 考えていた 1.互換性レベル:SQL Server 2005(90) 2. DMO参照を削除し、SMOに置き換えます 3. ADOを使用して接続する

これが正しい答えかどうかわかりません。

正しい解決策はありません

他のヒント

実際には、2つの異なることについて話している。

1つは、データベースをSQL 2005レベルに更新して、そこでのみ使用可能な機能を使用できるようにすることです。互換性レベルを設定することで簡単に行えます。ただし、この場合、SQL 2000クライアントでは問題が発生する可能性があります。

2番目は、SQL 2005関連のライブラリのみを使用するようにアプリケーションをアップグレードすることです。これも簡単で、基本的にはあなたが書いたステップです。この場合、ライブラリは下位互換性があるため、アプリケーションはSQL 2000データベースでも使用できます(SQL 2005固有の機能を使用する場合を除く)。

終わりの言葉:あなたはSQL 2005と互換性のどちらかであり、唯一の違いはSQL 2005の特定の機能を使用できるかどうかです。

SQL 2008に既に変更しないのはなぜですか? このトピックに関するスレッドをご覧ください。

本当に互換性があるかどうかを確認するには、後方互換性パッケージなしでSQL 2005サーバーでアプリを実行するしか方法がありません。完全なテストスイートがある場合、それは大いに役立ちますが、すべてのバックエンドコードがヒットして正常に実行されることを確認する必要があります。

私はSQL 2000とSQL 2005を使用するアプリケーションで作業しましたが、バージョンの切り替えが必要なアプリの一部は、SQL Serverのシステムテーブルを使用して実行時にテーブルを動的に検出する必要がある毛深いリフレクションコードにありました。私たちの解決策は動的SQLを使用することでしたが、アプリとユーザーに対して正しい選択をする必要があります。

後方互換性の修正を適用せずに「すぐに使える」SQL 2005構成で正しく実行される場合、アプリは100%SQL 2005互換です。

DTSパッケージがある場合は、完全に互換性を保つためにSSISパッケージに変換する必要があります。

完全に互換性があることを本当に確認したい場合は、廃止予定の機能をドキュメントで確認し、使用している機能がある場合は、今すぐ修正してください。

Youは、2000年にはなかったピボット機能を使用できるコードも調べます。古いコードは機能しますが、ピボットコードの方がより適切で、おそらくより効率的です。他の新機能についても同じことが言えます。それらをどのように回避して修正したかを確認してください。考慮すべき大きな点の1つは、新しいデータ型varchar(max)を使用してテキストファイルを削除できるかどうかです。次に、比較を行うために、varcharに変換していたコード内の場所を探します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top