XEvent Timestamp is a large integer value not the expected datatime value

The timestamp column for XEvent is stored internally as an offset from the start of the trace.   The XEvent header contains the starting, UTC time and each event stores the offset in ticks from the value stored in the header. On a system where the time is adjusted, for example daylight savings time falls backward,…

0

Do I really need to use DTC Transactions?

It is sometimes common practice to enable Distributed Transaction (DTC) behavior but it can be unnecessary, and adds unwanted overhead.   DTC has the ability to determine single phase vs two phase commit requirements.  A DTC transaction involves resource managers (RMs) of which SQL Server can be one of them.  If a single resource manager is…

3

Version 9.04.0013 of the RML Utilities for x86 and x64 has been released to the download center

        X64: http://download.microsoft.com/download/0/a/4/0a41538e-2d57-40ff-ae85-ec4459f7cdaa/RMLSetup_AMD64.msi X86: http://download.microsoft.com/download/4/6/a/46a3217e-f523-4cc6-96e9-df73dd0fdd04/RMLSetup_X86.msi   This build encompasses previous features, fixes and enhancements designed from recent case work.    ·         SQL Server 2014 compliant ·         SQL Server 2012 and 2014 XEL input to ReadTrace compliant (sample .XEL capture script shipped with help documentation) no need for .TRC anymore. (PSSDiag updates align…

1

DReplay Message: “Active connections exceed 8192, connection 8409 is waiting.”

This message was an interesting dive into the DReplay, session boundary logic that I thought I would share.  Internally DReplay maintains a progressive, session queue.  This queue is limited to 8192 entries and populated in connection replay order based on the connect/disconnect boundaries.   A background worker maintains the queue for the replay workers, adding new…

0

SQL Server: Correlating Timestamps From Various Data Points

I was looking at data from a customer, in a different time zone (UTC+1) from mine, this week involving SQL Server AlwaysOn (HADRON) and found that lining up the timestamps in the various logs was challenging.   Some times are local to the SQL Server instance, others UTC and yet other utilities attempt to adjust the…

0

Easy JDBC Logging

I have been supporting Microsoft’s JDBC driver for almost six years now and the one thing with which I always struggle is getting logging going.  JDBC logging is probably some of the most useful logging out there (I only wish BID tracing were so easy to enable and consume!), but for some reason I always…

3

Trace shows the incorrect Session Login Name

The is more of an FYI blog post but I have read several blog and forum posts on this subject and I decided to dig into the behavior which revealed a trace bug. For the vast majority of events the Session Login Name represents the originating session credentials where as the Login Name represents the…

3

RML How Are Comparison Diffs Calculated

A short but good discussion about the RML comparison DIFF calculations.   From: Robert Dorr Sent: Wednesday, January 26, 2011 10:21 AM Subject: RE: MSDN Blogs: Contact request: RML Tools: Estimated Comparison Differences   Thanks for the question and feedback.   For example ProjectedCPUDiff is one of the columns in tblComparisonBatchPartialAggs   ·         The hash…

0

Profiler Shows Negative (Strange) EventSequence Values

I ran into an issue yesterday where the EventSequence column appears negative (or could be truncated and won’t sort correctly) in the Profiler display. Here is an example of the display from a trace that I debugged. When I looked at the raw format I could see the storage for the EventSequence was 8 bytes…

0

Replay Result Set Event (Replay * Events)

From: Robert Dorr Sent: Friday, August 13, 2010 8:58 AMSubject: RE: SQL Server Trace Replay – “Replay Result Set Event”  The Result Set event is one of several client side replay events.  Here are some of Common Result Event Columns Text Returned values for example  DECLARE @edition sysname; SET @edition = cast(SERVERPROPERTY(N’EDITION’) as sysname); select…

0