Copilot in SSMSとは?Azure SQL利用者向け変更点と移行・設定確認ポイント

2026年5月22日時点でCopilot in SSMSの公式情報を確認するなら、最初に押さえるべき結論は「SSMSでAI支援を使う場合、SSMS 21のCopilotとSSMS 22のGitHub Copilotを混同しないこと」です。Microsoft Learnでは、SQL Server Management Studio(SSMS)21のCopilot in SSMSは、SSMS 22のGitHub Copilotに置き換えられたと案内されています。Azure SQLをSSMSから管理・開発している組織では、単なる便利機能の追加ではなく、利用条件、認証、権限、展開方法、コスト管理の見直しが必要です。(Microsoft Learn)

Copilot in SSMSは、自然言語でデータベースに関する質問をしたり、T-SQLの作成・説明・修正を支援したりするAI機能です。ただし、生成されたSQLは必ず人が確認し、Azure SQL側の権限設計を前提に運用する必要があります。この記事では、Azure SQL利用者と管理者向けに、何が変わるのか、どこに影響するのか、移行・展開時に何を確認すべきかを実務目線で整理します。

目次

Azure SQLのAI/Copilot更新で何が変わるのか

今回のポイントは、SSMS上のAI支援が「Azure OpenAIリソースを前提にしたSSMS 21のCopilot」から、「SSMS 22以降で利用するGitHub Copilot in SSMS」へ軸足を移していることです。SSMS 22は現在のGAリリースとして案内されており、GitHub Copilot in SSMSはSSMS 22.4.1で一般提供になったとリリースノートに記載されています。(Microsoft Learn)

Azure SQLの現場で重要なのは、「SSMSにCopilotがあるかどうか」ではなく、どの世代のCopilotを、どの認証・課金・権限モデルで使っているかです。

観点SSMS 21のCopilot in SSMSSSMS 22以降のGitHub Copilot in SSMS確認ポイント
主な前提SSMS 21、Azure OpenAIのエンドポイントとデプロイSSMS 22以降、GitHubアカウント、Copilotアクセス、AI Assistanceワークロード利用中のSSMSバージョンを棚卸しする
利用者認証Azure OpenAI側の構成に依存。Microsoft Entra IDまたはAPIキーGitHubアカウントでサインイン組織アカウント、個人アカウント、契約管理を確認する
管理対象Azure OpenAIリソース、モデル、トークン、Azure課金GitHub Copilotの契約、SSMS拡張、組織ポリシー管理部門が異なる場合は責任分界を決める
SQL実行権限ユーザーのSQLログイン権限で実行ユーザーのSQLログイン権限で実行Copilot専用の“特別権限”はない前提で設計する
主な用途チャット、T-SQL支援、コード説明・修正チャット、インラインチャット、補完、Next Edit Suggestions、データベース指示開発標準やレビュー手順に組み込む

SSMS 21のCopilotは、Azure OpenAIのエンドポイントとデプロイをAzureサブスクリプション内に用意する構成です。一方、SSMS 22のGitHub Copilot in SSMSは、SSMS 22以降とGitHub Copilotアクセスが前提になります。Microsoft Learnでも、AI機能を使うには最新のSSMSとGitHub Copilot統合を利用するよう案内されています。(Microsoft Learn)

Copilot in SSMSでできること

Copilot in SSMSは、SSMS内でデータベースや環境に関する質問をしたり、Transact-SQL(T-SQL)の作成を支援したりするAIアシスタントです。対象としては、SQL Server、Azure SQL Database、Azure SQL Managed Instance、SQL Database in Fabricなどが説明されています。(Microsoft Learn)

実務では、次のような用途で効果が出やすい機能です。

活用シーン使い方の例注意点
T-SQL作成「過去30日の注文数を日別に集計するクエリを作成して」テーブル名、条件、期間、出力列を明示する
SQLの説明既存クエリを選択して「このクエリの処理内容を説明して」説明が正しいか、実際の実行計画や仕様と照合する
修正・リファクタリング「SELECT *を使わず必要列を明示する形に直して」変更後の結果件数や性能を確認する
管理作業の補助「現在のブロッキングを確認する読み取り専用クエリを作成して」本番環境では実行前に必ず内容を確認する
ドキュメント化クエリや設計ルールの説明文を生成する社内用語や業務定義は補足する

