1

多くの廃止された機能が使用されているため、SQL Server 2008 R2は互換モード80(2000)で実行されています。当初は2000の機能しか使えないと思っていたのですが、嬉しい驚きとしてCTEの作品を見せてくれたので、これはスーパーセットのケースだと思いました。2000、2005、2008、およびR2のすべての機能にアクセスできますが、最近DMV / DMFで遊んでいたときに、sql_handleをsys.dm_exec_sql_textに渡そうとしましたが、機能しませんでした。グーグル/ひき逃げを少しすると、互換モード80では機能しないため、互換モードを変更する必要があることがわかりました。互換モード80(2000)で2008 r2を使用すると、どの機能にアクセスできるのでしょうか。

この互換モードはSSISにも適用されますか?

4

2 に答える 2

0

コメントから、それは部分的な下位互換性であることがわかります。したがって、私のシナリオでは、2000のすべての機能と2008の一部の機能を取得します。

于 2012-08-13T06:44:50.357 に答える
0

特定の互換モードで機能する言語機能の正確なセットは、ホスティングサーバーのレベルによって異なります。たとえば、SQL Server 2005で実行されているデータベースの互換性レベル80は、SS2008R2で実行されている同じレベルのデータベースとはいくつかの違いがある場合があります。

基になるクエリプランナーおよびデータベースエンジンの他の側面は、互換性レベルを変更しても変更されませんが、文書化されていないデフォルトの状況の一部は異なる動作をする可能性があります。たとえば、悪い選択であったとしても、一部の開発者はSQL Server 2000データベースの行のデフォルトの順序に依存していましたが、そのデフォルトの順序は文書化されていないため、2005年に変更され、そのデータベースが2005で実行されたときに問題が発生しました。もちろん、デフォルトの順序に依存することは、とにかく大したことではありませんが、これは、基になるエンジンが変更された例ですが、実際に実行されたコードは変更されませんでした。

これに完全に答える必要があるのは、SQL Serverのすべてのバージョンについて、互換モードでサポートされているすべてのバックレベルバージョンを一覧表示し、SQL Serverバージョンがサポートしている各レベルについて、すべての言語の完全な一覧を表示することです。その特定のレベルのサーバーで、その互換性レベルでサポートされている機能と許可されていないすべての機能(後のレベルで許可される可能性があります)。

後の機能が低レベルで許可されている例をいくつか見つけましたが(2008R2では互換性80データベースでのスロー/キャッチが可能です)、決定的なリストに近いものは見つかりませんでした。これは役に立ちます。

于 2018-07-17T17:27:23.647 に答える