SSMSのGitHub Copilot Agent modeがPublic Previewに|変更点と安全な設定

2026年6月9日、MicrosoftはSQL Server Management Studio(SSMS)22.7.0で「Agent mode for GitHub Copilot in SSMS」のパブリックプレビューを開始しました。従来のAskモードが回答やT-SQLの提案を中心としていたのに対し、Agent modeは、クエリの実行、実行プランの確認、結果に応じた再試行などを複数ステップで進められます。(Microsoft Azure)

結論として、利用者はSSMS 22.7以降への更新とAI Assistanceワークロードの追加が必要です。管理者は、導入前にSQL Serverの権限、実行コンテキスト、書き込み設定、MCPサーバーの利用範囲を確認してください。Microsoft securityの更新情報としてこの項目を見つけた場合でも、実際の変更対象はMicrosoft DefenderやSentinelではなく、SSMSに組み込まれたGitHub Copilot機能です。

目次

Public Preview「Agent mode for GitHub Copilot in SSMS」で何が変わったのか

Agent modeでは、利用者が「このクエリが遅い原因を調べて」「失敗したSQL Agentジョブを分析して」といった目標を自然言語で指定すると、Copilotが必要な情報を収集し、ツールを呼び出しながら調査を進めます。

Askモードとの主な違いは次のとおりです。

比較項目AskモードAgent mode
処理の進め方1回の質問に対して回答を返す目標達成まで複数ステップを実行する
クエリ実行読み取り専用クエリが中心承認後にクエリやコマンドを実行する
結果の検証利用者が確認する実行結果を確認し、必要に応じて方法を修正する
スキーマ変更T-SQLを提案し、利用者が実行する設定と権限が許せば、承認後に実行できる
主な用途質問、コード説明、T-SQLの作成障害調査、性能分析、実装とテストなど

Agent modeはSSMS 22.7以降で利用でき、クエリの実行、ファイルの読み取り、実行プランの分析、スキーマ変更などに対応します。ただし、実際に操作できる範囲は接続に使用したSQL Serverアカウントの権限を超えません。(Microsoft Learn)

複雑な調査を一つの依頼で進められる

たとえば、次のような作業をAgent modeに依頼できます。

  • ストアドプロシージャと実行プランを分析し、改善案を作成する
  • 特定時間帯のCPU使用率上昇について原因を調査する
  • 過去24時間に失敗したSQL Agentジョブを抽出し、原因を整理する
  • ストアドプロシージャを作成してテストする
  • ロールの権限不足を調査し、必要なGRANT文を作成する

従来は、利用者がDMVやログを一つずつ確認し、結果をCopilotへ渡す必要がありました。Agent modeでは、承認を挟みながら調査と検証を続けられるため、複数の確認作業をまとめやすくなります。

接続先をプロンプトに明記する必要がある

重要な変更点として、Agent modeはアクティブなクエリエディターの接続コンテキストを自動的に引き継ぎません。

次のように、サーバー名とデータベース名をプロンプトへ含めるのが基本です。

SalesPRDサーバー上のWideWorldImportersデータベースで、
Sales.usp_QuarterlySalesSummaryの実行プランを分析し、
性能上の問題と改善候補を提示してください。
データベースへの変更は実行しないでください。

接続先を書かない場合、Copilotが登録済み接続を調べたり、利用者へ確認を求めたりするため、処理回数の増加や接続先の選択ミスにつながります。(Microsoft Learn)

誰に影響する変更なのか

DBAとデータベース開発者

日常的にSSMSでSQL Serverを管理しているDBAや開発者は、直接的な対象です。

特に、実行プランの分析、障害調査、SQL Agentジョブの確認、T-SQLの作成と検証を頻繁に行う担当者は、作業時間を短縮できる可能性があります。

一方、Agent modeが生成した判断や変更案が正しいとは限りません。インデックス追加、権限変更、DDL実行などは、必ずテスト環境で検証する必要があります。

セキュリティ担当者とIT管理者

管理者には、従来のCopilot Chatより広い確認が求められます。Agent modeは回答を表示するだけでなく、利用者の権限でクエリやコマンドを実行できるためです。

管理者は、少なくとも次の項目を確認してください。

  • Agent modeを組織内で許可するか
  • 実行用アカウントにどの権限を与えるか
  • READ_ONLYからREAD_WRITEへの変更を許可するか
  • 「Allow always」の利用を認めるか
  • 外部MCPサーバーを利用できる範囲
  • 機密ファイルをCopilotの参照対象から除外するか

Copilotを利用していないユーザー

GitHub Copilotへサインインしていないユーザーや、AI Assistanceワークロードをインストールしていないユーザーには、Agent modeによる直接的な変更はありません。

また、Agent modeがバックグラウンドで勝手に既存データベースを変更するわけではありません。利用者がAgent modeを選択し、実行内容を承認した場合に処理が進みます。

