Azure SQL データベースの Microsoft Copilot スキル (プレビュー)
適用対象: Azure SQL Database
Azure の Microsoft Copilot が Azure SQL Database と統合され、SQL に依存するアプリケーションの管理と操作が強化されました。 自然言語から SQL への変換とデータベース管理のセルフヘルプを提供することで、Azure portal の生産性が向上します。
コパイロットは、ユーザーの質問に対し関連する回答を提供し、データベース コンテキスト、ドキュメント、動的管理ビュー、クエリ ストア、その他のナレッジ ソースを活用してデータベース管理を簡素化します。 次に例を示します。
- データベース管理者は、データベースを独力で管理して問題を解決したり、データベースのパフォーマンスや機能をより詳細に把握したりできます。
- 開発者は、テキストまたは会話の場合と同様にデータについて質問して、T-SQL クエリを生成することができます。 開発者は、生成されたクエリの詳細な説明によって、クエリをより速く記述する方法を習得することもできます。
Copilot は、パブリック ドキュメント、動的管理ビュー、カタログ ビュー、およびAzure サポート可能性診断を使用して、データを統合し、適切な応答を作成します。
Azure SQL データベースのエクスペリエンス
現在のプレビューには、ふたつの異なるエクスペリエンスが含まれています。
Microsoft Copilot in Azure 統合: このエクスペリエンスにより、Microsoft Copilot in Azure に Azure SQL データベース スキルが追加され、セルフガイド付きの支援を受けた顧客は、データベースを管理して問題を個別に解決できるようになります。
自然言語からの SQL 生成: Azure portal クエリ エディターでのこのエクスペリエンスにより、自然言語クエリが SQL に変換され、データベースの操作がより直感的になります。 Azure SQL データベースの SQL に対する Copilot の自然言語の機能のチュートリアルと例については、「Azure portal クエリ エディターの SQL に対する自然言語 (プレビュー)」を参照してください。
自然言語を SQL クエリに
Azure portal クエリ エディター内のこのエクスペリエンスでは、テーブル名とビュー名、列名、主キー、外部キーのメタデータを利用して T-SQL コードを生成します。 その後、コード提案を確認して実行できます。
この統合により、Microsoft Copilot in Azure で次のようなプロンプトで質問に答えることができます。
Which agents have listed more than two properties for sale?
Tell me the rank of each agent by property sales and show name, total sales, and rank
Show me a pivot summary table that displays the number of properties sold in each year from 2020 to 2023
などの高度なシナリオでも
Azure SQL データベースの SQL に対する Copilot の自然言語の機能のチュートリアルと例については、「Azure portal クエリ エディターの SQL に対する自然言語 (プレビュー)」を参照してください。
Azure テナントで Microsoft Copilot を有効にする
Microsoft Copilot の有効化の詳細については、Microsoft Copilot for Azure (プレビュー) を参照してください。
Microsoft Copilot in Azure の強化されたシナリオ
Azure portal 内で Microsoft Copilot in Azure に質問し、役に立つ、コンテキストに富んだ提案を受け取ることができます。
警告
Microsoft Copilot in Azure は、大規模な言語モデル (LLM) を利用したエクスペリエンスのプレビュー セットです。 Copilot によって生成される出力には、誤り、偏り、またはその他の意図しないコンテンツが含まれている可能性があります。 生成 AI モデルと同様に、人は、Copilot によって生成された出力を使う前に確認する必要があります。
Microsoft Copilot in Azure のシナリオ例を次に示します。
低速の Azure SQL データベースを使用している場合は、プロンプト
My database is slow
を表示できます。Microsoft Copilot in Azure (プレビュー) では、Azure portal のコンテキストに基づいてデータベースの検索が開始されます。 チェック後、Copilot は問題の原因となる可能性のある特定の領域について詳しく説明します。 この例では、CPU 使用率が高い特定のクエリが発生しました。
How can I tune that high CPU query?
のプロンプトで会話と調査を続行できます。Copilot は、このプロンプトが前に識別したクエリを参照していることを理解し、新しいインデックス候補を提供します。
サンプル プロンプト
Microsoft Copilot in Azure に、さまざまな機能領域に関するプロンプトを入力できます。以下に例を示します。
スキル名 | スキルの説明 | プロンプトの例 |
---|---|---|
アクティブ ユーザーの接続 | データベースへのアクティブユーザーの接続を表示します。 | Who are currently actively connected to the database? |
アンチパターン クエリ分析 | アンチパターンのクエリと、パフォーマンスに対する潜在的な影響を識別します。 | Show me all the queries in my workload that have anti-patterns in them. |
自動チューニング分析 | 自動チューニングエラーと潜在的な解決策を調査します。 | Why is automatic plan correction failing? |
データベースの情報 | データベースに関する基本情報を取得します。 | What is the name of the logical server for this database? |
セッション分析のブロック | ブロッキング セッションを識別して分析します。 | Check top blocking sessions. |
互換性レベル | データベース互換性レベルに関する情報を提供します。 | What's the compatibility level of this database? |
接続文字列の生成 | データベースに適切な接続文字列を生成します。 | Which connection string should I use to connect to my DB? |
Copilot ヘルプ | Azure SQL に関する一般的な支援とガイダンスを提供します。 | What can you do related to Azure SQL? |
データ同期分析 | データ同期の問題 (特にセカンダリ) のトラブルシューティングを行います。 | Why do my secondaries not have the latest data? |
データベースとテーブルのサイズ | データベースとテーブルのサイズに関する情報を提供します。 | What's the size of this database? |
データベース パフォーマンスの分析 | データベースの全体的なパフォーマンスを分析し、改善を提案します。 | Why is my database slow? |
データベース権限の一覧 | ユーザーのデータベースの権限とアクセス レベルを一覧表示します。 | Which users have access to master database? |
デッドロックの分析 | デッドロックを調査し、解決策を提案します。 | Why am I getting deadlock errors? How can I fix it? |
接続切断の分析 | データベース接続が切断されたインスタンスを調査します。 | Show me all the instances where my database had a dropped connection. |
インデックス断片化の分析 | インデックスの断片化とそのパフォーマンスへの影響を識別します。 | Help me find fragmented indexes. |
一般的なアンチパターン情報 | 一般的な SQL アンチパターンに関する一般的な情報を提供します。 | What are the most common SQL antipatterns? |
サーバーのデータベース名を取得する | 特定のサーバー上のすべてのデータベースを一覧表示します。 | List all the databases on this server. |
CPU 使用率の高いクエリの分析 | CPU 使用率が高いクエリを識別して分析します。 | Why is the CPU usage high on this database? |
高 IO のトラブルシューティング | データベースで高い I/O が発生しているかどうかをチェックします。 | Is my database experiencing high I/O? |
インデックス一覧 | データベース内のすべてのインデックスを表示します。 | What are all the indexes? |
特定テーブルのインデックス推奨事項 | 1 つ以上のテーブルのインデックスに関する推奨事項を提示します。 | Should I add an index on this table? |
最新のバックアップ情報 | 最新のデータベースのバックアップに関する情報を提供します。 | When was the most recent backup of my database created? |
記憶領域が少ない問題のトラブルシューティング | データベース内のスペースを解放するための提案をします。 | Is there a way I can free up space in my database? |
MAXDOP の最適化 | MAXDOP 設定の最適化を分析して提案します。 | What's the current MAXDOP and how to optimize? |
メモリ許可の分析 | メモリ許可の問題と潜在的な原因を分析します。 | Why am I having memory grant issues? |
不足しているインデックスの提案 | クエリのパフォーマンスを向上させるために、不足しているインデックスを提案します。 | Missing index suggestion for improving query performance? |
ポイントインタイム リストアの保持 | ポイントインタイム リストアの保持期間に関する情報を提供します。 | How far back in time can I go for a point-in-time restore? |
クエリ パフォーマンス分析 | 実行速度が遅いクエリのソリューションを調査して提案します。 | Why is this query running so slow? |
クエリ ストア - 強制プランを検索する | 指定した期間内に強制プランを含むクエリを表示します。 | Show me all the queries from the past 2 days that have forced plans. |
クエリ ストア - 高い実行時間変動を見つける | 実行時間の変動が大きいクエリを識別します。 | Which queries on my database have a high variation in execution time? |
クエリ ストア - 最も高い I/O クエリを検索する | I/O 使用率が最も高いクエリを表示します。 | What queries on this database use the most I/O? |
クエリ ストア - クエリ ID でクエリ テキストを取得する | 指定されたクエリ ID に基づいてクエリ テキストを表示します。 | What is the query text for Query ID 1333? |
クエリ ストア - 実行された最新のクエリ | 最近実行されたクエリを表示します。 | What are the most recently executed queries in my database? |
クエリ ストア - 実行時間が最も長いクエリ | 指定した時間枠内で実行時間が最も長いクエリを表示します。 | What are the longest running queries in the past day? |
クエリ ストア - 待機時間が最も長いクエリ | 待機時間が最も長いクエリを識別します。 | Which queries have had the highest wait times? |
クエリ ストア - 複数のプランを持つクエリ | 複数の実行プランを持つクエリをチェックします。 | Show me the queries that have had more than one execution plan. |
クエリ ストア - 低下したクエリ | パフォーマンスが低下したクエリを識別します。 | Have any of my queries gotten significantly slower recently? |
クエリ ストア - プランの変更によるクエリの低下 | パフォーマンスが低下したプランの変更を含むクエリを表示します。 | Are there any queries that had plan changes and regressed in performance? |
クエリ ストア - クエリごとの実行を表示する | 各クエリの実行回数を表示します。 | What queries are being executed most often? |
クエリ ストア - リソース消費量が最も多いクエリ | リソース消費量が最も多いクエリを識別して分析します。 | What are the most expensive queries in my workload? |
クエリ ストア モードのトラブルシューティング | 読み取り専用モードクエリ ストアを調査して解決策を提供します。 | Why is Query Store in read-only mode? How can I fix it? |
関連ドキュメント | ユーザーのクエリに基づいて関連するドキュメントへのリンクを提供します。 | What does database compatibility level mean? |
リソース使用状況分析 | リソースの使用状況と潜在的なボトルネックを分析します。 | Is the database hitting resource limits? Which limits? |
テーブル リスト | データベース内のすべてのテーブルを一覧表示します。 | What are the names of all the tables? |
エラー 18456 のトラブルシューティング | SQL エラー 18456 に役立ちます。 | Help me with SQL error 18456 |
エラー 40615 のトラブルシューティング | SQL エラー 40615 に役立ちます。 | Help me with SQL error 40615 |
接続エラーのトラブルシューティング | 接続タイムアウトの原因をチェックします。 | Check for causes of connection timeouts in my database |
ログイン エラーのトラブルシューティング | ログインエラーの問題を診断します。 | Why can't I login to my database? |
クエリ タイムアウトのトラブルシューティング | クエリ タイムアウトの問題に対処します。 | Help me with query timeout issues |
待機に関する統計分析 | 待機に関する統計と潜在的なパフォーマンスのボトルネックを分析します。 | What do the wait statistics look like for my database? |
ワークロードの増加とスケーリングの分析 | ワークロードの増加とスケーリングの潜在的な必要性を評価します。 | Has increased workload or traffic caused performance issues? |
責任ある AI
Microsoft が Microsoft Copilot in Azure で責任ある AI ツールを実装する方法の詳細については、「Microsoft Copilot in Azure の責任ある AI に関する FAQ (プレビュー)」を参照してください。
トラブルシューティング
Azure SQL データベースに関するいくつかの質問に答えるために、Microsoft Copilot は、現在の Azure portal ログイン コンテキストのコンテキストでデータベースに接続し、動的管理ビューとクエリ ストア システム テーブルに対してクエリを実行する必要があることがあります。
Azure SQL Database に接続する場合、次の考慮事項と制限事項が適用されます。
サーバー上の IP を許可リストに登録します。 必要な情報を正常に抽出できるようにするには、サーバーの許可されたファイアウォール規則に送信 IP アドレスを追加してデータベースにアクセスすることが必要です。 詳細については、Azure SQL Database と Azure Synapse の IP ファイアウォール規則に関するページを参照してください。
TCP ポート 433 と 1433 を開きます。 送信ポート TCP 1433 と 433 を有効にしていない場合、データベースから情報を取得しようとするプロンプトの実行中に永続的なエラーが発生する可能性があります。 これらのエラーは、Copilotがポート443および1443を介してデータベースに通信できないために発生します。 これらのポートでアウトバウンド HTTPS トラフィックを有効にする必要があります。 会社の IT 部門は、ローカル ネットワークでこの接続を開く承認を得ることが必要な場合があります。 詳細については、「Azure SQL データベース の接続アーキテクチャ」を参照してください。
データベースに対するアクセス許可。 Copilot の使用は現在のユーザー コンテキストに代わって動作するため、データベースで DMV クエリを実行するアクセス許可がない場合には、Copilot は質問に正しく答えられません。 質問に答えるために必要なシステム厩舎やDMVによっては、VIEW DATABASE STATE、VIEW SERVER STATE、またはVIEW SERVER PERFORMANCE STATE権限が、余分な管理者権限を与えることなく、必要なアクセスを提供するかもしれません。 詳細については、GRANT データベースの権限の許可 (Transact-SQL) に関する記事を参照してください。