Я получаю следующий XML из SQL Server с этим:SQL план выполнения сервера XML в таблицу
DECLARE @XML AS XML
SELECT @XML = qplan.query_plan
FROM sys.dm_exec_query_stats AS qstats
CROSS APPLY sys.dm_exec_query_plan(qstats.plan_handle) AS qplan
CROSS APPLY sys.dm_exec_sql_text(qstats.plan_handle) AS qtext
WHERE text LIKE '%WhenForm%'
Мой вопрос, как я могу нажать эту XML в таблицу с узлами/элементов/значений/в зависимости от того в отдельных столбцах, поэтому я могу запросить его легко?
Немного как этот
;WITH xmlnamespaces (default 'http://schemas.microsoft.com/sqlserver/2004/07/showplan')
SELECT DISTINCT
[Database] = x.value('(@Database)[1]', 'varchar(128)'),
[Schema] = x.value('(@Schema)[1]', 'varchar(128)'),
[Table] = x.value('(@Table)[1]', 'varchar(128)'),
[Alias] = x.value('(@Alias)[1]', 'varchar(128)'),
[Column] = x.value('(@Column)[1]', 'varchar(128)')
FROM @MyQ.nodes('//ColumnReference') x1(x)
Это сводит меня с ума, потому что я могу получить части, но не все это.
<ShowPlanXML xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Version="1.2" Build="11.0.5343.0">
<BatchSequence>
<Batch>
<Statements>
<StmtSimple StatementText="select distinct prac_id,
cast(PatientID as varchar(7)) PatientID,
WhenForm,
cast(TermCode as varchar(12)) TermCode,
ValueAsString,
TermUnit,
Uploaded_Time UploadedTime,
rank() over(partition by prac_id, PatientId, WhenForm, TermCode order by Uploaded_Time desc) ranking
from BPAC_PatAfTermValue

