我创建了一个扩展事件来监视和调整 Selective Xml 索引
CREATE EVENT SESSION [SelectiveXmlIndexing] ON SERVER
ADD EVENT sqlserver.selective_xml_index_no_compatible_sql_type,
ADD EVENT sqlserver.selective_xml_index_no_compatible_xsd_types,
ADD EVENT sqlserver.selective_xml_index_path_not_indexed,
ADD EVENT sqlserver.selective_xml_index_path_not_supported
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO
Run Code Online (Sandbox Code Playgroud)
在 SSMS 中,当我view live data
然后执行xml
查询和视图时,没有返回任何结果。
我所看到的是:
在看到结果之前,我还需要完成其他步骤吗?
我跟着:
http://www.mssqltips.com/sqlservertip/2731/managing-sql-server-extended-events-in-management-studio/
编辑,
添加请求的查询和索引
询问
WITH XMLNAMESPACES ( 'http://tempuri.org/tst.xsd' as tst )
SELECT
x.XmlId
,a.value('@id', 'int') As ColumnA
,b.value('.', 'NVARCHAR(25)') ColumnB
From
dbo.XmlTable As X
Cross Apply x.XmlContent.nodes('tst:Root/tst:Stuff') aa(a)
Cross Apply a.nodes('tst:Forms') bb(b)
Run Code Online (Sandbox Code Playgroud)
以及根元素和属性的索引
CREATE SELECTIVE XML INDEX [xsi_XmlTable] …
Run Code Online (Sandbox Code Playgroud)