web-dev-qa-db-ja.com

SQL Server Management Studio 2008 Intellisense

インテリセンス機能のため、SQL Server Express2008をインストールしました。最初は動作しましたが、動作を停止しました。チェックするオプションを探して、後でGoogleに相談すると、次のようになっていることがわかりましたSQL Server 2005データベースに接続すると、MicrosoftはIntellisenseを無効にしました。

これは絶対に正しいですか?
これに対する解決策はありますか(一部のレジストリ「スイッチ」)?

26
Robert Vuković

追加された機能を確認したい場合は、 Connect でリクエストに投票してください。削除された理由に関するチームからのフィードバックは次のとおりです。

IntelliSenseのバージョンサポートに関する製品チームの情報を共有しましょう。これは、IntelliSenseプロジェクトの当初からの真の設計によるものであり、ビジネス上の意思決定の一部でした。 IntelliSenseの実装には、マネージコードベースを使用したクライアント側でのエンジンパーサー再構築の完全な忠実度が必要です。複数のサーバーバージョンのサポートは、パーサーと関連するインフラストラクチャの複数のバージョンの設計と実装を並行して行うことを意味します。これにより、開発、テスト、サポートにかかる時間とコストが増大します。同時に、コアモジュールは、IntelliSense機能だけでなく、UpgradeAdvisorを含む他の製品がスクリプトを分析できるようにする重要な製品ベースです。長期的には、Transact-SQL言語の構文的および意味的な理解が必要な機能である可能性があります。

CTP5およびCTP6では、IntelliSenseにサーバーのバージョンが正しくチェックされないという既知の問題があったため、CTPユーザーは任意のバージョンのSQLServerをIntelliSenseに接続できました。一部のユーザーはそれに気づいていませんでしたが、IntelliSenseは期待どおりに正しく機能していませんでした。その影響は、IntelliSenseが、ユーザーに誤ったTransact-SQLのスクリプトを作成したり、それらのバージョンで完全に有効であるにもかかわらずスクリプトにエラーがあることを偽陰性で示したりする可能性が高いことでした。

IntelliSenseの最大の目標が複雑なクエリまたはストアドプロシージャ(または単にTransact-SQLスクリプト)の作成の生産性を向上させることであることを考えると、この問題は生産性を低下させるこれは新機能による大きな悪影響です。

RC0では、IntelliSenseがサーバーのバージョンをチェックし、サポートされているバージョンであるSQL Server2008でその機能を提供するというこの既知の問題が修正されました。

バージョン1として、IntelliSenseはTransact-SQL言語のサブセットで有効になっています。これは、言語スコープ全体のマネージコードにレクサー、パーサー、バインダー、およびスクリプトドキュメントオブジェクトモデルを実装するための作業範囲が広いためです。製品チームは、言語サポートの範囲を拡大することに重点を置いて前進しています。

この情報が、SQL Server2008でのみターゲットバージョンが選択された理由の背景情報を提供することを願っています。

RTMビルドを使用している人は、CU1(Cumulative Update 1)ビルドが利用可能であると考える必要があります ここ かなりの数のIntelliSenseバグが解決されました。

25
Craig Nicholson

ここでリストに追加するもう1つの無料ツールは ApexSQL Complete です。過去数か月間使用していますが、より役立つツールチップが提供されるため、SSMSインテリセンスよりも少し優れています。

一般的に、特にプレミアムツールの料金を支払う準備ができている場合は、ここに記載されているツールのいずれでも間違いはありません。

16
John Moore

Red-GateによるSQLPromptは、すべてのバージョン(2000、2005、および2008)で非常にうまく機能し、VS内や一部のテキストエディターでも動作します。

12
Dave

SSMSのインテリセンスがSQLServer2008でのみ機能するのは事実です。

最近、SSMSのオートコンプリートツールをリリースしました-dbForge SQL CompleteこれはSQL Server2008のSQLオートコンプリートおよびフォーマット機能を提供します、2005および2000。

dbForge SQL Complete - main view

8
Devart

私はこれを回避する方法があるとは思いませんが(私は間違っている可能性がありますが) this はあなたの真実の探求に役立つかもしれません;-)

インテリセンスは、CTP中に2008年より前のデータベースに対して「誤った」構文を示唆していたようで、RTMで削除されました。

6
DilbertDave

