web-dev-qa-db-ja.com

IntelliSenseは機能していませんが、有効になっています

この問題は実際にはトリッキーな問題であることが証明されています(そして非常に迷惑です)。

SQL Server Management Studio 2008では、数日前まで、私のIntelliSenseは非常に優れていました。それから突然それは止まった。ツールバーメニューで有効になっているアイコン。[ツール]-> [オプション]-> [テキストエディター]-> [T-SQL]-> [IntelliSense]で、そこで有効になっていることを示しています。

IntelliSenseキャッシュをCtrl-Shft-Rで再メッシュしようとしましたが、それも機能しません。

IntelliSenseに何が起こったのか、それを取り戻すために何をする必要があるのか​​?

30
Thomas Stringer

最近VisualStudioをアップグレードした場合は、次のリンクで修正を確認してください。

SSMS 2008 R2のIntelliSense機能は、Visual Studio 2010 SP1のインストール後に機能を停止する場合があります

または、ここから直接修正をダウンロードできます。

SQL Server 2008 R2の最新のサービスパックの入手方法

11
Ezi

IntelliSenseが機能しない可能性はいくつかあります。

IntelliSenseが使用するローカルキャッシュが古くなる場合があります。キャッシュの更新は簡単ですが、必ずしも明白ではありません。

キャッシュを更新するには2つの方法があります。

  1. ヒット Ctrl+Shift+R
  2. [編集]-> [IntelliSense]-> [ローカルキャッシュの更新]に移動します

それでもIntelliSenseが機能しない場合は、IntelliSenseが有効になっていることを確認してください。現在のデータベースのT-SQLクエリエディターウィンドウからこれを確認するには:

  1. Tools-> Options-> Text Editor-> Transact-SQL-> General-> IntelliSenseに移動します
  2. クエリに移動-> IntelliSenseを選択する必要があります
  3. また、T-SQLエディターがSQLCMDモードで起動しないことを確認します。チェックする:

    • [ツール]-> [オプション]-> [クエリ実行]-> [SQL Server]-> [全般]に移動します
    • 「デフォルトでは、SQLCMDモードで新しいクエリを開く」がオフになっていることを確認します。
    • またはクエリに移動-> SQLCMDモードを選択しないでください

続きを読む

31
Ritesh D

私はこの問題を抱えていたので、Ritesh Dのアドバイスに従い、Tools-> Options-> Text Editor-> Transact-SQL-> Generalに行きました。 IntelliSenseを確認したところ、既に有効になっていることがわかりました。

しかし、「メンバーの自動リスト」と「パラメータ情報」のチェックが外れていることがわかりました。だから私はそれらをチェックしました。これは私の問題を解決しました。

enter image description here

これらの2つの機能は、私が「インテリセンス」と考えるものであり、 Microsoftは同意しません

IntelliSenseは、リストメンバー、パラメーター情報、クイック情報、完全な単語など、多くの機能の総称です。これらの機能は、使用しているコードの詳細を学習したり、入力しているパラメーターを追跡したり、数回のキーストロークでプロパティやメソッドの呼び出しを追加したりするのに役立ちます。

16
Michael Currie

メニューオプションの[ツール]-> [オプション]-> [テキストエディタ]-> [Transact-SQL]-> [全般]-> [IntelliSense]で、[最大スクリプトサイズ]が「無制限」に設定されていることを確認してください。私はこれを行い、インテリセンスは働き始めました

9
RT0205

転送接続の少ないリモートデータベースを使用する場合(たとえば、ヨーロッパから遠いアジアのオフィスサーバーに接続した場合)、データベースの構造が小さくない場合(たとえば、多くのテーブル)、SSMSがすべてのIntelliSenseデータを完了するには、さらに時間がかかります。

私の場合、IntelliSenseにアクセスできるようになるまでに1分以上待たなければなりませんでした(低速接続と約1000テーブルのデータベース)。 (SSMSはIntelliSenseの読み込みプロセスに関連する進行状況インジケーターや情報を表示しません)

5
Bronek

Azureで提案されているように、パブリックユーザーに対するいくつかの権限を取り消したときに、この問題に気付きました。これは私の問題を解決するのに役立ちました:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
1

[〜#〜] offline [〜#〜]データベースはintelissenseの動作を停止させる可能性があります。接続サーバーのデータベースをオフラインにして、元に戻すことでテストできます。

SQL 2016バグとして確認できます

1
jean