SQLサーバー2008または2005年のデータベースのための互換性レベルをセットする方法

データを選んであるいはクエリーを実行するときに、Microosft SQLサーバー2008またはSQLサーバーで、2005年のデータベース、以下のエラー・メッセージあるいは障害は、返されるかもしれません:

ANSI以外の外側のクエリーが使う[マイクロソフト][ODBC SQLサーバー・ドライバー][SQLサーバー][メッセージ4147、レベル15、状態1、回線4]は、操作員に加わります(”*=”あるいは“=*”)。このクエリーを実行するために修正なしで、どうぞオルター・データベースのセットCOMPATIBILITY_LEVELオプションを使って、80に現在のデータベースのための互換性レベルをセットして下さい。外側のANSIを利用したクエリーが操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。将来のバージョンで
、SQLサーバー、非ANSI接合個所操作員は、後方互換性モードでさえサポートされないでしょう。


あるいは、

メッセージ4147、レベル15、状態1、回線3
ANSI以外の外側のクエリー使用は、操作員に加わります(”*=”あるいは“=*”)。このクエリーを実行するために修正なしで、どうぞ蓄えられた手順sp_dbcmptlevelを使って、80以下に現在のデータベースのための互換性レベルをセットして下さい。外側のANSIを利用したクエリーが操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。SQLサーバー、非ANSIのバージョンが加わる未来に、操作員は、後方互換性モードでさえサポートされないでしょう。

エラーがマイクロソフトがサポートをやめたので起こりますのためにそして、外側の削除された古い-様式*=と=*は、操作員に加わります。

SQLサーバーに上記のエラーを取りつけるために、管理者が80へのデータベース互換性レベルをセットする必要があるDB、SQLサーバー2000が一時の回避策としてのどちらの同等。もちろん、ソリューションが現在の標準のSQLをもつ接合個所操作員が加わる古い様式を取り去るためにSQLステートメントあるいはクエリー・コードを修正することであることが最もよいシンタックス。

例えば、以下のSQLクエリーは、妥当ではありません:

SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id *= v.object_id;

そして、以下のコードと入れ替えられるべきです:

SELECT o.name FROM sys.objects o LEFT JOIN sys.views v ON o.object_id = v.object_id;

あるいは、以下の短くされた内面の接合個所声明:

SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id = v.object_id;

誰can’tがコード、最も簡単な回避策を変える管理者のために、古い様式への後方互換性を提供するために、戻ることはデータベースの互換性レベルですか加わります。sp_dbcmptlevelが手順(不賛成の意を表された)をしまっておいてあるいはSQLを処理します確かな(部分的に、すべてではなく)データベースふるまいにSQLサーバーの以前のバージョンと互換性があらせるために使用されることができます。これMSDN記事 ふるまいがそれぞれの互換性レベルで変えられるもので概要を提供します。

それがあることができるサーバーがそこに戻るSQLのバージョンは、以下の1個であることができます:

60=SQLサーバー6.0
65=SQLサーバー6.5
70=SQLサーバー7.0
80=SQLサーバー2000
90=SQLサーバー2005
100=SQLサーバー2008

注:もはやSQLサーバー2008で利用できない互換性レベル60、65と70。そして、SQLサーバーの将来のバージョンは、後方互換性の2つのだけ(2)事前のバージョンをサポートするでしょう。指し示された眺めを含んでいるデータベースは、80よりも低く互換性レベルに変わることができません。本当にデータベースが後方互換性モードにセットされるときに、新しい機能の一部は、失われるかもしれません、例えば、SQL CLRサポートとSSMSがデータベースのために図解することをまた留意して下さい。のそばで、全体のサーバーのためにではなく、互換性モードは、単に指定されたデータベースのためのふるまいに影響します。

SQLサーバーで変化とセットの互換性レベルのデータベースへのステップ

以下のSQLコマンドは、SQLサーバー管理スタジオ・クエリー・ウィンドウで出されることができます。忘れずに実行しますそれぞれのコマンドを追い求めて下さい。

  1. 選択科目:データベースにユーザー・アクセス・モードを選抜させて下さい:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. データベース互換性が以前のバージョンの1つに平らにするセットは、上を述べました:

    SQLを処理します方法

    ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }

    例えば、

    私の_dbがCOMPATIBILITY_LEVEL=80をセットしたオルター・データベース

    sp_dbcmptlevelは、手順方法をしまっておきました

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    例えば、

    管理職sp_dbcmptlevel私の_db、90;

  3. 選択科目:マルチユーザー・アクセス・モードでデータベースを戻して下さい:

    ALTER DATABASE database_name SET MULTI_USER;

IMPORTANT:ページは、マシンが翻訳されて保証なしで「現状のままで」提供したということです。機械翻訳は、理解するのが難しいかもしれません。元のイングランドの記事を参照してください.  可能である時はいつも。


SQLサーバー2008または2005年のDatabase”のための互換性レベルをセットするために“Howへの1つの応答

  1. 不賛成の意を表されたSQL«ダニエルAdeniji’s跡の問題を扱うことのマイクロソフト–SQLサーバー–戦略
    2009年8月14日03:17
    1

    [...] 7) 私のデジタル人生。SQLサーバー2008または2005年のデータベースのための互換性レベルをセットする方法。http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-... [...]

