制限事項と既知の問題

この記事では、GitHub Copilot と Visual Studio Code 用 MSSQL 拡張機能の統合に関する制限事項と既知の制約について説明します。 このエクスペリエンスは、インフラストラクチャや運用環境を管理するデータベース管理者向けではなく、SQL データベースを使用して構築するアプリケーション開発者向けに設計されています。 これらの境界を理解することで、適切な期待が得られ、生産性の高い開発ワークフローがサポートされます。

機能制限

  • GitHub Copilotには、データを書き込むアクセス許可がありません。 開発者は、生成されたすべての SQL またはオブジェクト リレーショナル マッピング (ORM) コードを手動で確認して実行する必要があります。

  • @mssqlチャット参加者は、スキーマ対応の提案を提供するために、エディターを介してアクティブなデータベース接続を必要とします。

  • 使用する前に、AI によって生成された応答を常に確認してください。 GitHub Copilot では、正しくない推奨事項や最適ではない推奨事項が生成される可能性があります。

  • このエクスペリエンスは、データベース管理者やシステム管理者ではなく、 開発者向けに設計されています。 管理タスク用の SQL スクリプトを生成できますが、GitHub Copilotでは、バックアップ/復元の構成、ユーザーのアクセス許可の管理、SQL エージェント ジョブの処理などのサーバー管理操作はサポートされていません

  • GitHub Copilot セッションでは、コンテキストを切り替えるとき (ファイルやデータベースの変更など) に履歴が保持されません。 新しいコンテキストによってチャット メモリがリセットされます。

  • チャット参加者は 、現在接続されているデータベースのスコープ内で動作します。 データベース間操作はサポートされていません。

  • 統合は、Fabric、Azure SQL Database、SQL Server 2017 (14.x) 以降のバージョンの最新の SQL データベース用に最適化されています。 レガシ機能または非推奨の機能はサポートされていない可能性があり、言語サービスは 2016 (13.x) 以前のバージョンSQL Server正式にはサポートされていません。

  • Azure Synapse Analyticsとその専用 SQL プール (以前の Azure SQL DW) 機能は、このGitHub Copilot統合ではサポートされていません。 Synapse サポートを追加するためのタイムラインは公開されません。

  • インライン補完では、データベース スキーマは表示されません。 Visual Studio Codeのインライン補完アプリケーション プログラミング インターフェイス (API) は、実質的に単一プロバイダーです。GitHub Copilotが有効になっている場合、サードパーティの拡張機能 (MSSQL 拡張機能を含む) はスキーマ対応のゴースト テキストを提供できません。 スキーマ対応の SQL 候補の場合は、代わりに@mssqlチャット参加者を使用してください。 アーキテクチャ上の理由については、MSSQL 拡張機能でのGitHub Copilotのしくみに関する説明を参照してください。

  • GitHub Copilot は、リッチ コンテキストにアクセスできる場合に最適な提案を提供します。 データベース接続をアクティブにし、関連するコードまたはクエリをエディターで開いたままにします。 GitHub Copilot のコンテキストが多いほど、その提案はより正確で関連性が高くなります。

技術的な制約

  • インターネット接続が必要です。 GitHub Copilot では、提案を提供するために GitHub Copilot クラウド サービスにアクセスする必要があります。

  • GitHub Copilot は 、開いているファイルとアクティブなデータベース接続にのみアクセスします。 エディターでフォルダーまたはリポジトリを明示的に開かない限り、フォルダーまたはリポジトリを参照することはできません。

  • GitHub Copilotでは、オフラインでの使用や切断された開発はサポートされません。

  • 高度なパフォーマンス チューニング (完全なテレメトリ分析、ワークロードの分析情報など) は対象外です。 アシスタントは個々のクエリの最適化を提案する場合がありますが、プロのチューニング ツールに代わるわけではありません。

  • GitHub Copilot は、特に大規模なデータセットや指定されていないスキーマ コンテキストを使用する場合に、深く入れ子になったクエリやマルチ結合クエリに苦労する可能性があります。

プライバシーとシステムによって生成されたログ収集

  • GitHub Copilot では、チャットのやり取りは保持されません。 プロンプトと応答は、保存されずに GitHub のプライバシー保護プロキシ サービスを介してルーティングされます。

  • ユーザープロンプトと入力候補は、 GitHub Copilot モデルのトレーニングには使用されません。

  • MSSQL 拡張機能または GitHub Copilot によってチャット コンテンツが格納されません

  • 拡張機能によって収集されるシステム生成ログは、 製品を改善するための使用状況分析に限定され、個人データは含まれません。

GitHub Copilot がデータを保護し、AI モデルのトレーニングとデータ プラクティスに関する透明性を維持する方法を理解するには、 GitHub Copilot セキュリティ センター にアクセスするか、 Copilot を使用したデータ処理に対する GitHub のアプローチを確認してください。

既知の GitHub Copilot の制限事項

これらの制限は、GitHub Copilot により広範に適用され、MSSQL 拡張機能でのエクスペリエンスに影響する可能性があります。

  • GitHub Copilot は、特にコンテキストが制限されている場合に、存在しない API またはスキーマ要素を確認する可能性があります
  • GitHub Copilotは、エディターで開かない限り、リモート ファイルに関するリアルタイムの知識を持ちません
  • GitHub Copilotは、長い会話の間で変数の型や状態を追跡しません。結果は関連性に誤差が生じる可能性があります。

詳細については、以下を参照してください。

感想をお聞かせください

MSSQL 拡張機能の GitHub Copilot を改良および改善するために、次の GitHub 問題テンプレートを使用してフィードバックを送信します。 GitHub Copilot フィードバック

フィードバックを送信する場合は、次の内容を検討してください。

  • テスト済みのシナリオ: スキーマの作成、クエリの生成、セキュリティ、ローカライズなど、重点を置いた領域をお知らせください。

  • うまくいったこと: スムーズに感じたり、役に立ったり、期待を超えたりした経験について説明します。

  • 問題またはバグ: 問題、不整合、または混乱を招く動作を含めます。 スクリーンショットや画面の記録は特に役立ちます。

  • 改善の提案: 使いやすさの向上、カバレッジの拡大、GitHub Copilot の回答の強化に関するアイデアを共有します。