SSMS 22のGitHub Copilotでは、チャットウィンドウやインラインチャットから質問でき、T-SQLの提案をアクティブなクエリエディターへ適用したり、新しいファイルへ追加したりできます。コード補完では、入力中のT-SQLや接続中データベースのスキーマなどを文脈として候補を提示します。(Microsoft Learn)

Azure SQL利用者への影響範囲

Azure SQL環境でCopilot in SSMSを導入・更新する場合、影響は開発者の入力支援だけに留まりません。特に本番データベースに接続する端末では、権限、接続先、監査、コスト、組織ポリシーまで確認が必要です。

開発者への影響

開発者にとっては、T-SQLの下書き、エラー修正、クエリ説明、補完がSSMS内で完結しやすくなります。たとえば、JOIN条件を含む集計SQL、既存クエリの可読性改善、インデックス候補の考え方の整理などに使えます。

ただし、Copilotの出力は「実行可能な正解」ではなく「レビューすべき提案」です。特にAzure SQLの本番DBで、UPDATEDELETEALTERDROPを含むSQLが提案された場合は、そのまま実行してはいけません。検証環境での確認、トランザクション、バックアップ、レビューを挟むべきです。

管理者への影響

管理者は、SSMSのインストール状態、AI Assistanceワークロード、GitHub Copilot契約、ネットワーク接続、プロキシ、監査ログ、SQL権限を確認する必要があります。GitHub Copilot in SSMSで生成されたクエリは、利用者のログインと権限のコンテキストで実行され、Copilot専用の別権限はありません。Microsoft Learnでは、Ask modeの分類システムは書き込み操作をブロックする仕組みを持つものの、セキュリティ境界ではないため、SQL Server側の権限で最小権限を徹底するよう説明されています。(Microsoft Learn)

セキュリティ・監査への影響

AI支援を有効にすると、利用者がどのDBに接続し、どの文脈で質問しているかが重要になります。Copilotは接続中のクエリエディターやスキーマ情報を文脈として扱うため、機密性の高いテーブル名、列名、業務ルール、サンプルデータをどこまでプロンプトに含めてよいかを事前に決めておくべきです。(Microsoft Learn)

監査面では、GitHub Copilot in SSMSが実行したクエリをExtended Eventsで確認する方法も案内されています。チャット由来のクエリはMicrosoft SQL Server Management Studio - GitHub Copilot、補完由来のクエリはMicrosoft SQL Server Management Studio - Copilot Completionsclient_app_nameで識別できます。(Microsoft Learn)

管理者が確認すべき設定

Copilot in SSMSをAzure SQL環境へ展開する前に、管理者は次の項目を確認してください。

確認項目見るべき場所判断基準
SSMSのバージョンSSMSのバージョン情報、配布パッケージ原則としてSSMS 22以降へ移行する。SSMS 21利用者は旧Copilot構成の有無を確認する
AI AssistanceワークロードVisual Studio InstallerGitHub Copilot in SSMSを使う端末にAI Assistanceが入っているか確認する
GitHub CopilotアクセスGitHubアカウント、組織契約、管理者ポリシー個人契約で業務DBに接続させない。組織管理下のアカウントを使う
SQL権限Azure SQLのログイン、ユーザー、ロール読み取り用途ならSELECT中心にし、DDL/DML権限を安易に付与しない
コード補完Tools > Options > Text Editor > Inline Suggestions > General必要なチームだけ有効化する。SSMS 22.5.2ではコード補完が既定で無効化された点も確認する
ネットワークプロキシ、ファイアウォール、GitHub Copilot接続Copilotが一時的に到達不能になるケースに備え、ネットワークチームと確認する
ログ%TEMP%\VSGitHubCopilotLogsなど認証失敗や応答不具合の調査手順を用意する
監査Extended EventsCopilot由来のクエリを識別できるようにする
旧Azure OpenAI構成Azure OpenAIリソース、デプロイ、APIキーSSMS 21の旧Copilotを継続するか、SSMS 22へ移行するか決める

SSMS 22.5.2では、コード補完が既定で無効化され、必要な場合はTools > Options > Text Editor > Inline Suggestions > Generalから有効化する形に変更されています。展開後に「Copilotは入っているのに補完が出ない」と混乱しやすいため、管理者向け手順書に明記しておくとよいでしょう。(Microsoft Learn)

SSMS 21からSSMS 22へ移行するときの考え方

SSMS 21でCopilot in SSMSを試していた組織は、まず「旧構成を延命する」のか、「SSMS 22のGitHub Copilotへ移行する」のかを決める必要があります。名前は似ていますが、前提となるサービスが異なるため、単純なアップデート作業として扱うと失敗しやすくなります。