Agent modeを利用するための更新・設定手順

2026年6月9日にAgent modeが追加されたバージョンはSSMS 22.7.0です。その後、6月16日に大きなスクリプトを開いた際のメモリ使用量問題を修正したSSMS 22.7.1が公開されています。新規導入時は、22.7.0を指定して入れるのではなく、最新の22.7.xへ更新するのが適切です。(Microsoft Learn)

SSMSのバージョンを確認する

SSMSのメニューから[ヘルプ]-[バージョン情報]を開き、バージョンが22.7以降であることを確認します。

22.6以前の場合は、Visual Studio Installerを起動し、SSMSの[更新]を実行してください。SSMS 22はVisual Studio Installerを使ってインストール、更新、構成変更を行います。(Microsoft Learn)

AI Assistanceワークロードを追加する

Agent modeが表示されない場合は、AI Assistanceワークロードがインストールされているか確認します。

  1. Visual Studio Installerを起動する
  2. 対象のSSMSで[変更]を選ぶ
  3. [ワークロード]から[AI Assistance]を選択する
  4. [変更]を実行する
  5. SSMSを再起動する

AI Assistanceに含まれるコンポーネントは、個別に外さずまとめてインストールします。(Microsoft Learn)

GitHub Copilotへサインインする

SSMS右上のCopilotアイコンから、Copilotを利用できるGitHubアカウントでサインインします。

サインイン後もCopilotが無効な場合は、次を確認してください。

  • サインイン中のGitHubアカウントが正しいか
  • GitHub Copilotの利用権が付与されているか
  • 組織管理者がCopilotまたはAgent modeを無効化していないか
  • ファイアウォールやプロキシで通信が遮断されていないか

Agent modeを選択する

  1. SSMSで[表示]-[GitHub Copilot Chat]を開く
  2. チャット画面下部のモード選択から[Agent]を選ぶ
  3. [Tools]アイコンを開く
  4. sql-toolsのツールが有効になっていることを確認する
  5. サーバー名、データベース名、目的、変更可否を含めて依頼する

Agent modeはローカルのMCPサーバーであるsql-toolsを使用します。すべてのツールを無効にすると、想定どおりに動作しません。(Microsoft Learn)

Microsoft securityの観点で最も重要なのは実行権限

Agent modeはクエリを実行する前に承認を求めますが、承認画面はセキュリティ境界ではありません。

実際のセキュリティ境界はSQL Serverの権限です。接続ユーザーにALTER、CONTROL、db_ownerなどの強い権限があれば、承認後にその権限を使った操作が行われる可能性があります。(Microsoft Learn)

検証時はREAD_ONLYを維持する

Agent modeは初期状態でREAD_ONLYとして構成されます。接続ユーザーが書き込み権限を持っていても、この状態ではデータ更新やスキーマ変更を実行しません。

mcp.jsonの設定をREAD_WRITEへ変更すると、権限の範囲内で書き込み操作が可能になります。パブリックプレビューの検証段階では、まずREAD_ONLYのまま、調査や分析用途に限定するのが安全です。(Microsoft Learn)

Copilot専用の低権限アカウントを指定する

既定では、Agent modeのクエリはSSMSで接続したユーザーの権限で実行されます。

管理者は、データベースのCONSTITUTION.mdにagentExecuteAsUserを設定し、Copilot専用の低権限ユーザーを指定できます。

---
agentExecuteAsUser: CopilotReadOnlyUser
---

この設定はデータベース単位で適用され、SSMSは指定されたアカウントを使ってCopilot生成クエリを実行します。利用者側には、そのアカウントに対するIMPERSONATE権限が必要です。権限がなければ、利用者自身の強い権限へ自動的にフォールバックせず、Copilotの実行が失敗する設計です。(Microsoft Learn)

「Allow always」は安易に選ばない

実行時の承認には、次の選択肢があります。

選択肢動作
Allow once今回の実行だけ許可する
Allow for this session現在のチャット中、そのツールを許可する
Allow always以後のセッションでも、そのツールを許可する

検証中は原則として「Allow once」を使用してください。「Allow always」を選ぶと確認回数は減りますが、誤ったプロンプトや意図しないツール呼び出しを見落としやすくなります。

保存済みの承認設定は、[ツール]-[オプション]-[GitHub]-[Copilot]-[Tools]から確認、リセットできます。(Microsoft Learn)

キャンセルしても実行済みの変更は戻らない

処理中に[Cancel]を選ぶと、実行中のツールや保留中のクエリは停止します。ただし、すでに承認して実行されたクエリは自動的にロールバックされません。(Microsoft Learn)

書き込みを許可する場合は、事前に次を準備してください。

  • データベースのバックアップ
  • 変更前後を確認するSQL
  • ロールバックスクリプト
  • トランザクションを使った検証手順
  • 変更履歴を記録するチケットや作業記録