" StatementId="1" StatementCompId="1" StatementType="SELECT" RetrievedFromCache="true" StatementSubTreeCost="0.0260059" StatementEstRows="1" StatementOptmLevel="FULL" QueryHash="0x537C6E8DB411D4C1" QueryPlanHash="0xEF624A887F7525C5" StatementOptmEarlyAbortReason="GoodEnoughPlanFound">
<StatementSetOptions QUOTED_IDENTIFIER="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" NUMERIC_ROUNDABORT="false" />
<QueryPlan NonParallelPlanReason="NoParallelPlansInDesktopOrExpressEdition" CachedPlanSize="40" CompileTime="14" CompileCPU="14" CompileMemory="208">
<Warnings>
<PlanAffectingConvert ConvertIssue="Cardinality Estimate" Expression="CONVERT(varchar(7),[AAA].[dbo].[BPAC_PatAfTermValue].[PatientId],0)" />
<PlanAffectingConvert ConvertIssue="Cardinality Estimate" Expression="CONVERT(varchar(12),[AAA].[dbo].[BPAC_PatAfTermValue].[TermCode],0)" />
</Warnings>
<MemoryGrantInfo SerialRequiredMemory="640" SerialDesiredMemory="704" />
<OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="207537" EstimatedPagesCached="51884" EstimatedAvailableDegreeOfParallelism="2" />
<RelOp NodeId="0" PhysicalOp="Sort" LogicalOp="Distinct Sort" EstimateRows="1" EstimateIO="0.0112613" EstimateCPU="0.000100048" AvgRowSize="48" EstimatedTotalSubtreeCost="0.0260059" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
<ColumnReference Column="Expr1004" />
<ColumnReference Column="Expr1005" />
<ColumnReference Column="Expr1006" />
</OutputList>
<MemoryFractions Input="0.5" Output="1" />
<Sort Distinct="1">
<OrderBy>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Column="Expr1005" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Column="Expr1006" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Column="Expr1004" />
</OrderByColumn>
</OrderBy>
<RelOp NodeId="1" PhysicalOp="Compute Scalar" LogicalOp="Compute Scalar" EstimateRows="1" EstimateIO="0" EstimateCPU="1e-007" AvgRowSize="48" EstimatedTotalSubtreeCost="0.0146446" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
<ColumnReference Column="Expr1004" />
<ColumnReference Column="Expr1005" />
<ColumnReference Column="Expr1006" />
</OutputList>
<ComputeScalar>
<DefinedValues>
<DefinedValue>
<ColumnReference Column="Expr1005" />
<ScalarOperator ScalarString="CONVERT(varchar(7),[AAA].[dbo].[BPAC_PatAfTermValue].[PatientId],0)">
<Convert DataType="varchar" Length="7" Style="0" Implicit="0">
<ScalarOperator>
<Identifier>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
</Identifier>
</ScalarOperator>
</Convert>
</ScalarOperator>
</DefinedValue>
<DefinedValue>
<ColumnReference Column="Expr1006" />
<ScalarOperator ScalarString="CONVERT(varchar(12),[AAA].[dbo].[BPAC_PatAfTermValue].[TermCode],0)">
<Convert DataType="varchar" Length="12" Style="0" Implicit="0">
<ScalarOperator>
<Identifier>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
</Identifier>
</ScalarOperator>
</Convert>
</ScalarOperator>
</DefinedValue>
</DefinedValues>
<RelOp NodeId="2" PhysicalOp="Sequence Project" LogicalOp="Compute Scalar" EstimateRows="1" EstimateIO="0" EstimateCPU="6e-008" AvgRowSize="47" EstimatedTotalSubtreeCost="0.0146445" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
<ColumnReference Column="Expr1004" />
</OutputList>
<SequenceProject>
<DefinedValues>
<DefinedValue>
<ColumnReference Column="Expr1004" />
<ScalarOperator ScalarString="rank">
<Sequence FunctionName="rank" />
</ScalarOperator>
</DefinedValue>
</DefinedValues>
<RelOp NodeId="3" PhysicalOp="Segment" LogicalOp="Segment" EstimateRows="1" EstimateIO="0" EstimateCPU="2e-008" AvgRowSize="47" EstimatedTotalSubtreeCost="0.0146444" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
<ColumnReference Column="Segment1007" />
<ColumnReference Column="Segment1008" />
</OutputList>
<Segment>
<GroupBy>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
</GroupBy>
<SegmentColumn>
<ColumnReference Column="Segment1008" />
</SegmentColumn>
<RelOp NodeId="4" PhysicalOp="Segment" LogicalOp="Segment" EstimateRows="1" EstimateIO="0" EstimateCPU="2e-008" AvgRowSize="47" EstimatedTotalSubtreeCost="0.0146444" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
<ColumnReference Column="Segment1007" />
</OutputList>
<Segment>
<GroupBy>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
</GroupBy>
<SegmentColumn>
<ColumnReference Column="Segment1007" />
</SegmentColumn>
<RelOp NodeId="5" PhysicalOp="Sort" LogicalOp="Sort" EstimateRows="1" EstimateIO="0.0112613" EstimateCPU="0.000100039" AvgRowSize="39" EstimatedTotalSubtreeCost="0.0146444" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
</OutputList>
<MemoryFractions Input="1" Output="0.5" />
<Sort Distinct="0">
<OrderBy>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
</OrderByColumn>
<OrderByColumn Ascending="1">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
</OrderByColumn>
<OrderByColumn Ascending="0">
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
</OrderByColumn>
</OrderBy>
<RelOp NodeId="6" PhysicalOp="Table Scan" LogicalOp="Table Scan" EstimateRows="1" EstimateIO="0.003125" EstimateCPU="0.0001581" AvgRowSize="39" EstimatedTotalSubtreeCost="0.0032831" TableCardinality="0" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
</OutputList>
<TableScan Ordered="0" ForcedIndex="0" ForceScan="0" NoExpandHint="0">
<DefinedValues>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="Prac_Id" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="PatientId" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="WhenForm" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermCode" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="ValueAsString" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="TermUnit" />
</DefinedValue>
<DefinedValue>
<ColumnReference Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" Column="uploaded_time" />
</DefinedValue>
</DefinedValues>
<Object Database="[AAA]" Schema="[dbo]" Table="[BPAC_PatAfTermValue]" IndexKind="Heap" />
</TableScan>
</RelOp>
</Sort>
</RelOp>
</Segment>
</RelOp>
</Segment>
</RelOp>
</SequenceProject>
</RelOp>
</ComputeScalar>
</RelOp>
</Sort>
</RelOp>
</QueryPlan>
</StmtSimple>
<StmtSimple StatementText="
DECLARE @XML AS XML
SELECT @XML = qplan.query_plan 
 FROM sys.dm_exec_query_stats AS qstats 
 CROSS APPLY sys.dm_exec_query_plan(qstats.plan_handle) AS qplan 
 cross apply sys.dm_exec_sql_text(qstats.plan_handle) as qtext 
 where text like '%WhenForm%'
--and query_plan_hash = 0xA15453A5C2D43765

