適用対象: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL データベース
この記事には、SQL Database エンジンのベクターと埋め込みについてよく寄せられる質問が含まれています。
サンプルと例については、 SQL AI サンプル リポジトリを参照してください。
T-SQL で取得拡張生成 (RAG) ソリューションを完全に作成できますか?
はい。T-SQL を使用して Retrieval-Augmented Generation (RAG) ソリューションを作成できます。 この種類のソリューションでは、SQL Database エンジンの機能を利用して、データを効果的に管理およびクエリします。 T-SQL を使用して、必要なデータの取得と処理のロジックを実装しながら、生成の側面のために外部 AI サービスと統合することもできます。 ベクトルは SQL エンジンにネイティブに格納でき、自然言語理解機能を提供する LLM への接続は、 sp_invoke_external_rest_endpointを介して可能です。
- RAG ソリューションを実装し、Azure SQL DB から OpenAI を直接呼び出して、データに関する質問をする
- 構造化された出力とsp_invoke_external_rest_endpointを使用した予測可能な LLM 結果
T-SQL で RAG ソリューションを完全に作成する理由
既存のアプリケーションを改善し、AI 機能をサポートするように再設計する必要がない場合は、SQL エンジンの組み込み機能を使用して、データベース クエリ内に直接 AI 機能を実装します。 アプリケーション アーキテクチャに大きな変更を加えるのではなく、AI 機能を組み込むために T-SQL コードを更新するだけで済みます。
- Windows Server、SQL Server、および .NET ワークロードの移行と最新化
- Azure SQL、OpenAI、および Data API ビルダーを使用してアプリケーションを最新化する
RAG 用の Azure SQL または Fabric SQL を使用するエンド ツー エンドのサンプルはありますか?
Azure SQL と Fabric SQL を使用した RAG のエンド ツー エンドのサンプルは、次のページにあります。
列や行などの構造化データに対して RAG を操作することはできますか?
構造化データを操作する必要がある場合でも、AI モデルで理解できる方法で構造化データを表すために埋め込みを使用するなど、他の手法と組み合わせることで RAG を活用できます。 これにより、RAG の機能の恩恵を受けながら、構造化データに対して取得タスクと生成タスクを実行できます。
完全で複雑なスキーマを LLM に送信すると、SQL の生成が悪くなるのはなぜですか。
数百のテーブルとビューを含む複雑で大規模なデータベース スキーマがある場合は、マルチエージェント アプローチを使用してノイズを軽減し、AI モデルがスキーマの特定の領域に集中できるようにすることをお勧めします。 完全な説明と、エンド ツー エンドの作業サンプルについては、以下を参照してください。
マネージド ID を使用して Azure OpenAI に接続できますか?
はい。マネージド ID を使用して Azure OpenAI に接続できます。 これにより、資格情報を直接管理しなくても、Azure OpenAI サービスを安全に認証してアクセスできます。 詳細については、以下を参照してください。
- マネージド ID を使用して Azure SQL から Azure OpenAI を呼び出すときにパスワードレスに移行する
- マネージド ID を使用して Azure OpenAI で EXTERNAL MODEL を作成する
データはモデルのトレーニングに Microsoft によって使用されますか?
No. データは、モデルのトレーニングに Microsoft によって使用されません。 詳細については、 責任ある AI のドキュメント を参照してください。
Azure OpenAI サービスではどのようなデータが処理されますか?
詳細については 、Azure OpenAI サービスのデータ、プライバシー、セキュリティ に関するドキュメントを参照してください。
未承認の AI エージェント アクセスからデータを保護するにはどうすればよいですか?
Azure SQL と SQL Server では、きめ細かなアクセス セキュリティが広範にサポートされています。
- データベース エンジンのアクセス許可の概要: アクセス許可を使用して、詳細なレベルでデータベース オブジェクトへのアクセスを制御します。
- Row-Level セキュリティ (RLS):クエリを実行するユーザーの特性に基づいて、テーブル内の行へのアクセスを制御します。 この ビデオでは、RLS の動作を確認できます。
- 動的データ マスク: 機密データを特権のないユーザーにマスクすることで、機密データの公開を制限します。
- Always Encrypted: 機密データを保存時および転送中に暗号化して保護し、承認されたユーザーのみが暗号化されていないデータにアクセスできるようにします。
また、Azure SQL と SQL Server の監査機能を使用して、データベースで実行された操作を監査することもできます。