移行前に棚卸しするもの

最低限、次の情報を一覧化してください。

棚卸し対象具体例
利用端末SSMS 21、SSMS 22、Preview版、GA版の混在状況
利用者DBA、開発者、データ分析担当、外部委託先
接続先Azure SQL Database、Azure SQL Managed Instance、本番、検証、開発
認証方式Microsoft Entra ID、SQL認証、管理者実行の有無
旧Copilot設定Azure OpenAI Endpoint、Deployment、API Key、Entra認証
契約GitHub CopilotのBusiness/Enterprise/Free利用可否
セキュリティ要件機密データ、個人情報、プロンプト入力ルール、監査要件

SSMS 21のCopilotはAzure OpenAIリソースを構成する必要があり、APIキーを使わない場合はMicrosoft Entra IDでAzureに認証します。Microsoft Entra認証が推奨される一方で、SSMSをログインユーザーとは別ユーザーとして起動している場合に利用できない制限も記載されています。(Microsoft Learn)

推奨される移行ステップ

ステップ作業失敗しやすいポイント
1利用者と端末を棚卸しするSSMS 21と22が混在し、問い合わせ対応が複雑になる
2GitHub Copilotの契約・組織ポリシーを確認する個人アカウントで業務利用してしまう
3検証用Azure SQLに限定してパイロット導入するいきなり本番DBへ接続させる
4AI Assistanceワークロードを標準配布に含めるか決めるインストール済みだが未サインイン、または未インストールで使えない
5最小権限の接続ユーザーで検証するCopilotの提案を防御機構と誤解する
6コード補完・インラインチャットの利用ルールを決める補完候補を無批判に採用する
7監査・ログ確認手順を用意するCopilot由来のクエリを後から追えない
8開発標準にプロンプト例とレビュー手順を追加するチームごとに使い方がばらつく

移行では、SSMSの更新作業だけでなく「誰が、どのDBで、どの権限で、どのAI機能を使うのか」を決めることが重要です。

Azure OpenAI構成を使っている場合の注意点

SSMS 21のCopilot in SSMSを使っている場合、Azure OpenAIのエンドポイントとデプロイ、モデル、認証方式、課金を確認する必要があります。公式情報では、Azure OpenAIへのアクセスはMicrosoft Entra認証またはAPIキーで提供でき、より安全な選択肢としてMicrosoft Entra認証が推奨されています。また、利用コストはプロビジョニングしたAzure OpenAIリソースと選択モデルの利用状況に依存し、リソースをホストするAzureサブスクリプションに課金されます。(Microsoft Learn)

プレビュー構成では、gpt-4oがサポート対象モデルとして説明されており、トークン上限やデプロイ種別も考慮する必要があります。課金が固定額ではなく利用量に応じて変動する点も明記されているため、検証環境であっても定期的なコスト確認は必須です。(Microsoft Learn)

実務では、次のような運用にしておくと安全です。

項目推奨対応
APIキー共有せず、必要最小限の利用者に限定する。可能ならMicrosoft Entra認証を優先する
Azure OpenAIリソース本番・検証を分け、タグでOwnerやCostCenterを付ける
ネットワークSSMS端末からエンドポイントへ到達できるか確認する
トークン・コスト予算アラートや定期レビューを設定する
移行判断SSMS 22のGitHub Copilotへ移すか、旧構成をいつ停止するか決める

開発者が安全に使うためのプロンプト例

Copilot in SSMSの精度は、接続コンテキストとプロンプトの具体性に大きく左右されます。Microsoft Learnでも、曖昧な質問では曖昧な回答になりやすいため、具体的に依頼することが推奨されています。(Microsoft Learn)

悪い例と良い例を比べると、使い方の差が分かりやすくなります。

悪いプロンプト改善したプロンプト
売上を出してSales.OrderHeaderSales.OrderDetailを使い、過去30日間の売上合計を日別に集計するT-SQLを作成して。出力列は注文日、注文数、税抜売上、税込売上にして
遅いSQLを直して選択中のT-SQLについて、実行計画で確認すべきボトルネック候補を説明し、インデックス追加なしで改善できる書き換え案を提示して
障害を見て現在接続中のAzure SQL Databaseで、ブロッキングの有無を確認する読み取り専用T-SQLを作成して。実行はせず、各列の意味も説明して
このテーブル何?dbo.Customerテーブルの主な列、推測される用途、注意すべき個人情報列の候補を一覧にして。ただし不確かな点は推測と明記して
いい感じに直してSELECT *を使わず、必要列を明示し、日付条件をパラメータ化した形にリファクタリングして