正しいバージョンをインストールしていて、まだIntellisenseをインストールしていない場合は、 this が役立つ場合があります。

1)SQL Server 2008Editionに接続していることを確認します。 IntelliSenseは、以前のバージョンのSQLServerでは機能しません。

2)IntelliSenseを有効にする必要があります。 IntelliSenseが有効になっているかどうかを確認する方法は2つあります。 a)ツールバーからb)[ツール]-> [オプション]-> [テキストエディター]-> [Transact-SQL]-> [IntelliSense]に移動します

3)IntelliSenseは、データベースの最新の変更で更新する必要があります。
a)CTRL + SHIFT + Rを押しますb)編集-> IntelliSense->ローカルキャッシュの更新に移動します

4)[ツール]-> [オプション]-> [テキストエディター]-> [Transact-SQL]-> [一般]-> [IntelliSense]に移動し、[自動リストメンバー]を選択してパラメーター情報を確認します。

2
CharithJ

同僚と私は両方ともSQLServer Management Studio 2008をインストールしており、両方とも同じSQL Server2005および2008データベースに接続しています。彼は2005年と2008年の両方でインテリセンスを取得します。私は2008年にそれを取得します。これがなぜであるかを理解することはできません。

訂正:私の同僚は2005年のサーバーに接続していると思っていましたが、実際には2008年のサーバーでした。

結論:私たちのDBAと相談した後、それは可能ではないようです。彼らはまた、これについて広範な研究を行ってきました。

2
Guy

ちなみに、最近、 たくさんの新機能 を提供するSQLCompleteの新しいバージョンをリリースしました。すべての新機能は、シェアウェアStandard Edition(30日間の無料トライアル、49.95ドル)で利用できます。

Express Editionでも、v。1.0と同様のすべての基本機能を利用できます。

1
Devart

DbOctopusでインテリセンスを使用できます-SQLServer2005および2000でも動作します。現在は無料ですが、2009年9月1日までです。

あなたはここでそれを見つけることができます:

http://www.cogin.com/dboctopus/

1
Dejan Grujic

sQL Server 2008データベースエンジンには、Management Studio2008のインテリセンス機能をサポートするコードがあります。

いいえ、ありません。あなたは完全に間違っているので、濡れた魚で平手打ちする必要があります。

実行しているのは、さまざまなINFORMATION_SCHEMA仮想テーブルに問い合わせて検出を行うことだけです。以前のバージョンに対して無効にした理由は、理論的には2005に対してのみ有効な構文を使用することを推奨する可能性があるためですが、多くの人が100%成功して使用していました。もちろん、real無効にした理由は、サーバーを2008にアップグレードする利点の1つが減少したためです(ここで実際にお金を稼ぎます)。

1
Jimbo Jones

SQL Server 2005がインテリセンスのサポートを念頭に置いて構築されていないほど、SQL Server 2005のインテリセンスdisabledとはあまり考えないでください。 SQL Server 2008データベースエンジンには、Management Studio2008のインテリセンス機能をサポートするコードがあります。

はい、私はそれを知っていますそうです後のCTPプレビューで動作しますが、いくつかのグーグル(およびDilbertDaveのリンク)は、CTPの動作が壊れたいくつかの方法があったことを明らかにします。

0
Joel Coehoorn

ただヒキガエルを使用してください、どのマイクロソフトツールよりも優れています。フリーウェアバージョンがあります。

ヒキガエルソフト

0
user32415

私はフリーソフトウェアであるAtlantisSQL Enywhereを1年以上使用していて、本当に感銘を受けました。 SQL2005およびSQL2008バージョンで動作します。私はその機能に本当に感銘を受けました。キーボードショートカットはVSに似ているので、新しいエディターへの移行が非常にスムーズになります。

言及する価値のある機能のいくつか。

複数のテーブルを使用し、エイリアスを使用して結合するときに実際に機能するIntellisense複数のテーブルを使用する場合の結合の提案(入力にかかる時間を短縮し、非常に優れています)SQLコードの豊富なフォーマット、Ctrl K、CtrlDを使用した自動インデント。SQLプランのより適切な表現。使用中の変数宣言を強調表示します。マウスホバーでのテーブル定義。

これらすべての機能により、多くの時間を節約できました。

SQL2012でこれをまだチェックしていません。

0
user_v