SQL Server Management Studio - インテリセンスに変更が反映されない時の更新方法
SQL Server Management Studio のインテリセンスとは?
SQL Server Management Studio のクエリエディターでは、入力時の補助をしてくれる IntelliSense (インテリセンス) がデフォルトで ON になっています。
例えば、次のように FROM に続けて TestR まで入力すると、TestR という文字が含まれた構文要素の候補が表示されます。
カラム名も同様です。 文字を入力していくとフィルターされて候補が絞られていき、候補から選択することで入力も可能です。
SELECT 文などのカラム名の上にカーソルを持ってくると、そのカラムのデータ型や NULL が許可されているのか等を確認することもできます。
また構文や要素などが間違っている箇所には赤線を出してくれ、カーソルを合わせるとエラーの内容が表示されます。
T-SQL の全ての構文や要素がサポートされているわけではありませんが、主要なものはサポートされているので、便利な機能です。
インテリセンスがうまく動かない時がある
そんな便利なインテリセンスですが、たまに思うように動いてくれない時があります。
まずカーソルよりも上のほうでコードにエラーがある時は、うまく動いてくれません。 エラーがある時は仕方がないのでエラーを直しましょう。
よく起こる困ったケースは、現在のクエリエディターを開いた後のデータベースオブジェクトへの変更が、インテリセンスに自動的に反映されないことです。
クエリーエディタを開いた後に追加した、テーブルやカラム、ユーザー定義ファンクションやストアードプロシージャなどが候補に出てきません。
また、追加したカラム名を使おうをしてもエラーの赤線が出てしまったりすることがあります。
例えば、以下のケースはクエリーエディターを開いたあとで Student テーブルに MiddleName カラムを追加したので、本当はエラーではありませんが、赤線が出ています。
インテリセンスを最新の状態に更新する
そんな時はインテリセンスを最新の状態に更新しましょう。
以下のように、メニューから [編集] > [IntelliSense] > [ローカルキャッシュの更新] をクリックすると、インテリセンスを最新の状態に更新されます。
ショートカットキーの Ctrl + Shift + R でも更新可能です。
インテリセンスを最新の状態に更新されて、MiddleName の赤線がなくなり、候補にも出てくるようになりましたね。