SQL Server Management Studio 2008 Intellisense
-
05-07-2019 - |
質問
インテリセンス機能のため、SQL Server Express 2008をインストールしました。最初は動作しましたが、動作しなくなりました。チェックするオプションを探し、後でGoogleに相談すると、 SQL Server 2005データベースに接続するとMicrosoftがインテリセンスを無効にしたように見えることがわかりました。
これは完全に正しいですか?
これに対する解決策はありますか(一部のレジストリ「スイッチ」)?
解決
追加された機能をご覧になりたい場合は、接続。削除された理由に関するチームからのフィードバックは次のとおりです。
製品チームを共有させてください バージョンサポートに関する情報 IntelliSenseの。これは本当に 初めから設計 IntelliSenseプロジェクトとそれは一部でした ビジネス決定の。実装 IntelliSenseの エンジンパーサーの忠実度 を使用してクライアント側で再構築 マネージコードベース。複数のサポート サーバーのバージョンとは、設計と の複数バージョンの実装 パーサーと関連するインフラを並行して。 これにより、時間とコストが倍増します 開発、テスト、サポート。同じで 時間、コアモジュールは重要です だけでなく、 IntelliSense機能だけでなく、その他 アップグレードアドバイザーを含む製品 スクリプトを分析します。長期的には、 潜在的に必要な機能です 構文および意味の理解 Transact-SQL言語の。
CTP5およびCTP6では、IntelliSenseに 正しくなかった既知の問題 サーバーのバージョンを確認して、CTPユーザー SQLの任意のバージョンを接続できます IntelliSenseを備えたサーバー。いくつかながら ユーザーは気づかなかった、IntelliSense 期待どおりに正しく機能していませんでした。 影響は、IntelliSenseが ユーザーを誘導する可能性が高い スクリプトが正しくないTransact-SQLまたは 偽陰性は、 スクリプトにはエラーがあります それらのバージョンでは完全に有効です。
第一の目標を考える IntelliSenseは増加することです オーサリング複合体の生産性 クエリまたはストアドプロシージャ(または単に Transact-SQLスクリプト)、この問題は 減少の要因とみなされる 生産性は大きなマイナスです 新機能の影響。
RC0では、この既知の問題は修正されました IntelliSenseがサーバーをチェックする バージョンとその機能を提供します SQL Serverであるサポートされているバージョン 2008。
バージョン1として、IntelliSenseは Transact-SQLのサブセットで有効化 言語。大きいからです レクサーを実装する作業範囲 パーサー、バインダー、およびスクリプトドキュメント マネージコードのオブジェクトモデル 言語スコープ全体。製品 チームは次のことに焦点を合わせて前進しています 言語サポート範囲の拡大。
この情報が提供することを願っています 最低限の背景情報 ターゲットバージョンがSQLで選択された Server 2008のみ。
RTMビルドを使用している場合は、CU1(累積更新プログラム1)ビルドが利用可能であることを考慮する必要がありますこちらかなりの数のIntelliSenseバグに対処したため。
他のヒント
ここにリストに追加するもう1つの無料ツールは、 ApexSQL Complete です。私は過去数か月間それを使用してきましたが、より有用なツールチップを提供するため、SSMSインテリセンスよりも少し優れていることがわかりました。
一般的に、特にプレミアムツールの費用を支払う準備ができている場合は、ここで説明するツールを使用しても問題はありません。
Red-GateのSQLPromptは、すべてのバージョン(2000、2005、2008)で非常にうまく機能し、VSおよび一部のテキストエディター内でも動作します。
SSMSのインテリセンスがSQL Server 2008でのみ機能することは事実です。
最近、SSMSのオートコンプリートツールをリリースしました- dbForge SQL Complete 、 SQL Server 2008、2005、および2000のSQLオートコンプリートおよびフォーマット機能を提供します。
これは回避できません(間違っている可能性はありますが)これは真実の探求に役立つかもしれません;-)
インテリセンスのように見えますが、CTP中に2008年より前のデータベースの「誤った」構文が提案され、RTMで削除されました。
同僚と私は両方ともSQL Server Management Studio 2008をインストールしており、どちらも同じSQL Server 2005および2008データベースに接続しています。彼は2005年と2008年の両方でインテリセンスを取得しています。2008年に取得しただけです。これがなぜなのかわかりません。
修正:同僚が2005サーバーに接続していると思っていたが、実際には2008サーバーだったことが判明した。
結論:DBAに相談した後、可能性はないようです。彼らはこれについても広範な研究を行っています。
正しいバージョンをインストールしたが、まだIntellisenseをインストールしていない場合これが役立つ場合があります。
1)SQL Server 2008 Editionに接続していることを確認してください。 IntelliSenseは、以前のバージョンのSQL Serverでは機能しません。
2)IntelliSenseを有効にする必要があります。確認する方法は2つあります IntelliSenseが有効かどうか。 a)ツールバーからb)ツールに移動 ->オプション->テキストエディター-> Transact-SQL-> IntelliSense
3)IntelliSenseを最新の変更で更新する必要があります データベース。
a)Ctrl + Shift + Rを押します b)編集に移動-> IntelliSense->ローカルキャッシュの更新4)ツールに移動->オプション->テキストエディター-> Transact-SQL->一般-> IntelliSenseは自動リストメンバーを選択し、パラメータ情報を確認します。
Management Studio 2008のインテリセンス機能をサポートするSQL Server 2008データベースエンジンにはコードがあります。
ありません。あなたは完全に間違っており、濡れた魚で平手打ちされるべきです。
実行しているのは、さまざまなINFORMATION_SCHEMA仮想テーブルに問い合わせて検出を行うことだけです。以前のバージョンに対して無効にした理由は、理論的には2005年に対してのみ有効な構文を使用することを推奨するかもしれないが、多くの人が100%成功してそれを使用していたからです。もちろん、無効にした本当の理由は、サーバーを2008にアップグレードする利点の1つが減ったことです(実際にお金を稼ぐ場所です)。
DbOctopusでインテリセンスを使用できます-SQL Server 2005および2000でも動作します。現在無料ですが、2009年9月1日までのみです。
ここで見つけることができます:
ところで、最近、多くの新機能。すべての新機能は、シェアウェアStandard Editionで利用できます(30日間の無料トライアル、49.95ドル)。
Express Editionでは、v。1.0と同様に基本的な機能をすべて利用できます。
SQL Server 2005はインテリセンスのサポートを念頭に置いて構築されていないので、SQL Server 2005のインテリセンスを無効にすることを考えないでください。 Management Studio 2008のインテリセンス機能をサポートするSQL Server 2008データベースエンジンにコードがあります。
はい、後のCTPプレビューで動作することを見たと知っていますが、いくつかのグーグル(およびDilbertDaveのリンク)は、CTPの動作が壊れる多くの方法があることを明らかにしています。
ヒキガエルを使用するだけで、Microsoftのどのツールよりも優れています。フリーウェアバージョンがあります。
私はフリーソフトウェアであるAtlantis SQL Enywhereを1年以上使用してきましたが、本当に感銘を受けました。 SQL 2005およびSQL 2008バージョンで動作します。その機能とキーボードショートカットはVSに似ているため、新しいエディターへの移行が非常にスムーズになります。
言及する価値のある機能のいくつか。
複数のテーブルを使用してエイリアスで結合するときに実際に動作するインテリセンス。使用中の変数宣言を強調表示します。マウスホバーでのテーブル定義。
これらすべての機能により、時間を大幅に節約できました。
SQL 2012ではまだこれをチェックしていません。