26

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

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

4

13 に答える 13

25

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

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

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

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

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

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

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

RTM ビルドを使用している場合は、ここで入手できる CU1 (累積更新プログラム 1) ビルドを考慮する必要があります。かなりの数の IntelliSense バグが解決されています。

于 2008-10-30T23:20:24.287 に答える
16

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

一般に、特にプレミアム ツールを購入する準備ができている場合は、ここで説明するツールを使用すると問題が発生することはありません。

于 2013-03-25T11:14:52.830 に答える
12

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

于 2008-10-30T23:14:32.257 に答える
8

SSMS の IntelliSense が SQL Server 2008 でのみ機能することは事実です。

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

dbForge SQL Complete - メイン ビュー

于 2010-12-01T16:34:57.263 に答える
6

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

インテリセンスは、CTP 中に 2008 年より前のデータベースの「正しくない」構文を提案していたようで、RTM で削除されました。

于 2008-10-30T13:23:24.460 に答える
2

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

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

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

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

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

于 2011-05-23T02:11:11.267 に答える
2

同僚と私は両方とも SQL Server Management Studio 2008 をインストールしており、同じ SQL Server 2005 および 2008 データベースに接続しています。彼は 2005 年と 2008 年の両方でインテリセンスを取得しています。

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

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

于 2008-10-30T23:02:01.500 に答える
1

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

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

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

于 2009-07-01T22:40:13.223 に答える
1

SQL Server 2008 データベース エンジンには、Management Studio 2008 の Intellisense 機能をサポートするコードがあります。

いいえ、ありません。あなたは完全に間違っており、濡れた魚で叩かれるべきです.

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

于 2009-01-05T14:49:23.267 に答える
1

ところで、最近、多数の新機能を提供する新しいバージョンの SQL Complete をリリースしました。すべての新機能は、シェアウェアの Standard Edition (30 日間の無料トライアル、49.95 ドル) で利用できます。

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

于 2011-01-26T16:22:19.777 に答える
0

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

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

于 2008-10-30T13:27:41.300 に答える
0

私は、無料ソフトウェアである Atlantis SQL Enywhere をほぼ 1 年以上使用しており、非常に感銘を受けています。SQL 2005 および SQL 2008 バージョンで動作します。その機能とキーボード ショートカットは VS に似ているので、新しいエディターへの移行は非常にスムーズです。

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

複数のテーブルを使用し、エイリアスを使用して結合する場合に実際に機能するインテリセンス 複数のテーブルを使用する場合の結合の提案 (タイピングの時間を短縮し、非常にきれい) SQL コードの豊富な書式設定、Ctrl K、Ctrl D を使用した AutoIndent。使用中の変数宣言を強調表示します。マウス ホバー時のテーブル定義。

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

SQL 2012 でこれをまだ確認していません。

于 2013-10-23T18:30:45.183 に答える
0

ヒキガエルを使用するだけで、Microsoft のどのツールよりも優れています。フリーウェア版があります。

ヒキガエルソフト

于 2008-10-30T13:43:54.997 に答える