返事を残します

あなたはこれらのタグを使うことができます:<ひとつのhref=""タイトル=""><abbrタイトル=""><頭文字語タイトル=""><b><blockquote=を引用します""><引用して下さい><コード><デルdatetime=""><em><i><q=を引用します""><攻撃><強いです>

機能が無効にされたコメントに同意して下さい。コメントがポストした最新の物の通知を受けるために、購読して下さい私のデジタル人生は、RSS食事を批評します あるいは受け取るレジ 毎日のEメールの新しいコメントは、消化します。
Custom Search

新しい記事

記事のための入って来る検索用語

ANSI以外の外側のクエリー使用は、操作員(「*=」または「=*」)に加わります。このクエリーを実行するために修正なしで、どうぞ蓄えられた手順sp_dbcmptlevelを使って、80以下に現在のデータベースのための互換性レベルをセットして下さい。外側のANSIを利用したクエリーが操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。SQLサーバー、非ANSIのバージョンが加わる未来に、操作員は、後方互換性モードでさえサポートされないでしょう。 - sqlサーバー互換性レベル - sqlサーバー2008互換性モード - sql 2008互換性モード - 互換性レベルsqlサーバー - SQL互換性レベル - sql互換性モード - ANSI以外の外側のクエリー使用は、操作員(「*=」または「=*」)に加わります。このクエリーを実行するために修正なしで、どうぞオルター・データベースのセットCOMPATIBILITY_LEVELオプションを使って、80に現在のデータベースのための互換性レベルをセットして下さい。外側のANSIを利用したクエリーが操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。SQLサーバー、非ANSIのバージョンが加わる未来に、操作員は、後方互換性モードでさえサポートされないでしょう。 - セットCOMPATIBILITY_LEVEL - 互換性モードのオプション100は、サポートされません - データベース互換性モードは、90にセットされます - sql 2005互換性モード - sqlサーバー2005互換性レベル - sql 2005互換性レベル - ANSI以外の外側のクエリー使用は、操作員(「*=」または「=*」)に加わります。このクエリーを実行するために修正なしで、どうぞ蓄えられた手順sp_dbcmptlevelを使って、80以下に現在のデータベースのための互換性レベルをセットして下さい。外側のANSIを利用したクエリーが操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。SQLサーバー、非ANSIのバージョンが加わる未来に、操作員は、後方互換性モードでさえサポートされないでしょう - すべて - sql 2008互換性レベル - データベース互換性レベル - sql互換性モード80 - sql 2008互換性 - sqlサーバー2008後方互換性 - 互換性_レベル・オプションをセットしました、データベースを変えて下さい - sqlサーバー互換性モード - sqlサーバー2005で互換性レベルをセットする方法 - 「互換性モードのオプション100は、サポートされません」 - セット互換性水準sql 2005 - 互換性_水準sqlサーバー - sqlサーバー2008互換性水準 - この質問を走らせるために修正なしで、どうぞ蓄えられた手順sp_dbcmptlevelを使って、80以下に現在のデータベースのための互換性水準をセットして下さい。外側のANSIを利用した質問が操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。SQLサーバー、非ANSIのバージョンが加わる未来に、操作員は、後方互換性モードでさえサポートされないでしょう。 - sqlサーバー2008 2005の互換性モード - 互換性レベルsqlサーバー2008 - ANSI以外の外側のクエリー使用は、操作員(「*=」または「=*」)に加わります。このクエリーを実行するために修正なしで、どうぞ蓄えられた手順sp_dbcmptlevelを使って、80以下に現在のデータベースのための互換性レベルをセットして下さい。外側のANSIを利用したクエリーが操作員に加わる書き直しにそれが強く勧められます(左の外側のJOIN、右OUTER JOIN)。SQLサーバー、非ANSIのバージョンが加わる未来に、操作員は、後方互換性モードでさえサポートされないでしょう。 - 変化sqlサーバー互換性レベル - ANSI以外の外側のクエリー使用は、操作員(「*=」または「=*」)に加わります。このクエリーを実行するために修正なしで、どうぞ蓄えられた手順sp_dbcmptlevelを使って、80以下に現在のデータベースのための互換性レベルをセットして下さい。それは、クエリーを書きなおすために、強く推薦されます - sqlサーバー2008互換性 - sqlサーバー2008互換性モード80 - sqlサーバー・セット互換性レベル - sqlサーバー互換性レベル - どうぞ80以下に現在のデータベースのための互換性レベルをセットして下さい - このクエリーを実行するために修正なしで、どうぞ80に現在のデータベースのための互換性レベルをセットして下さい - sql命令変化互換の6.5 7 - どうぞ80に現在のデータベースのための互換性水準をセットして下さい - sqlサーバーcompatability水準 - 互換性水準 - SQLサーバー7.0互換性 - 2008とのsql後方互換性 - 互換性モードSQLサーバー2008 - SQLサーバー2008 DBの互換性モード100 - SQLSERVER互換性レベル - sqlセット互換性モード -