ストアド プロシージャは、Data API Builder (DAB) で GraphQL 操作として公開できます。 この方法は、単純なテーブルまたはビューで処理されないカスタム ロジック、フィルター処理、検証、または計算結果を含むシナリオに役立ちます。
コンフィギュレーション
ストアド プロシージャを公開するには:
-
source.typeを"stored-procedure"に設定する -
source.objectを完全修飾プロシージャ名に設定する - 省略可能な
parametersを必要に応じて既定値で定義します -
graphql.operationを"query"または"mutation"に設定するか、省略して既定値に設定します"mutation" -
"execute"アクションを使用してアクセス許可を付与する
CLI の例
dab add GetCowrittenBooksByAuthor \
--source dbo.stp_get_all_cowritten_books_by_author \
--source.type "stored-procedure" \
--parameters.name "searchType" \
--parameters.required "false" \
--parameters.default "default-value" \
--parameters.description "The type of search to perform" \
--permissions "anonymous:execute" \
--graphql.operation "query"
構成の例
"GetCowrittenBooksByAuthor": {
"source": {
"type": "stored-procedure",
"object": "dbo.stp_get_all_cowritten_books_by_author",
"parameters": [
{
"name": "searchType",
"required": false,
"default": "default-value",
"description": "The type of search to perform"
}
]
},
"graphql": {
"operation": "query"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "execute" ]
}
]
}
Warnung
DAB 2.0 では、 parameters のディクショナリ形式 ( { "searchType": "default-value" } など) は非推奨です。 前の例に示した配列形式を使用します。 旧形式は、下位互換性のために引き続き受け入れられます。
ヒント
パラメーター配列形式の詳細については、 ソース構成を参照してください。
GraphQL の動作
-
graphql.operationは"query"または"mutation"である必要があります。 - フィールドは、自動的に
executeで接頭辞が付けられます。例えば、executeGetCowrittenBooksByAuthor - パラメーターは GraphQL 引数として渡されます
クエリの例
query {
executeGetCowrittenBooksByAuthor(author: "asimov") {
id
title
}
}
カスタム MCP ツール
DAB 2.0 以降では、ストアド プロシージャをカスタム モデル コンテキスト プロトコル (MCP) ツールとして公開できます。 ストアド プロシージャ エンティティに "custom-tool": true を設定すると、DAB は MCP tools/list および tools/call エンドポイントに名前付きツールとしてプロシージャを動的に登録します。 AI エージェントは、プロシージャシグネチャと一致するパラメーターを使用して、ツールを名前で直接検出して呼び出すことができます。
"GetBookById": {
"source": {
"type": "stored-procedure",
"object": "dbo.get_book_by_id"
},
"mcp": {
"custom-tool": true
},
"permissions": [
{
"role": "anonymous",
"actions": [ "execute" ]
}
]
}
CLI に相当するもの:
dab add GetBookById \
--source dbo.get_book_by_id \
--source.type "stored-procedure" \
--permissions "anonymous:execute" \
--mcp.custom-tool true
注
このセクションで説明する SQL MCP Server 2.0 の機能は現在プレビュー段階であり、一般公開前に変更される可能性があります。 詳細については、「 バージョン 2.0 の新機能」を参照してください。
制限事項
- 最初の 結果セット のみが返されます
- 改ページ、フィルター処理、および順序付けはサポートされていません
- リレーションシップはサポートされていません
- のメタデータが必要です
sys.dm_exec_describe_first_result_set - キーで 1 つの項目を返すことはできません
- パラメーター レベルの認証なし