本番環境では、プロンプトに「実行はせず、SQLだけを提示して」「読み取り専用で」「変更前後の差分を説明して」などの条件を入れると、レビューしやすくなります。

データベース指示を活用すると回答のぶれを減らせる

SSMS 22のGitHub Copilotでは、データベース固有のルールや業務定義を「Database instructions」としてデータベース内に保持できます。これは拡張プロパティとして保存され、Copilotが応答時の追加コンテキストとして利用します。たとえば、「売上は返品を差し引いたNetAmountで定義する」「Status = 99はキャンセルを意味する」といったルールを明文化できます。(Microsoft Learn)

特にAzure SQLでは、テーブル名だけでは業務的な意味が分かりにくいケースが多くあります。Copilotに毎回説明するのではなく、重要なテーブルや列に指示を付けておくと、チーム全体で回答の一貫性を高めやすくなります。

ただし、Database instructionsは便利な反面、誤ったルールを保存すると全利用者のCopilot応答に影響します。公式情報では、オブジェクトの拡張プロパティ名としてAGENTS.mdを使い、データベース全体の上位ルールにはCONSTITUTION.mdを使う説明があります。誤った指示はsp_updateextendedpropertysp_dropextendedpropertyで更新・削除できます。(Microsoft Learn)

管理者は、次のようなルールを決めてから使い始めるとよいでしょう。

ルール
登録できる人DBオーナー、DBA、テックリードに限定する
書いてよい内容業務定義、命名規則、参照すべき正規テーブル、禁止クエリ
書いてはいけない内容パスワード、APIキー、個人情報の実データ、社外秘の不要な詳細
レビュープルリクエストや変更申請と同じ扱いにする
棚卸し四半期ごと、またはスキーマ変更時に見直す

失敗しやすいポイント

Copilot in SSMSの導入でよくある失敗は、技術的な不具合よりも「前提の確認漏れ」です。

失敗例原因対策
Copilotのメニューが見つからないAI Assistanceワークロード未導入、またはSSMSバージョン違いVisual Studio InstallerでSSMS 22のAI Assistanceを確認する
サインインしても使えないGitHub Copilotアクセスがない、管理者が無効化している組織のGitHub管理者に契約とポリシーを確認する
補完が表示されないSSMS 22.5.2以降で補完が既定無効Inline Suggestions設定から有効化する
本番DBで危険なSQLを実行しそうになるSQL権限が広すぎる、レビュー手順がない読み取り専用ユーザー、検証DB、レビュー必須にする
回答が業務定義と合わないCopilotがスキーマ名だけで推測しているDatabase instructionsで定義を明文化する
コストが読めないSSMS 21のAzure OpenAI構成で利用量を監視していないAzure側で予算、タグ、利用状況の確認を行う
監査できないCopilot由来のクエリを識別していないExtended Eventsでclient_app_nameを記録する

特に注意したいのは、Copilotの「読み取り判定」や「提案の見た目」をセキュリティ対策と誤解することです。最終的な防御線はAzure SQL側の権限です。Copilotを有効化する前に、利用者が手作業で実行できてしまう危険な操作を洗い出してください。

まず取るべきアクション

Azure SQL環境でCopilot in SSMSを確認するなら、次の順番で進めるのが現実的です。

  1. 利用中のSSMSバージョンを調べ、SSMS 21とSSMS 22の混在状況を把握する
  2. SSMS 21の旧CopilotでAzure OpenAIリソースを使っていないか確認する
  3. SSMS 22へ移行する対象者と、GitHub Copilotの契約・アカウント方針を決める
  4. 検証用Azure SQLでAI Assistanceワークロード、サインイン、チャット、補完をテストする
  5. 最小権限、監査、ログ、プロンプト利用ルールを整備する
  6. 開発者向けに、良いプロンプト例と「必ずレビューするSQL」の基準を共有する

Copilot in SSMSは、Azure SQLの管理やT-SQL開発を効率化できる一方で、導入すれば自動的に安全になる機能ではありません。SSMS 21のCopilotとSSMS 22のGitHub Copilotを区別し、権限・契約・展開・監査の順に確認してから本番利用へ広げることが、失敗しない導入の近道です。

この記事を書いた人

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

コメント

コメントする

目次