次の方法で共有


Transact-SQL IntelliSense のトラブルシューティング

状況によっては、IntelliSense オプションが正しく機能しないことがあります。

IntelliSense が影響を受ける状況

次の場合に IntelliSense の動作が影響を受ける可能性があります。

  • カーソルよりも上にコード エラーがある場合

    挿入ポイントの位置よりも上に不完全なステートメントや他のコーディング エラーがあると、IntelliSense は、コードの要素を解析できないので正しく機能しないことがあります。IntelliSense を再び有効にするために、該当するコードをコメント化できます。

  • コードのコメント内に挿入ポイントがある場合

    挿入ポイントがソース ファイルのコメント内にある場合は、IntelliSense オプションを使用できません。

  • 文字列リテラル内に挿入ポイントがある場合

    挿入ポイントが引用符で囲んだ文字列リテラル内にある場合は、IntelliSense オプションを使用できません。以下はその例です。

    WHERE FirstName LIKE 'Patri%|'

  • 自動オプションがオフになっている場合

    既定では、IntelliSense の多くの機能が自動的に実行されるようになっていますが、各機能を無効にすることもできます。

    自動入力候補機能を無効にしている場合でも、IntelliSense 機能を使用することは可能です。詳細については、「IntelliSense オプションを変更する方法」を参照してください。

データベース エンジン クエリの IntelliSense

SQL Server データベース エンジン クエリ エディターに関しては、次の点に注意してください。

  • データベース エンジン クエリ エディターの IntelliSense 機能では、すべての Transact-SQL 構文要素がサポートされているわけではありません。パラメーターのヘルプでは、拡張ストアド プロシージャなど、一部のオブジェクトのパラメーターがサポートされていません。詳細については、「IntelliSense でサポートされている Transact-SQL 構文」を参照してください。

  • IntelliSense は、データベース エンジンのクエリ エディターが SQL Server 2008 データベース エンジンのインスタンスに接続されている場合にのみ使用できます。Intellisense は、クエリ エディターが以前のバージョンのデータベース エンジンのインスタンスに接続されているときは使用できません。

  • SQLCMD モードを有効にすると、データベース エンジン クエリ エディターの IntelliSense が無効になります。

  • IntelliSense 機能は、現在のエディター ウィンドウがデータベースに接続された後に別の接続で作成されたデータベース オブジェクトには対応していません。その他の接続に追加されたオブジェクトが入力候補一覧などの機能にない場合、エディター ウィンドウのオブジェクトのキャッシュを更新するには、次の 3 つのメカニズムのいずれかを選択します。

    • [編集] メニューの [IntelliSense] をポイントし、[ローカル キャッシュの更新] をクリックします。

    • Ctrl キーと Shift キーを押しながら R キーを押します。

    • 現在のエディター ウィンドウをデータベース エンジンのインスタンスから切断して再接続します。

  • 権限のないデータベース オブジェクトは入力候補一覧に表示されません。IntelliSense は、権限のあるオブジェクトへの参照にフラグを付けます。たとえば、別のユーザーが記述したスクリプトを開いた場合、そのユーザーには権限があるものの自分には権限のないオブジェクトへの参照には無効のフラグが付けられます。

  • データベース エンジンのインスタンスへの接続が失われると、入力候補一覧が機能しなくなることがあります。インスタンスに再接続してください。

関連項目

その他の技術情報