新しく作成したデータベース用のStored Procedure
を作成しようとしています。しかしSSMS
インテリセンスは作成されたテーブルの半分以上を認識しません。
たとえば、テーブルの下の左側の列にテーブルdbo.Room
がありますが、新しいクエリウィンドウに「dbo.
」と入力すると、そのテーブルは表示されず、実際には37個のテーブルのうち17個だけが表示されます。
インテリセンスによってリストされたテーブルとそうでないテーブルとの間に違いは見られません。手動でdbo.Roomと入力すると、下線が引かれ、エラーが表示されます。
無効なオブジェクト名 'dbo.Room' ..
テーブルの設定に失敗しましたか?
UPDATE:私はテーブルリストのリフレッシュを試みました(数回)
試してください:
Edit - > IntelliSense - > Refresh Local Cache
これにより、Intellisenseによってキャッシュされたデータが更新され、先行入力のサポートと実行前のエラー検出が可能になります。
注:IntelliSenseメニューを表示するには、カーソルがクエリエディタ内にある必要があります。
Ctrl + Shift + R マネジメントスタジオ2008でもインテリセンスをリフレッシュ。
新しいSQL Serverオブジェクトを作成すると、そのオブジェクトはIntelliSence Local Cacheで更新されないため、そのオブジェクトの下に赤い線が表示されます。そのため、SSMS IntelliSenceローカルキャッシュを更新するだけで、それを更新すると、IntelliSence
が自動的に新しく作成されたオブジェクトをキャッシュに追加し、赤い線が消えます。これを試して
Edit -> IntelliSense -> Refresh Local Cache
または Ctrl + Shift + R
私の場合、IntelliSenseキャッシュはまったく異なるデータベースのオブジェクト情報をリストしていました。 SSMSで[新しいクエリ]ボタンをクリックした場合、サーバー上の既定のカタログに対するクエリが開き、そのクエリエディタでは常にそのデータベースのみが使用されます。キャッシュを更新しても何も変わりませんでした。 SSMSを再起動しても何も変わりません。データベースを変更しても何も変わりませんでした。
実際に使用したいデータベースを右クリックし、そのコンテキストメニューから[新しいクエリ]を選択してクエリを作成しました。 これでSSMSはIntelliSense用の正しいオブジェクトを使用します。
あなたは問題のテーブルが存在することを確信していますか?
オブジェクトエクスプローラでテーブルビューを更新しましたか?これは "tables"フォルダを右クリックして F5 キー。
また、Intellisenseキャッシュを更新する必要があります。
これは、メニュールートに従って実行することができます。編集 - > IntelliSense - >ローカルキャッシュの更新
解決策は次のとおりです。
それでおしまい。
SQL Server 2008 EnterpriseにSP3をインストールした後でも、これはまだ「問題」です。 Ctrl+Shift+R 誰もが私のためにこの問題を解決したと言ってきたように。
私はこの構文の問題を使用したときに私と同じ問題が解決した。
構文:
Use [YourDatabaseName]
Your Query Here
SSMS 2016用に解決されました。
同様の問題がありましたが、Intellisenseは編集メニューにありませんでした。
この問題を解決するために行われたのは、Intellisensのオンとオフを切り替え、SQLエディタを右クリックして「Intellisense Enabled」をクリックすることです。もう一度「Intellisense Enabled」を右クリックして再度有効にします。 Ctr Q、私もこれをします。
これで問題は解決しました、そしてまた私は編集メニューのIntellisenseを得ることを知っています。
SMSSを閉じて再度開くだけです。私はRefresh Local Cacheを試しましたが、それはうまくいきませんでした。
データベースを右クリックして[更新]をクリックしてみましたか
私はこの質問がすでに答えられていることを理解しています、しかし、私は別の解決策を持っていました:
再作成せずにテーブルを削除するスクリプトを作成している場合、後でそれらを参照しようとすると、それらのテーブルは見つからないと表示されます。
注:これは常に実行されるスクリプトでは発生しませんが、スクリプトを毎回入力するよりも参照するためのクエリがある方が簡単なことがあります。