" StatementId="2" StatementCompId="2" StatementType="SELECT" RetrievedFromCache="true" StatementSubTreeCost="0.000490071" StatementEstRows="7.47583" StatementOptmLevel="FULL" QueryHash="0xAC3C87210F7D6B19" QueryPlanHash="0xF5B7BD0B0868667A" StatementOptmEarlyAbortReason="GoodEnoughPlanFound">
<StatementSetOptions QUOTED_IDENTIFIER="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" NUMERIC_ROUNDABORT="false" />
<QueryPlan NonParallelPlanReason="NoParallelPlansInDesktopOrExpressEdition" CachedPlanSize="24" CompileTime="51" CompileCPU="51" CompileMemory="280">
<MemoryGrantInfo SerialRequiredMemory="0" SerialDesiredMemory="0" />
<OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="207537" EstimatedPagesCached="51884" EstimatedAvailableDegreeOfParallelism="2" />
<RelOp NodeId="0" PhysicalOp="Filter" LogicalOp="Filter" EstimateRows="7.47583" EstimateIO="0" EstimateCPU="3.52e-005" AvgRowSize="4085" EstimatedTotalSubtreeCost="0.000490071" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Table="[FNGETQUERYPLAN]" Column="query_plan" />
</OutputList>
<Filter StartupExpression="0">
<RelOp NodeId="1" PhysicalOp="Nested Loops" LogicalOp="Inner Join" EstimateRows="40" EstimateIO="0" EstimateCPU="0.0001672" AvgRowSize="5135" EstimatedTotalSubtreeCost="0.000454871" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Table="[FNGETQUERYPLAN]" Column="query_plan" />
<ColumnReference Table="[FNGETSQL]" Column="text" />
</OutputList>
<NestedLoops Optimized="0">
<OuterReferences>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
</OuterReferences>
<RelOp NodeId="2" PhysicalOp="Nested Loops" LogicalOp="Inner Join" EstimateRows="40" EstimateIO="0" EstimateCPU="0.0001672" AvgRowSize="4119" EstimatedTotalSubtreeCost="0.000247514" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
<ColumnReference Table="[FNGETQUERYPLAN]" Column="query_plan" />
</OutputList>
<NestedLoops Optimized="0">
<OuterReferences>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
</OuterReferences>
<RelOp NodeId="3" PhysicalOp="Table-valued function" LogicalOp="Table-valued function" EstimateRows="40" EstimateIO="0" EstimateCPU="4.0157e-005" AvgRowSize="43" EstimatedTotalSubtreeCost="4.0157e-005" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
</OutputList>
<TableValuedFunction>
<DefinedValues>
<DefinedValue>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
</DefinedValue>
</DefinedValues>
<Object Table="[QUERY_STATS]" />
<ParameterList>
<ScalarOperator ScalarString="(0)">
<Const ConstValue="(0)" />
</ScalarOperator>
<ScalarOperator ScalarString="NULL">
<Const ConstValue="NULL" />
</ScalarOperator>
</ParameterList>
</TableValuedFunction>
</RelOp>
<RelOp NodeId="6" PhysicalOp="Table-valued function" LogicalOp="Table-valued function" EstimateRows="1" EstimateIO="0" EstimateCPU="1.157e-006" AvgRowSize="4085" EstimatedTotalSubtreeCost="4.0157e-005" Parallel="0" EstimateRebinds="36" EstimateRewinds="3" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Table="[FNGETQUERYPLAN]" Column="query_plan" />
</OutputList>
<TableValuedFunction>
<DefinedValues>
<DefinedValue>
<ColumnReference Table="[FNGETQUERYPLAN]" Column="query_plan" />
</DefinedValue>
</DefinedValues>
<Object Table="[FNGETQUERYPLAN]" />
<ParameterList>
<ScalarOperator ScalarString="QUERY_STATS.[plan_handle]">
<Identifier>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
</Identifier>
</ScalarOperator>
</ParameterList>
</TableValuedFunction>
</RelOp>
</NestedLoops>
</RelOp>
<RelOp NodeId="8" PhysicalOp="Table-valued function" LogicalOp="Table-valued function" EstimateRows="1" EstimateIO="0" EstimateCPU="1.157e-006" AvgRowSize="1059" EstimatedTotalSubtreeCost="4.0157e-005" Parallel="0" EstimateRebinds="36" EstimateRewinds="3" EstimatedExecutionMode="Row">
<OutputList>
<ColumnReference Table="[FNGETSQL]" Column="text" />
</OutputList>
<TableValuedFunction>
<DefinedValues>
<DefinedValue>
<ColumnReference Table="[FNGETSQL]" Column="text" />
</DefinedValue>
</DefinedValues>
<Object Table="[FNGETSQL]" />
<ParameterList>
<ScalarOperator ScalarString="QUERY_STATS.[plan_handle]">
<Identifier>
<ColumnReference Table="[QUERY_STATS]" Column="plan_handle" />
</Identifier>
</ScalarOperator>
</ParameterList>
</TableValuedFunction>
</RelOp>
</NestedLoops>
</RelOp>
<Predicate>
<ScalarOperator ScalarString="FNGETSQL.[text] like N'%WhenForm%'">
<Intrinsic FunctionName="like">
<ScalarOperator>
<Identifier>
<ColumnReference Table="[FNGETSQL]" Column="text" />
</Identifier>
</ScalarOperator>
<ScalarOperator>
<Const ConstValue="N'%WhenForm%'" />
</ScalarOperator>
</Intrinsic>
</ScalarOperator>
</Predicate>
</Filter>
</RelOp>
</QueryPlan>
</StmtSimple>
<StmtSimple StatementText="
select @XML" StatementId="3" StatementCompId="3" StatementType="SELECT WITHOUT QUERY" RetrievedFromCache="true" />
</Statements>
</Batch>
</BatchSequence>
</ShowPlanXML>
Пробовали ли вы ['insert' statement] (https://msdn.microsoft.com/en-us/library/ms174335%28v=sql.120%29.aspx)? – GSerg
Помимо моего ответа с 'OPENXML' Вы можете прочитать следующее: http://stackoverflow.com/a/33648946/5089204 Я ответил на аналогичный вопрос, и вы получите идею о том, как сгладить XML в таблицу со многими столбцы ... – Shnugo