適用対象:SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL マネージド インスタンス
Microsoft Fabric の SQL データベース
この記事には、SQL Database エンジンのベクターと埋め込みについてよく寄せられる質問が含まれています。
サンプルと例については、 SQL AI サンプル リポジトリを参照してください。
T-SQL で取得拡張生成 (RAG) ソリューションを完全に作成できますか?
はい。SQL データベース エンジンのネイティブ機能によって駆動される Retrieval-Augmented Generation (RAG) ソリューションを作成できます。 T-SQL を使用して、必要なデータの取得と処理のロジックを実装しながら、生成の側面のために外部 AI サービスと統合することもできます。 ベクトルは SQL エンジンにネイティブに格納でき、自然言語理解機能を提供する LLM への接続は、 sp_invoke_external_rest_endpointを介して可能です。
T-SQL で RAG ソリューションを完全に作成する理由
既存のアプリケーションを改善し、AI 機能をサポートするように再設計する必要がない場合は、SQL エンジンの組み込み機能を使用して、データベース クエリ内に直接 AI 機能を実装します。 アプリケーション アーキテクチャに大きな変更を加えるのではなく、AI 機能を組み込むために T-SQL コードを更新するだけで済みます。
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 サービスを安全に認証してアクセスできます。 詳細については、以下を参照してください:
データはモデルのトレーニングに Microsoft によって使用されますか?
No. データは、モデルのトレーニングに Microsoft によって使用されません。 詳細については、 責任ある AI のドキュメントを参照してください。
Azure OpenAI サービスではどのようなデータが処理されますか?
Microsoft Foundry の Azure Direct Models にお客様が提供するデータがどのように処理されるかの詳細については、Azure OpenAI Service のデータ、プライバシー、セキュリティを参照してください。 「Azure Direct Model」とは、Foundry で「Azure Direct Model」として指定およびデプロイされる AI モデルであり、Azure OpenAI モデルが含まれます。
未承認の AI エージェント アクセスからデータを保護するにはどうすればよいですか?
Azure SQL と SQL Server では、きめ細かなアクセス セキュリティが広範にサポートされています。
- データベース エンジンのアクセス許可の概要: アクセス許可を使用して、詳細なレベルでデータベース オブジェクトへのアクセスを制御します。
- ガードレール内で明示的に承認された操作を実行するストアド プロシージャを使用します。 基になるテーブルへの直接アクセスを許可するのではなく、必要に応じてエージェントに EXECUTE アクセス許可を付与します。 このようにして、エージェントは、事前に記述された T-SQL ステートメントを使用して、データベースと決定的に対話します。
- Row-Level セキュリティ (RLS):クエリを実行するユーザーの特性に基づいて、テーブル内の行へのアクセスを制御します。 この ビデオでは、RLS の動作を確認できます。
- 動的データ マスク: 機密データを特権のないユーザーにマスクすることで、機密データの公開を制限します。
- Always Encrypted: 機密データを保存時および転送中に暗号化して保護し、承認されたユーザーのみが暗号化されていないデータにアクセスできるようにします。
SQL データベース エンジンでの監査の詳細については、次を参照してください。