patternsqlMinor
Sql Server 2012 Extended Events for Selective Xml Indexing not showing results
Viewed 0 times
showing2012eventsselectivesqlindexingextendedxmlforserver
Problem
I created a Extended Event to monitor and tune a Selective Xml Index
In SSMS when I
All i see is:
Is there another step I need to acomplish before seeing the results?
I followed:
http://www.mssqltips.com/sqlservertip/2731/managing-sql-server-extended-events-in-management-studio/
http://www.sqlskills.com/blogs/bobb/choosing-paths-for-selective-xml-index-part-2-using-the-sxi-xevents/
http://www.sqlskills.com/blogs/jonathan/sql-server-2012-extended-events-update-3-viewing-target-data/
Edit,
Adding requested Query and Index
Query
And Index for the root element and attribute
I ultimately want to index the element and the text() of the F
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)
GOIn SSMS when I
view live data and then execute the xml queries and views, no results are being returned.All i see is:
Is there another step I need to acomplish before seeing the results?
I followed:
http://www.mssqltips.com/sqlservertip/2731/managing-sql-server-extended-events-in-management-studio/
http://www.sqlskills.com/blogs/bobb/choosing-paths-for-selective-xml-index-part-2-using-the-sxi-xevents/
http://www.sqlskills.com/blogs/jonathan/sql-server-2012-extended-events-update-3-viewing-target-data/
Edit,
Adding requested Query and Index
Query
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)And Index for the root element and attribute
CREATE SELECTIVE XML INDEX [xsi_XmlTable] ON [dbo].[XmlTable]
(
[XmlColumn]
)
WITH XMLNAMESPACES
(
DEFAULT 'http://tempuri.org/tst.xsd'
)
FOR
(
[1] = '/Root/Stuff' as XQUERY 'node()',
[2] = '/Root/Stuff/@id' as SQL [int] SINGLETON
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90)
GOI ultimately want to index the element and the text() of the F
Solution
Not sure what you are seeing and not seeing in the event log but it works as expected for me (version 11.0.3000).
The mistake you did with your extra path expressions is that you forgot
Testing this with the extended events and looking at the execution plan for operator
Note 1: You have mixed up the names of the columns in the index and your query. That might contribute to the problems you have with extended event.
Note 2: The events for missing selective XML indexes is generated when the query is compiled. If the query plan is used from the cache you will not see any events.
The mistake you did with your extra path expressions is that you forgot
Stuff in the path.Testing this with the extended events and looking at the execution plan for operator
Table Valued Function XML Reader ... (there should be none), I found that one extra path is enough for your queries to make it use only the index to fetch the data [4] = '/Root/Stuff/Forms' as SQL nvarchar(25). You can have [3] = '/Root/Stuff/Forms' as XQUERY 'node()' in there as well and perhaps it will make a difference or not depending on what your XML look like.Note 1: You have mixed up the names of the columns in the index and your query. That might contribute to the problems you have with extended event.
Note 2: The events for missing selective XML indexes is generated when the query is compiled. If the query plan is used from the cache you will not see any events.
Context
StackExchange Database Administrators Q#45952, answer score: 6
Revisions (0)
No revisions yet.