{"id":535,"date":"2010-12-29T17:12:00","date_gmt":"2010-12-29T17:12:00","guid":{"rendered":"\/blogs\/jonathan\/post\/An-XEvent-a-Day-(29-of-31)-The-Future-Looking-at-Database-Startup-in-Denali.aspx"},"modified":"2017-04-13T12:16:31","modified_gmt":"2017-04-13T16:16:31","slug":"an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/","title":{"rendered":"An XEvent a Day (29 of 31) &#8211; The Future &#8211; Looking at Database Startup in Denali"},"content":{"rendered":"<p>As I have said previously in this series, one of my favorite aspects of Extended Events is that it allows you to look at what is going on under the covers in SQL Server, at a level that has never previously been possible.&#160; SQL Server Denali CTP1 includes a number of new Events that expand on the information that we can learn about how SQL Server operates and in today\u2019s blog post we\u2019ll look at how we can use those Events to look at what happens when a database starts up inside of SQL Server.<\/p>\n<p>First lets create our Event Session, which will collect a large number of events that relate to the operations that occur when a database starts in SQL Server.&#160;&#160; <\/p>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">DECLARE <\/span><span style=\"color: teal\">@sqlcmd <\/span><span style=\"color: blue\">nvarchar<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">max<\/span><span style=\"color: gray\">) =\r\n<\/span><span style=\"color: red\">'IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE\r\nname=''MonitorStartupLogRecovery'')\r\n   DROP EVENT SESSION [MonitorStartupLogRecovery] ON SERVER;\r\nCREATE EVENT SESSION [MonitorStartupLogRecovery]\r\nON SERVER\r\nADD EVENT sqlserver.database_started \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.databases_log_file_used_size_changed \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.databases_log_flush \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.databases_log_flush_wait \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.file_read \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.file_read_completed \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.file_write_completed \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.file_written \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_block_cache \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_block_consume \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_blocks_uncache \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_cache_buffer_refcounter_change \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_consumer_act \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_flush_complete \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_flush_requested \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_flush_start \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.log_single_record \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.new_log_interest_flip \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.redo_single_record \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.redo_target_set \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">')),\r\nADD EVENT sqlserver.transaction_log \r\n(WHERE (database_id = ' <\/span><span style=\"color: gray\">+ <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: magenta\">DB_ID<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'AdventureWorks2008R2'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS varchar<\/span><span style=\"color: gray\">(<\/span>3<span style=\"color: gray\">)) + <\/span><span style=\"color: red\">'))\r\nADD TARGET package0.asynchronous_file_target(\r\n     SET filename=''C:\\SQLBlog\\MonitorStartupLogRecovery.xel'',\r\n         metadatafile=''C:\\SQLBlog\\MonitorStartupLogRecovery.xem'')\r\nWITH (MAX_MEMORY = 8192KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, STARTUP_STATE = ON)'\r\n<\/span><span style=\"color: blue\">EXEC<\/span><span style=\"color: gray\">(<\/span><span style=\"color: teal\">@sqlcmd<\/span><span style=\"color: gray\">)\r\n<\/span><span style=\"color: blue\">GO\r\n<\/span><\/pre>\n<\/blockquote>\n<p>With the Event Session created, we can make some changes that write to our test database to see what happens when the database is recovered at startup. We are going to can make two changes to the database.&#160; First we\u2019ll begin a transaction and create a table with 10 rows of data in it without committing the transaction.&#160; <\/p>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">USE <\/span><span style=\"color: teal\">AdventureWorks2008R2\r\n<\/span><span style=\"color: blue\">GO\r\n<\/span><span style=\"color: green\">-- Begin a Transaction and leave it open\r\n<\/span><span style=\"color: blue\">BEGIN TRANSACTION\r\n<\/span><span style=\"color: green\">-- Create the First Table\r\n<\/span><span style=\"color: blue\">SELECT TOP <\/span>10 <span style=\"color: gray\">*\r\n<\/span><span style=\"color: blue\">INTO <\/span><span style=\"color: teal\">TestTable\r\n<\/span><span style=\"color: blue\">FROM <\/span><span style=\"color: teal\">Sales<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">SalesOrderDetail sod\r\n<\/span><span style=\"color: blue\">GO\r\n<\/span><\/pre>\n<\/blockquote>\n<p>Now in a New Query Window, we\u2019ll create a second table with 10 rows of data without opening a transaction, and then force a dirty shutdown of the Database Engine.<\/p>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">USE <\/span><span style=\"color: teal\">AdventureWorks2008R2\r\n<\/span><span style=\"color: blue\">GO\r\n<\/span><span style=\"color: green\">-- Create a Second Table\r\n<\/span><span style=\"color: blue\">SELECT TOP <\/span>10 <span style=\"color: gray\">*\r\n<\/span><span style=\"color: blue\">INTO <\/span><span style=\"color: teal\">TestTable2\r\n<\/span><span style=\"color: blue\">FROM <\/span><span style=\"color: teal\">Sales<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">SalesOrderDetail sod\r\n<\/span><span style=\"color: blue\">GO\r\n<\/span><span style=\"color: green\">-- Flush changes to data file\r\n<\/span><span style=\"color: blue\">CHECKPOINT\r\nGO\r\n<\/span><span style=\"color: green\">-- Force Shutdown the Engine\r\n<\/span><span style=\"color: blue\">SHUTDOWN<\/span><\/pre>\n<\/blockquote>\n<p>Once SHUTDOWN is issued, the process terminates, and the Database Engine will need to be restarted from the Services Snapin, the SQL Server Configuration Manager, or through SSMS.&#160; When the Engine starts up, the Event Session will become active, and the Events will be logged to the package0.asynchronous_file_target for analysis.&#160; Once recovery completes, we can drop the Event Session from the Server, so that the buffers flush, and we can then begin our analysis of the collected information.<\/p>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">USE <\/span><span style=\"color: teal\">tempdb\r\n<\/span><span style=\"color: blue\">GO\r\n\r\n<\/span><span style=\"color: green\">-- Read the Raw Event data into a table\r\n<\/span><span style=\"color: blue\">SELECT <\/span><span style=\"color: magenta\">CAST<\/span><span style=\"color: gray\">(<\/span><span style=\"color: teal\">event_data <\/span><span style=\"color: blue\">AS XML<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">event_data\r\n<\/span><span style=\"color: blue\">INTO <\/span><span style=\"color: teal\">TargetEvents\r\n<\/span><span style=\"color: blue\">FROM <\/span><span style=\"color: green\">sys<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">fn_xe_file_target_read_file<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'C:\\SQLBlog\\MonitorStartupLogRecovery*.xel'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'C:\\SQLBlog\\MonitorStartupLogRecovery*.xem'<\/span><span style=\"color: gray\">, null, null)\r\n\r\n<\/span><span style=\"color: green\">-- Fetch the Event Data from the Raw Event Data into another table\r\n<\/span><span style=\"color: blue\">SELECT \r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/@name)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'varchar(50)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">event_name<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: magenta\">DATEADD<\/span><span style=\"color: gray\">(<\/span><span style=\"color: teal\">hh<\/span><span style=\"color: gray\">, \r\n            <\/span><span style=\"color: magenta\">DATEDIFF<\/span><span style=\"color: gray\">(<\/span><span style=\"color: teal\">hh<\/span><span style=\"color: gray\">, <\/span><span style=\"color: magenta\">GETUTCDATE<\/span><span style=\"color: gray\">(), <\/span><span style=\"color: magenta\">CURRENT_TIMESTAMP<\/span><span style=\"color: gray\">), \r\n            <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/@timestamp)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'datetime2'<\/span><span style=\"color: gray\">)) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[timestamp]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: magenta\">COALESCE<\/span><span style=\"color: gray\">(<\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;database_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">), \r\n             <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/action[@name=&quot;database_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">)) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">database_id<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;count&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[count]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;start_log_block_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[start_log_block_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;is_read_ahead&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[is_read_ahead]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;private_consumer_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[private_consumer_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;mode&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[mode]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;file_handle&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[file_handle]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;offset&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[offset]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;file_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[file_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;filegroup_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[filegroup_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;size&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[size]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;path&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[path]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;duration&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[duration]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;io_data&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[io_data]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;resource_type&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[resource_type]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;owner_type&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[owner_type]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;transaction_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[transaction_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;lockspace_workspace_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[lockspace_workspace_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;lockspace_sub_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[lockspace_sub_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;lockspace_nest_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[lockspace_nest_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;resource_0&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[resource_0]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;resource_1&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[resource_1]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;resource_2&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[resource_2]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;object_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[object_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;associated_object_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[associated_object_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;resource_description&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[resource_description]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;database_name&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[database_name]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;log_block_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[log_block_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;log_block_size&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[log_block_size]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;from_disk&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[from_disk]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;incomplete&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[incomplete]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;cache_buffer_pointer&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[cache_buffer_pointer]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;consumer_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[consumer_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;old_weight&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[old_weight]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;new_weight&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[new_weight]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;new_position&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[new_position]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;last_log_block_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[last_log_block_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;weight&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[weight]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;address&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[address]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;type&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[type]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;current_count&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[current_count]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;change_type&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[change_type]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;activity_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[activity_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;write_size&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[write_size]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;rows&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[rows]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;pending_writes&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[pending_writes]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;pending_bytes&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[pending_bytes]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;reason&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[reason]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;waiters&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[waiters]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;error&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[error]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;slot_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[slot_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;used_size&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[used_size]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;reservation_size&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'bigint'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[reservation_size]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;log_op_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[log_op_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;log_op_name&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[log_op_name]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;interest&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[interest]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;cache_type&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[cache_type]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;keys&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[keys]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;stop_mark&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[stop_mark]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;operation&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[operation]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;success&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[success]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;index_id&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[index_id]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;log_record_size&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[log_record_size]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;context&quot;]\/text)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[context]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;replication_command&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'int'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[replication_command]<\/span><span style=\"color: gray\">,\r\n    <\/span><span style=\"color: teal\">event_data<\/span><span style=\"color: gray\">.<\/span><span style=\"color: teal\">value<\/span><span style=\"color: gray\">(<\/span><span style=\"color: red\">'(event\/data[@name=&quot;transaction_start_time&quot;]\/value)[1]'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'nvarchar(4000)'<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">AS <\/span><span style=\"color: teal\">[transaction_start_time]\r\n<\/span><span style=\"color: blue\">INTO <\/span><span style=\"color: teal\">Results\r\n<\/span><span style=\"color: blue\">FROM <\/span><span style=\"color: teal\">TargetEvents\r\n<\/span><\/pre>\n<\/blockquote>\n<p>Now we can begin to analyze the information that we collected by querying the Results table.&#160; Looking at the Results as a whole, we can see the database opened by reading the first page of the database and then the database boot page (page_id=9) and page 32 of the primary data file.&#160; Then the engine scans each of the VLF\u2019s of the transaction log.&#160; We can tell that the log reads are scans of the VLF\u2019s by looking at the DBCC LOGINFO information for the database and comparing the file_read offsets from the Event Session to the StartOffset of each of the VLF\u2019s in the DBCC LOGINFO output.<\/p>\n<blockquote><\/blockquote>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">DBCC <\/span><span style=\"color: teal\">LOGINFO\r\n<\/span><\/pre>\n<\/blockquote>\n<blockquote>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/60f72219\/image.png\"><img fetchpriority=\"high\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png\" width=\"573\" height=\"256\" \/><\/a> <\/p>\n<\/blockquote>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">SELECT <\/span><span style=\"color: teal\">event_name<\/span><span style=\"color: gray\">, <\/span><span style=\"color: blue\">timestamp<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">database_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: magenta\">file_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">mode<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">offset<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: blue\">CASE WHEN <\/span><span style=\"color: magenta\">file_id <\/span><span style=\"color: gray\">= <\/span>1 <span style=\"color: blue\">THEN <\/span><span style=\"color: teal\">offset<\/span><span style=\"color: gray\">\/<\/span>8192 <span style=\"color: blue\">ELSE <\/span><span style=\"color: gray\">NULL <\/span><span style=\"color: blue\">END AS <\/span><span style=\"color: teal\">page_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">size<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: teal\">log_block_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">log_block_size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">start_log_block_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">last_log_block_id<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: teal\">from_disk<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">consumer_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">activity_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">log_op_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">log_op_name<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">change_type<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: teal\">operation<\/span><span style=\"color: gray\">, <\/span><span style=\"color: magenta\">object_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">index_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">log_record_size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">slot_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">used_size<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: teal\">reservation_size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">write_size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: blue\">rows<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">pending_writes<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">pending_bytes<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: teal\">context<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">waiters\r\n<\/span><span style=\"color: blue\">FROM <\/span><span style=\"color: teal\">Results\r\n<\/span><\/pre>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/6d189c40\/image.png\"><img decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/4b4cc3af\/image_thumb.png\" width=\"661\" height=\"501\" \/><\/a>&#160; <\/p>\n<\/blockquote>\n<p>After the startup scans the VLF\u2019s 120K of information is read from the log file, and the log buffers start to be consumed to determine the redo start point for recovery.&#160; We can filter our Event data to remove Events that while interesting are not necessary for our analysis at the moment, as well as to reduce the number of columns being returned from the data set.<\/p>\n<blockquote>\n<pre class=\"code\"><span style=\"color: blue\">SELECT \r\n    <\/span><span style=\"color: teal\">event_name<\/span><span style=\"color: gray\">, <\/span><span style=\"color: blue\">timestamp<\/span><span style=\"color: gray\">, <\/span><span style=\"color: magenta\">file_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">mode<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">offset<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">log_block_id<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: magenta\">COALESCE<\/span><span style=\"color: gray\">(<\/span><span style=\"color: teal\">log_op_name<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">operation<\/span><span style=\"color: gray\">) <\/span><span style=\"color: blue\">as <\/span><span style=\"color: teal\">[operation]<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">slot_id<\/span><span style=\"color: gray\">, \r\n    <\/span><span style=\"color: magenta\">object_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">index_id<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">log_record_size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">context<\/span><span style=\"color: gray\">, <\/span><span style=\"color: teal\">write_size<\/span><span style=\"color: gray\">, <\/span><span style=\"color: blue\">rows\r\nFROM <\/span><span style=\"color: teal\">Results\r\n<\/span><span style=\"color: blue\">WHERE <\/span><span style=\"color: teal\">event_name <\/span><span style=\"color: gray\">NOT IN (<\/span><span style=\"color: red\">'log_consumer_act'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'log_single_record'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'log_cache_buffer_refcounter_change'<\/span><span style=\"color: gray\">, <\/span><span style=\"color: red\">'file_read'<\/span><span style=\"color: gray\">) \r\n<\/span><\/pre>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/0a3e444b\/image.png\"><img decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/477ef912\/image_thumb.png\" width=\"627\" height=\"351\" \/><\/a> <\/p>\n<\/blockquote>\n<p>With the filtered results, we can see the log reads into cache and the setting of the redo target.&#160; If we scroll down further, we can get a better picture of what is happening.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/0a7ac780\/image.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/77599ad3\/image_thumb.png\" width=\"644\" height=\"321\" \/><\/a> <\/p>\n<p>The last active log blog was consumed, and the redo target was set at that log_block_id.&#160; Then the log is reread starting at offset 318976 and the blocks get cached and the redo operations begin against the database.&#160; Scrolling through the results further, we can see that the redo operations continue as the log blocks increase up to the Checkpoint operation that was executed immediately before the Shutdown of the instance occurred, at the log block that was set as the redo target originally.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/47bb7c47\/image.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/06acfce3\/image_thumb.png\" width=\"644\" height=\"250\" \/><\/a> <\/p>\n<p>At this point the data file begins to be read so that the undo operations can be performed before making the database available.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/210ceffa\/image.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/0ad6d4a8\/image_thumb.png\" width=\"644\" height=\"163\" \/><\/a> <\/p>\n<p>After the undo completes the database_started Event is raised and that database becomes available for use.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/7e68b17e\/image.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/3d5a321a\/image_thumb.png\" width=\"644\" height=\"167\" \/><\/a> <\/p>\n<p>To validate that the changes we see occurring after the redo operations and before the database_started Event, we can set the database OFFLINE, recreate our Event Session, and then bring the database back ONLINE again, and then compare the logged Events when no changes have occurred to our original Events when known changes have occurred.&#160; I am not going to do that in this blog post, but will instead leave that up to the reader to investigate on their own.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I have said previously in this series, one of my favorite aspects of Extended Events is that it allows you to look at what is going on under the covers in SQL Server, at a level that has never previously been possible.&#160; SQL Server Denali CTP1 includes a number of new Events that expand [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,38,40,45],"tags":[],"class_list":["post-535","post","type-post","status-publish","format-standard","hentry","category-extended-events","category-sql-server-2008","category-sql-server-denali","category-xevent-a-day-series"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>An XEvent a Day (29 of 31) - The Future - Looking at Database Startup in Denali - Jonathan Kehayias<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An XEvent a Day (29 of 31) - The Future - Looking at Database Startup in Denali - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"As I have said previously in this series, one of my favorite aspects of Extended Events is that it allows you to look at what is going on under the covers in SQL Server, at a level that has never previously been possible.&#160; SQL Server Denali CTP1 includes a number of new Events that expand [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2010-12-29T17:12:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T16:16:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png\" \/>\n<meta name=\"author\" content=\"Jonathan Kehayias\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Kehayias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"An XEvent a Day (29 of 31) &#8211; The Future &#8211; Looking at Database Startup in Denali\",\"datePublished\":\"2010-12-29T17:12:00+00:00\",\"dateModified\":\"2017-04-13T16:16:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/\"},\"wordCount\":729,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/anxeventaday29of31thefuturelookingatdata\\\/12165cba\\\/image_thumb.png\",\"articleSection\":[\"Extended Events\",\"SQL Server 2008\",\"SQL Server Denali\",\"XEvent a Day Series\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/\",\"name\":\"An XEvent a Day (29 of 31) - The Future - Looking at Database Startup in Denali - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/anxeventaday29of31thefuturelookingatdata\\\/12165cba\\\/image_thumb.png\",\"datePublished\":\"2010-12-29T17:12:00+00:00\",\"dateModified\":\"2017-04-13T16:16:31+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/anxeventaday29of31thefuturelookingatdata\\\/12165cba\\\/image_thumb.png\",\"contentUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/anxeventaday29of31thefuturelookingatdata\\\/12165cba\\\/image_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extended Events\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/extended-events\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"An XEvent a Day (29 of 31) &#8211; The Future &#8211; Looking at Database Startup in Denali\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\",\"name\":\"Jonathan Kehayias - The Rambling DBA\",\"description\":\"The Rambling DBA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\",\"name\":\"Jonathan Kehayias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"caption\":\"Jonathan Kehayias\"},\"sameAs\":[\"http:\\\/\\\/3.209.169.194\\\/blogs\\\/jonathan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"An XEvent a Day (29 of 31) - The Future - Looking at Database Startup in Denali - Jonathan Kehayias","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/","og_locale":"en_US","og_type":"article","og_title":"An XEvent a Day (29 of 31) - The Future - Looking at Database Startup in Denali - Jonathan Kehayias","og_description":"As I have said previously in this series, one of my favorite aspects of Extended Events is that it allows you to look at what is going on under the covers in SQL Server, at a level that has never previously been possible.&#160; SQL Server Denali CTP1 includes a number of new Events that expand [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/","og_site_name":"Jonathan Kehayias","article_published_time":"2010-12-29T17:12:00+00:00","article_modified_time":"2017-04-13T16:16:31+00:00","og_image":[{"url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png","type":"","width":"","height":""}],"author":"Jonathan Kehayias","twitter_misc":{"Written by":"Jonathan Kehayias","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"An XEvent a Day (29 of 31) &#8211; The Future &#8211; Looking at Database Startup in Denali","datePublished":"2010-12-29T17:12:00+00:00","dateModified":"2017-04-13T16:16:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/"},"wordCount":729,"commentCount":1,"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png","articleSection":["Extended Events","SQL Server 2008","SQL Server Denali","XEvent a Day Series"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/","name":"An XEvent a Day (29 of 31) - The Future - Looking at Database Startup in Denali - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png","datePublished":"2010-12-29T17:12:00+00:00","dateModified":"2017-04-13T16:16:31+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#primaryimage","url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png","contentUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/anxeventaday29of31thefuturelookingatdata\/12165cba\/image_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/an-xevent-a-day-29-of-31-the-future-looking-at-database-startup-in-denali\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Extended Events","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/extended-events\/"},{"@type":"ListItem","position":3,"name":"An XEvent a Day (29 of 31) &#8211; The Future &#8211; Looking at Database Startup in Denali"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/","name":"Jonathan Kehayias - The Rambling DBA","description":"The Rambling DBA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c","name":"Jonathan Kehayias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","caption":"Jonathan Kehayias"},"sameAs":["http:\/\/3.209.169.194\/blogs\/jonathan"]}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/comments?post=535"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/535\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}