管理者が確認すべき組織設定

Agent modeをグループポリシーで無効化できる

SSMS 22.7以降では、Visual StudioのADMX/ADMLテンプレートを使い、Agent modeを組織単位で無効化できます。

設定場所は次のとおりです。

コンピューターの構成
  └ 管理用テンプレート
     └ SQL Server Management Studio
        └ Copilot Settings
           └ Disable Agent Mode

ポリシーはローカルグループポリシーまたはMicrosoft Intuneで展開できます。社内のAI利用基準が未整備の場合は、いったん無効化し、検証対象者だけに提供する方法が現実的です。(Microsoft Learn)

MCPサーバーは許可リストで制限する

Agent modeは、MCPを使ってソース管理、社内チケット、ドキュメント、外部APIなどと連携できます。

追加したMCPツールは初期状態で無効ですが、利用者が有効化すると、外部サービスへ情報が渡る可能性があります。GitHub Copilotの管理画面では、組織が利用を許可するMCPサーバーを許可リストで制御できます。(Microsoft Learn)

外部MCPを許可する前に、次を確認してください。

  • 運営元と配布元が信頼できるか
  • 送信されるデータの範囲
  • 認証情報の保存方法
  • ログや入力データの保持期間
  • 書き込み系ツールが含まれていないか
  • 組織の情報分類ルールに適合するか

機密ファイルはコンテンツ除外を設定する

GitHub Copilot BusinessまたはEnterpriseでは、リポジトリや組織単位でコンテンツ除外を設定できます。

除外されたファイルは、SSMSのコード補完やCopilot Chatの参照対象になりません。接続文字列、秘密鍵、個人情報を含むSQLファイルなどは、リポジトリへ保存する方法そのものを見直したうえで、必要に応じて除外してください。(Microsoft Learn)

料金・移行・期限で確認すべきこと

確認項目実務上の判断
料金Agent mode専用の契約ではなく、GitHub Copilotの利用権と利用枠を確認する
無料利用Copilot Freeでも試せるが、チャットやエージェント利用には月間上限がある
更新SSMS 22.7以降とAI Assistanceワークロードが必要
データベース移行Agent modeを使うためのDB移行やスキーマ変換は不要
強制移行既存のAskモードからAgent modeへの強制切り替えはない
期限一般提供日やパブリックプレビュー終了日は公表されていない
本番利用プレビュー段階では、開発・検証環境を優先する

GitHub Copilot Freeには、チャットとエージェント機能の利用枠があります。複雑なAgent modeの処理では、一つのタスク内で複数回モデルが呼び出される場合があるため、単純な質問より利用量が増える可能性があります。(Microsoft Learn)

また、GitHub Copilotの課金体系は2026年6月1日から使用量ベースへ変更されており、一部の既存年払い契約では旧方式が残っています。固定の価格情報だけで判断せず、利用中アカウントのGitHub Copilotプラン、AIクレジット、予算上限、超過課金設定を確認してください。(GitHub Docs)

パブリックプレビューは、正式運用前のテストと評価を目的とする段階です。一般提供日や移行期限は示されていないため、急いで本番環境へ展開する必要はありません。(Microsoft Azure)

Agent modeが使えないときの確認ポイント

症状主な原因対処
モード一覧にAgentがないSSMSが22.6以前最新の22.7.xへ更新する
Copilot Chatが表示されないAI Assistanceが未導入Visual Studio Installerで追加する
サインインしても使えないCopilot利用権がないGitHubアカウントと契約を確認する
組織アカウントだけ使えない管理ポリシーで無効GitHub管理者またはIT管理者へ確認する
別のDBを参照しようとする接続先がプロンプトにないサーバー名とDB名を明記する
更新クエリを実行できないREAD_ONLYまたは権限不足設定とSQL Server権限を確認する
専用ユーザーで実行できないIMPERSONATE権限がない管理者が権限設計を確認する
処理を止めたのに変更が残る実行済み処理は戻らないDB状態を確認し、必要なら手動で戻す

まずは読み取り専用で小さく検証する

Agent mode for GitHub Copilot in SSMSは、単なる質問回答から、調査・実行・検証を含むデータベース作業支援へ踏み込む変更です。その分、導入効果だけでなく、権限設定や誤操作時の影響も大きくなります。

最初に行うべきことは、SSMSを最新の22.7.xへ更新し、開発または検証用データベースへ低権限アカウントで接続することです。READ_ONLYと「Allow once」を維持したまま、実行プラン分析、SQL Agentジョブ調査、ログ確認など、変更を伴わない用途から試してください。

その結果を基に、管理者がAgent modeのグループポリシー、専用実行アカウント、MCP許可リスト、利用料金の上限を決めてから、対象ユーザーを段階的に広げるのが安全です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次