<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">boB &amp;#39;The Tool Man&amp;#39; Taylor</title><subtitle type="html">The place to go for SQL Server tools, tricks, and tips</subtitle><id>http://blogs.msdn.com/b/bobtaylor/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/bobtaylor/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2011-05-02T14:01:04Z</updated><entry><title>Registration for Advanced Certification Programs is easier than ever!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/08/09/registration-for-advanced-certification-programs-is-easier-than-ever.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/08/09/registration-for-advanced-certification-programs-is-easier-than-ever.aspx</id><published>2012-08-09T14:48:40Z</published><updated>2012-08-09T14:48:40Z</updated><content type="html">&lt;p&gt;The Advanced Certification team at Microsoft is pleased to announce a new,&lt;br /&gt;streamlined registration process for individuals applying for the Microsoft&lt;br /&gt;Certified Master (MCM) or Microsoft Certified Architect (MCA) training&lt;br /&gt;programs.&lt;/p&gt;
&lt;p&gt;In an ongoing effort to improve your overall registration experience, the&lt;br /&gt;Advanced Certification team at Microsoft is transitioning our currently hosted&lt;br /&gt;registration portal to a new system managed exclusively by our team.&lt;/p&gt;
&lt;p&gt;If you have applied for our program and are currently in the process of&lt;br /&gt;completing your application for either the Master or Architect training and/or&lt;br /&gt;exam retakes through our previous site, please use the instructions provided&lt;br /&gt;below to create a user account in our new &lt;a href="https://fast.omnisocial.mzinga.com/content/ss/eda339aac39b4c42a7f089442bfd62a8/newhomepage/index.html"&gt;registration&lt;br /&gt;portal&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once you have activated your account, our registration team will contact you&lt;br /&gt;with next steps.&lt;/p&gt;
&lt;p&gt;Instructions to create a User Account:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;br /&gt;Access the Advanced Certification Learning Portal &lt;a href="https://fast.omnisocial.mzinga.com/content/ss/eda339aac39b4c42a7f089442bfd62a8/newhomepage/index.html"&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;Select &amp;ldquo;External Candidate&amp;rdquo; or &amp;ldquo;Microsoft Employee&amp;rdquo; from the drop down menu located on the right side of the screen under &amp;ldquo;New User Registration&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;Complete all requested information, and select&lt;br /&gt;&amp;ldquo;Submit&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions, or if you need assistance during this transition&lt;br /&gt;process, please do not hesitate to contact the registration team at &lt;a href="mailto:advcert@microsoft.com"&gt;advcert@microsoft.com&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10338237" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Episode 2 Now Live!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/07/31/episode-2-now-live.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/07/31/episode-2-now-live.aspx</id><published>2012-07-31T16:24:00Z</published><updated>2012-07-31T16:24:00Z</updated><content type="html">&lt;p&gt;The second episode of the web reality show Be the Next Microsoft Employee &amp;nbsp;#bethenext is now live!&lt;/p&gt;
&lt;p&gt;Check it out here....&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/certification/bethenext.aspx"&gt;http://www.microsoft.com/learning/en/us/certification/bethenext.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are several other suppliemental videos here: (Two magic tricks and one interview)&lt;/p&gt;
&lt;p&gt;The interview&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=EX01IjM1B7Y&amp;amp;feature=youtu.be"&gt;http://www.youtube.com/watch?v=EX01IjM1B7Y&amp;amp;feature=youtu.be&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Links to my magic stuff&lt;/p&gt;
&lt;p&gt;&lt;a href="http://borntolearn.mslearn.net/btl/b/bethenext/archive/2012/07/27/bob-taylor-making-magic-on-be-the-next.aspx"&gt;http://borntolearn.mslearn.net/btl/b/bethenext/archive/2012/07/27/bob-taylor-making-magic-on-be-the-next.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=Fx8v-a46Z6Q&amp;amp;list=PLD5747260918AE95C&amp;amp;index=11&amp;amp;feature=plpp_video"&gt;http://www.youtube.com/watch?v=Fx8v-a46Z6Q&amp;amp;list=PLD5747260918AE95C&amp;amp;index=11&amp;amp;feature=plpp_video&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=Ekj0XTIEHPI&amp;amp;list=PLD5747260918AE95C&amp;amp;index=12&amp;amp;feature=plpp_video"&gt;http://www.youtube.com/watch?v=Ekj0XTIEHPI&amp;amp;list=PLD5747260918AE95C&amp;amp;index=12&amp;amp;feature=plpp_video&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10335225" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="Be the next Microsoft Employee" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Be+the+next+Microsoft+Employee/" /><category term="@SQLboBT" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/_4000_SQLboBT/" /><category term="#bethenext" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/_2300_bethenext/" /></entry><entry><title>Guest Judge For Be The Next Microsoft Employee</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/07/10/guest-judge-for-be-the-next-microsoft-employee.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/07/10/guest-judge-for-be-the-next-microsoft-employee.aspx</id><published>2012-07-10T18:40:33Z</published><updated>2012-07-10T18:40:33Z</updated><content type="html">&lt;p&gt;I&amp;rsquo;m a guest judge on new reality show, #bethenext Microsoft Employee, for a #SQLserver challenge! Sneak-peek: aka.ms/bethenext&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10328481" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Tech Ed 2012 - A 20th Anniversary Celebration. Wish you were here!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/06/12/tech-ed-2012-a-20th-anniversary-celebration-wish-you-were-here.aspx" /><link rel="enclosure" type="application/zip" length="20756" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-31-91-22/DBI410.zip" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/06/12/tech-ed-2012-a-20th-anniversary-celebration-wish-you-were-here.aspx</id><published>2012-06-13T00:22:16Z</published><updated>2012-06-13T00:22:16Z</updated><content type="html">&lt;p&gt;&lt;span style="font-size: medium;"&gt;Tech Ed has been wonderful this year, a chance to meet up with old friends, make new old friends and talk about SQL Server.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;My session DBI410 - SQL Power Tools: Enhance Your Effectiveness with Extended Events was well attended with much interest and great questions.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;Thanks to those of you who attended. Please be sure an fill our you evaluations. As promised I am posting all the demo and source code from the session for your enjoyment.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;Please be sure and blog or Twitter me (@SQLboBT) and let me know how your Extended Events journey is going.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;boB&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;As announced today, SQLPie will be released to CodePlex after Tech Ed Europe.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10319122" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="SQLDiag" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQLDiag/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="SQL Server'DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server_2700_DBA/" /><category term="Automation" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Automation/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /><category term="SQL Diag" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Diag/" /><category term="XEvents" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvents/" /><category term="Packages" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Packages/" /><category term="Sessions" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Sessions/" /><category term="SQL Profiler" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Profiler/" /><category term="Targets" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Targets/" /><category term="SQL Trace" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Trace/" /><category term="Tool Man" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Tool+Man/" /><category term="Power Tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Power+Tools/" /><category term="Extended Events" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Extended+Events/" /><category term="XEvent" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvent/" /><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server+2012/" /><category term="boB Taylor" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/boB+Taylor/" /></entry><entry><title>Its been a while for a new tool...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/05/16/its-been-a-while-for-a-new-tool.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/05/16/its-been-a-while-for-a-new-tool.aspx</id><published>2012-05-16T15:47:42Z</published><updated>2012-05-16T15:47:42Z</updated><content type="html">&lt;p&gt;Watch for the announcement at Tech Ed and Tech Ed Europe!&lt;/p&gt;
&lt;p&gt;The new tool will be named SQLPie.&lt;/p&gt;
&lt;p&gt;I would love to hear thoughts on what it might be&lt;/p&gt;
&lt;p&gt;boB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10305883" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>I have contributed to two new upcomgin MSPress Titles</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/04/20/i-have-contributed-to-two-new-upcomgin-mspress-titles.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/04/20/i-have-contributed-to-two-new-upcomgin-mspress-titles.aspx</id><published>2012-04-21T02:21:18Z</published><updated>2012-04-21T02:21:18Z</updated><content type="html">&lt;p&gt;I was the technical reviewer for William Stanek's &lt;a title="SQL Server 2012 Administrator's Pocket Consultant  " href="http://www.amazon.com/Microsoft-Server-2012-Pocket-Consultant/dp/0735663769/ref=sr_1_3?s=books&amp;amp;ie=UTF8&amp;amp;qid=1334971261&amp;amp;sr=1-3#_"&gt;SQL Server 2012 Administrator's Pocket Consultant&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am currently the techmical&amp;nbsp;reviewer fpr tje Tranining Kit for Exam &lt;a title="70-462 Administering Microsoft SQL Server 2012&amp;amp;nbsp;Database&amp;amp;nbsp;" href="http://www.barnesandnoble.com/w/training-kit-exam-70-462-orin-thomas/1109602165?ean=9780735666078&amp;amp;itm=1&amp;amp;usri=70462"&gt;70-462 Administering Microsoft SQL Server 2012&amp;nbsp;Database&lt;/a&gt;. Due to an illnes&amp;nbsp;I am also now an author for this title.&lt;/p&gt;
&lt;p&gt;Be&amp;nbsp;sure to check them out when they are available.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7142.70_2D00_462Cover.jpg"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7142.70_2D00_462Cover.jpg" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/5483.51Pxhs2EaJL_5F005F00_SL500_5F00_AA300_5F00_.jpg"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/5483.51Pxhs2EaJL_5F005F00_SL500_5F00_AA300_5F00_.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10296030" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Tidying up my Twitter accounts</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/04/20/tidying-up-my-twitter-accounts.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/04/20/tidying-up-my-twitter-accounts.aspx</id><published>2012-04-21T01:04:35Z</published><updated>2012-04-21T01:04:35Z</updated><content type="html">&lt;p&gt;In the past I&amp;nbsp;have used one Twitter account to tweet about SQL Server, my magic and my mentalism. I am tidying up and here are the twitter accounts to follow:&lt;/p&gt;
&lt;p&gt;@MajikbyboB - related to performances, news about my magic career&lt;/p&gt;
&lt;p&gt;@ClscClairvoyant - realted to performances and and news about my Mentalism career&lt;/p&gt;
&lt;p&gt;The one you will all be interested in&lt;/p&gt;
&lt;p&gt;@SQL_MCA_MCSM - this is where I will tweet all my SQL related news&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10296021" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Obtaining actual Request Durations with the StorPort driver logging HotFix</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/04/05/obtaining-actual-request-durations-with-the-storport-driver-logging-hotfix.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/04/05/obtaining-actual-request-durations-with-the-storport-driver-logging-hotfix.aspx</id><published>2012-04-05T21:08:38Z</published><updated>2012-04-05T21:08:38Z</updated><content type="html">&lt;p&gt;Here is a common scenario - you are performing a benchmark operation. You run your PerfMon file through the PAL tool (&lt;a href="http://pal.codeplex.com"&gt;http://pal.codeplex.com&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;You are seeing massive disk queuing, high latency, high privleged processor time. You talk to your SAN engineers and they tell you that all is good on the SAN - it must be an issue in SQL Server.&lt;/p&gt;
&lt;p&gt;To the rescue:&lt;/p&gt;
&lt;p&gt;A hotfix is available that improves the logging capabilities of the Storport.sys driver to troubleshoot poor performance issues for the disk I/O in Windows Server 2008 (&lt;a href="http://support.microsoft.com/kb/979764/j)"&gt;http://support.microsoft.com/kb/979764/j)&lt;/a&gt; or Windows 2008 R2 (&lt;a href="http://support.microsoft.com/kb/978000/en-us"&gt;http://support.microsoft.com/kb/978000/en-us).&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once installed you can follow the direcdtions to turn this on and off as described in the hotfix documentation.&lt;/p&gt;
&lt;p&gt;Howwever if you capture to an .etl file there is still the little matter of translating the binary format into something usable like this&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EventData&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="MiniportExtension"&amp;gt;0xFFFFFA806DBFE008&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="PortNumber"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="PathID"&amp;gt;0&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="TargetID"&amp;gt;0&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="LUN"&amp;gt;25&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="RequestDuration"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background-color: #ffff99;"&gt;92&amp;lt;/Data&lt;/span&gt;&amp;gt; &amp;lt;-- Note this is in milliseconds!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="Command"&amp;gt;42&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="ScsiStatus"&amp;gt;0&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Data Name="SrbStatus"&amp;gt;1&amp;lt;/Data&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/EventData&amp;gt;&lt;/p&gt;
&lt;p&gt;After a little poking around i found documentation for TraceRpt.exe which will take the input file and output a nicely formatted XML, txt, or csv file for you.&lt;/p&gt;
&lt;p&gt;TraceRpt &amp;lt;etlFilename&amp;gt; -of CSV&lt;/p&gt;
&lt;p&gt;TraceRpt StorPort.etl -of XML&lt;/p&gt;
&lt;p&gt;The XML format is simplier to scan through looking for RequestDuration threshold violations. Be sure to set a filter when you create your .etl file or the resultant XML file will be extremely large.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this helps someone.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10291298" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Wow - how could I forget?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/03/06/wow-how-could-i-forget.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/03/06/wow-how-could-i-forget.aspx</id><published>2012-03-06T22:22:00Z</published><updated>2012-03-06T22:22:00Z</updated><content type="html">&lt;p&gt;I was in Atlanta uyesterday speaking as part of the SQL Server Special Ops Tour - we had overflow audience. We had about 275 registered and 340 showed up!&lt;/p&gt;
&lt;p&gt;If you have to live in Columbus, OH I will be there on March 13th and in Boston, MA on March 28th...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Check it all out at &lt;a href="http://specialops.sqlpass.org"&gt;http://specialops.sqlpass.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Plesae come by and say hi...&lt;/p&gt;
&lt;p&gt;boB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10278749" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>The holidays are over - back to work!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2012/01/05/the-holidays-are-over-back-to-work.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2012/01/05/the-holidays-are-over-back-to-work.aspx</id><published>2012-01-05T16:01:06Z</published><updated>2012-01-05T16:01:06Z</updated><content type="html">&lt;p&gt;I plan on releasing the next installment of The Extended Events series on Monday so watch for that.&lt;/p&gt;
&lt;p&gt;I finished up my work as the technical reviewer on William Stanek's book &lt;span id="btAsinTitle"&gt;Microsoft SQL Server 2012 Pocket Consultant - the ISBN is 978-0-7356-6376-3 which will be released at the end of February.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/2330.51Pxhs2EaJL_5F005F00_SL500_5F00_AA300_5F00_.jpg"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/2330.51Pxhs2EaJL_5F005F00_SL500_5F00_AA300_5F00_.jpg" width="357" height="327" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10253496" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="SQL Server'DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server_2700_DBA/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /><category term="XEvents" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvents/" /><category term="Tool Man" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Tool+Man/" /><category term="Extended Events" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Extended+Events/" /><category term="XEvent" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvent/" /><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server+2012/" /><category term="boB Taylor" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/boB+Taylor/" /></entry><entry><title>Power Tools: Instruction Manual</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/12/12/power-tools-instruction-manual.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/12/12/power-tools-instruction-manual.aspx</id><published>2011-12-12T15:00:00Z</published><updated>2011-12-12T15:00:00Z</updated><content type="html">&lt;h2&gt;Just like any good tool man, whenever you get a new tool&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;The first thing you should do is to read the instruction manual and familiarize yourself with the general operation of the tool.&lt;/p&gt;
&lt;p&gt;During this first installment, we will do just that.&lt;/p&gt;
&lt;p&gt;As mentioned we are going to dive into the components that make up Extended Events.&lt;/p&gt;
&lt;h2&gt;First, what are Extended Events?&lt;/h2&gt;
&lt;p&gt;Extended Events (XEvents) has a highly scalable and highly configurable architecture that allows users to collect as much or as little information as is necessary to troubleshoot or identify a performance problem. For the .NET programmer you can think of extended events as analogous to Trace statements.&lt;/p&gt;
&lt;p&gt;As various parts of the SQL Server executable code gets executed, the execution passes through an extended event definition. If no one is listening, it is essentially a no-op. If there is a listener, the requested information is gathered and made available to the engine for consumption.&lt;/p&gt;
&lt;p&gt;Extended Events are based on &lt;a title="Event Tracing for Windows" href="http://msdn.microsoft.com/en-us/library/ms751538.aspx"&gt;Event Tracing for Windows&lt;/a&gt; (ETW). In a future version of SQL Server, SQL Tracing / Profiling will be deprecated and Extended Events will be your only SQL Server collection tool for troubleshooting and performance tuning.&lt;/p&gt;
&lt;p&gt;There are two default Event Sessions (more on sessions later) defined by SQL Server&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;1. System Health - for more information please visit the CSS Engineer blog describing the &amp;nbsp;&lt;a title="System Health Session" href="http://blogs.msdn.com/b/psssql/archive/2008/07/15/supporting-sql-server-2008-the-system-health-session.aspx"&gt;System Health&lt;/a&gt;&amp;nbsp;session.&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;2. Deadlock detection - yes, you will now have deadlock information available even if you have not enabled the deadlock trace flags or defined a SQL Trace with Deadlock Events.&lt;/p&gt;
&lt;h2&gt;&amp;nbsp;What makes up the Extended Events System?&lt;/h2&gt;
&lt;p&gt;There are three system components defined by the SQL Server Product Group, and one that you the DBA will define (per collection actually).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1803.Packages.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1803.Packages.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packages&lt;/h3&gt;
&lt;p&gt;Packages are defined by the SQL Server team and are containers for the various objects that make up the sets of data that can be collected.&lt;/p&gt;
&lt;p&gt;In SQL Server 2008 there were three public (and one private) packages defined. The SecAudit package is the private package&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="mysql"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/8103.PackagesR2.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/8103.PackagesR2.PNG" /&gt;&lt;/a&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In SQL Server 2012, the product group added four new packages and a secondary definition of an existing package. An interesting technique was used to allow the product group to extend the originally packages.&lt;/p&gt;
&lt;p&gt;Notice below that there are two entries for sqlserver. However, since we always refer to the packages by name rather than by GUID, the new objects defined in the SQL Server 2012 sqlserver package are available to us along with the objects originally defined in the sqlserver package.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1856.Packages.PNG"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1856.Packages.PNG"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1856.Packages.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As we go through this series we will examine many of these packages, detailing when they might be useful and how to effectively use them.&lt;/p&gt;
&lt;p&gt;Packages are defined in modules (a module being&amp;nbsp;either a specific dll or an executable such as sqlserver.exe). Packages contain many different object definitions, which we will discuss in future posts.&lt;/p&gt;
&lt;p&gt;Perhaps this picture will help...&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1106.Modules.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/1106.Modules.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We will examine most of these objects in the course of this series. Just remember, that the package is where these objects are defined by the product group.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Targets&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;So, where packages are object definitions, targets are event consumers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Targets can write to a file, aggregate event data, or start a task that is related to the event.&lt;/li&gt;
&lt;li&gt;Targets can process data synchronously or asynchronously.&lt;/li&gt;
&lt;li&gt;Targets can be either file-based or in memory&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If we examine the system dynamic management views, we can see what targets are defined and whether or not they are available for our use (any target with a private capabilites description is not available to us).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/2816.TargetsDefinitions.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/2816.TargetsDefinitions.png" width="760" height="447" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In a future post, we will discuss the various types of targets and how they are used to consume events.&lt;/p&gt;
&lt;h3&gt;Engine&lt;/h3&gt;
&lt;div class="O0"&gt;The SQL Server Extended Events engine is a collection of services and objects that:&lt;/div&gt;
&lt;div class="O0"&gt;
&lt;div style="padding-left: 30px;" class="O0"&gt;&amp;bull;Enable the definition of events.&lt;/div&gt;
&lt;div style="padding-left: 30px;" class="O0"&gt;
&lt;div class="O0"&gt;&amp;bull;Enable processing event data.&lt;/div&gt;
&lt;div class="O0"&gt;
&lt;div class="O0"&gt;&amp;bull;Manage Extended Events services and objects in the system.&lt;/div&gt;
&lt;div class="O0"&gt;&amp;bull;Maintain a list of Extended Events sessions and manage access to that list.&lt;/div&gt;
&lt;div class="O0"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="O0"&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;Sessions&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;As this is the user defined portion of the Extended Events system, we will be devoting many posts to this topic.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;That's it for now... Next week we will start drilling into each of these components.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10246529" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /><category term="Extended Events" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Extended+Events/" /><category term="XEvent" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvent/" /><category term="SQL Server 2012" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server+2012/" /><category term="boB Taylor" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/boB+Taylor/" /></entry><entry><title>Power Tools: SQL Server 2012 Extended Events</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/12/02/sql-server-2012-extended-events.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/12/02/sql-server-2012-extended-events.aspx</id><published>2011-12-02T17:16:00Z</published><updated>2011-12-02T17:16:00Z</updated><content type="html">&lt;h3&gt;In this series I will examine an important tool in the DBA's toolbox&amp;nbsp;- Extended Events&lt;/h3&gt;
&lt;p&gt;While Extended Events were present in SQL Server 2008 and SQL Server 2008 R2, they were not widely adopted as a DBA tool.&lt;/p&gt;
&lt;p&gt;This was partially due to the fact that prior to SQL Server 2012, there was no UI provided in Management Studio to help ease the learning curve. (Note: for earlier versions there is a SSMS Addin on &lt;a title="SQL Server 2008 Extended Events SSMS Addin " href="http://extendedeventmanager.codeplex.com/" target="_blank"&gt;CodePlex&lt;/a&gt; which provides a UI).&lt;/p&gt;
&lt;p&gt;However with SQL Server 2012 we now have a Session Wizard.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/0513.XEWizard.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/0513.XEWizard.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Please note: In a future version of SQL Server, SQL Profiler / SQL Trace will be removed and you will need to use Extended Events for your troubleshooting / performance tuning!&lt;/h3&gt;
&lt;h2&gt;Extended Events Topic Breakdown&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Extended Event Architecture&lt;/li&gt;
&lt;li&gt;How to use Packages, Targets and Actions&lt;/li&gt;
&lt;li&gt;Creating Extended Evetnt Sessions by using Transact-SQL&lt;/li&gt;
&lt;li&gt;Creating Extended Event Sessions by using the New Session Wizard&lt;/li&gt;
&lt;li&gt;Converting your SQL Trace to Extended Events&lt;/li&gt;
&lt;li&gt;Common troubleshooting scenarios where Extended Events will make you a 'Rock Star'&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I plan to release&amp;nbsp;one topic&amp;nbsp;per week (some topics such as architecture will require multiple weeks to cover)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you have specific troubleshooting scenarios that you would like to see addressed, please leave a comment and I will try to include them.&lt;/p&gt;
&lt;p&gt;All Transact-SQL scripts will be available for download at the end of the series.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243776" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /><category term="XEvents" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvents/" /><category term="Packages" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Packages/" /><category term="Sessions" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Sessions/" /><category term="SQL Profiler" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Profiler/" /><category term="Targets" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Targets/" /><category term="SQL Trace" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Trace/" /><category term="Tool Man" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Tool+Man/" /><category term="Power Tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Power+Tools/" /></entry><entry><title>The Tool Man brings you Power Tools...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/11/28/the-tool-man-brings-you-power-tools.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/11/28/the-tool-man-brings-you-power-tools.aspx</id><published>2011-11-28T16:03:54Z</published><updated>2011-11-28T16:03:54Z</updated><content type="html">&lt;p&gt;Starting on December 1st 2011, I will be publishing a series of blog posts that are deep dives into the 'Power Tools' that ship with SQL Server 2012.&lt;/p&gt;
&lt;p&gt;The first series will focus on Extended Events (XEvents) which allows the DBA to perform tasks, troubleshoot problems, and understand the internal workings of SQL Server like never before.&lt;/p&gt;
&lt;p&gt;This multi-part series will introduce the architecture of XEvents, how all the pieces of the puzzle fit together, and will end with Event Session scripts to solve many common problems.&lt;/p&gt;
&lt;p&gt;See you on the first!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10242040" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="SQL Server'DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server_2700_DBA/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /><category term="XEvents" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/XEvents/" /></entry><entry><title>Compression Estimator to be featured in the September issue of SQL Server Magazine / back from Holiday</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/08/22/compression-estimator-to-be-featured-in-the-september-issue-of-sql-server-magazine-back-from-holiday.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/08/22/compression-estimator-to-be-featured-in-the-september-issue-of-sql-server-magazine-back-from-holiday.aspx</id><published>2011-08-22T15:35:46Z</published><updated>2011-08-22T15:35:46Z</updated><content type="html">&lt;p&gt;Kevin Kline of Quest Software writes a regular column titled 'Tool Time' (how is that for synergy). In the September issue he highlights my Compression Estimator.&lt;/p&gt;
&lt;p&gt;My wife and I spent almost three weeks touring Ireland and Scotland for our 20th anniversary.&lt;/p&gt;
&lt;p&gt;Now back on the job, and looking forward to producing some new tools.&lt;/p&gt;
&lt;p&gt;Any requests?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10198541" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Compression Estimator Version 1.0.3.0 fixes a script generation bug</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/23/version-1-0-3-0-fixes-a-script-generation-bug.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/23/version-1-0-3-0-fixes-a-script-generation-bug.aspx</id><published>2011-05-23T17:52:00Z</published><updated>2011-05-23T17:52:00Z</updated><content type="html">&lt;p&gt;Thanks to CodePlex member masteroz who pointed out conidtions where the resulting SQL script generation resulted in syntax errors.&lt;/p&gt;
&lt;p&gt;It's all fixed now and available in V1.0.3.0 on &lt;a href="http://ssce.codeplex.com"&gt;http://ssce.codeplex.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;boB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10167434" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="Compression" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Compression/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /></entry><entry><title>SQL Diag Configuration Tool Version 1.0.1.0 has been released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/20/sql-diag-configuration-tool-version-1-0-1-0-has-been-released.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/20/sql-diag-configuration-tool-version-1-0-1-0-has-been-released.aspx</id><published>2011-05-20T19:24:35Z</published><updated>2011-05-20T19:24:35Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;This release fixes a potentially serious bug which could produce mal-formed XML. Please get the latest version from CodePlex - &lt;a href="http://sdct.codeplex.com"&gt;http://sdct.codeplex.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in the gory details follow along.&lt;/p&gt;
&lt;p&gt;I use a DataSet object to read the xml file by using the &lt;strong&gt;DataSet.ReadXml &lt;/strong&gt;method. This makes it easy to map the hierarchical structure of the Perfmon and Profiler nodes to the TreeView control.&lt;/p&gt;
&lt;p&gt;The problem could be demonstrated by loading a configuration such as SQL Server 2008 R2 and then navigating to the Profiler Options pane. Once enabled, if you selected a template from the combobox that had a different number of child records than the main configuration file, I incorrectly merged their contaents.&lt;/p&gt;
&lt;p&gt;This led to the incorrectly formed XML in the output.&lt;/p&gt;
&lt;p&gt;In order to solve this I had to implement a full match /merge operation which would not only get the new default values from the template, but in the case where there were new rows I had to add them to the collection.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thank you for the feedback from the Microsoft Premier Field Engineers in Portugal and Germany who helped discover this bug.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10166834" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="SQL Diag" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Diag/" /></entry><entry><title>Compression Estimator V1.0.2.0 is now available</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/17/compression-estimator-v1-0-2-0-is-now-available.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/17/compression-estimator-v1-0-2-0-is-now-available.aspx</id><published>2011-05-18T01:58:49Z</published><updated>2011-05-18T01:58:49Z</updated><content type="html">&lt;p&gt;Thanks to feedback from you, I have released version 1.0.2.0 of Compression Estimator. This is really a minor release.&lt;/p&gt;
&lt;p&gt;I was filtering databases in the Database drop-down list based on compatability level. this is not necessary, since even databases in 9.0 compatability level can take advantage of compression.&lt;/p&gt;
&lt;p&gt;So instead, when I list available SQL Servers, or you enter a Server name, I validate that it is at least a SQL Server 2008 or later version (compression was introducted in SQL 2008).&lt;/p&gt;
&lt;p&gt;Thanks again for the feedback.&lt;/p&gt;
&lt;p&gt;Till next time...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10165643" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="Compression" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Compression/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /></entry><entry><title>Compression Estimator V1.0.1.0 Now Available</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/13/compression-estimator-v1-0-1-0-now-available.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/13/compression-estimator-v1-0-1-0-now-available.aspx</id><published>2011-05-13T14:33:28Z</published><updated>2011-05-13T14:33:28Z</updated><content type="html">&lt;p&gt;Thanks to all for your feedback. &lt;strong&gt;Version 1.0.1.0 is now released&lt;/strong&gt; and it contains the following changes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The Connect To SQL Server dialog now supports typing in a server instance name. You can also select Browse for more to do the original network search for available SQL Servers&lt;/li&gt;
&lt;li&gt;The Connect To SQL Server dialog now supports setting the Connection Timeout as well as the Execution Timeout&lt;/li&gt;
&lt;li&gt;The results form has been reduced in size (1024x768) and scroll-bars appear as appropriate. This will fix reported issues of not being able to view the entire results pane.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;See screenshots below&lt;/p&gt;
&lt;p&gt;(as always you can download the latest version from &lt;a href="http://ssce.codeplex.com"&gt;http://ssce.codeplex.com&lt;/a&gt;)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="file:///C:/Users/bobtay/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles22762ABC/ConnectionDialog[3].png"&gt;&lt;/a&gt;&lt;a href="file:///C:/Users/bobtay/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles22762ABC/ServerSelectionDropDown[4].png"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/8228.ConnectionDialog.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/8228.ConnectionDialog.PNG" border="0" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/6862.ServerSelectionDropDown.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/6862.ServerSelectionDropDown.png" border="0" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7824.NewResultsPane.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7824.NewResultsPane.PNG" border="0" /&gt;&lt;/a&gt;&lt;a href="file:///C:/Users/bobtay/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles22762ABC/NewResultsPane[5].png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10164219" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/DBA/" /></entry><entry><title>My apologies</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/09/my-apologies.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/09/my-apologies.aspx</id><published>2011-05-09T17:53:03Z</published><updated>2011-05-09T17:53:03Z</updated><content type="html">&lt;p&gt;I had missed a checkbox on CodePlex which prevented the download from being visible. It has been corrected.&lt;/p&gt;
&lt;p&gt;boB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10162598" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Now Available! A smaller, leaner database</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/09/now-available-a-smaller-leaner-database.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/09/now-available-a-smaller-leaner-database.aspx</id><published>2011-05-09T15:55:00Z</published><updated>2011-05-09T15:55:00Z</updated><content type="html">&lt;p&gt;As promised, I have released my SQL Server Compression Estimator tool to &lt;a href="http://ssce.codeplex.com/"&gt;http://ssce.codeplex.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of the most exciting additions to SQL Server 2008 was the capability to apply data compression. The benefits are many including reduced disk I/O and memory utilization, with a small cost of CPU overhead. &lt;/p&gt;
&lt;p&gt;In a database that may contain thousands of objects, determining which objects and / or partitions of those objects may benefit from data compression can be time consuming and labor intensive. &lt;/p&gt;
&lt;p&gt;Not anymore! &lt;strong&gt;SQL Server Compression Estimator (SSCE)&lt;/strong&gt; will allow you to estimate the best compression for your objects. It will estimate both ROW and PAGE compression for all objects, and will optionally report the Index Maintenance Ratio (a ratio that indicates how often an index is updated versus how often it is used to satisfy queries). You can then use that information to perhaps choose a less aggressive compression algorithm for heavily updated indexes.&lt;/p&gt;
&lt;p&gt;For more information on the benefits of data compression please visit the SQL Customer Advisory Team site and view some in depth information regarding data compression &lt;/p&gt;
&lt;p&gt;Data Compression: Strategy, Capacity Planning and Best Practices - &lt;a href="http://sqlcat.com/top10lists/archive/2009/01/30/top-10-sql-server-2008-features-for-the-database-administrator-dba.aspx"&gt;http://sqlcat.com/top10lists/archive/2009/01/30/top-10-sql-server-2008-features-for-the-database-administrator-dba.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Top 10 SQL Server 2008 Features for the Database Administrator (DBA) - &lt;a href="http://sqlcat.com/top10lists/archive/2009/01/30/top-10-sql-server-2008-features-for-the-database-administrator-dba.aspx"&gt;http://sqlcat.com/top10lists/archive/2009/01/30/top-10-sql-server-2008-features-for-the-database-administrator-dba.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="text-decoration: underline;"&gt;PLEASE NOTE: &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;This tool leverages the SQL Managment Objects to build the list of available SQL Servers. If you have named instances, ensure that a SQL Server Browser service is running.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7206.SSCELoading.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7206.SSCELoading.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you have the SQL Server Browser service running, or you are executing this tool on a default instance you should see the following Authentication request&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7360.SSCEServerSelectionScreen.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/7360.SSCEServerSelectionScreen.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once you have provided authentication information you will be presented with the main screen where you should&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select the database to process&lt;/li&gt;
&lt;li&gt;Decide the percentage of compression you would like, in order for an option to be displayed in the resuits (i.e. if you select 75, only compression that would result in a 75% savings will be displayed)&lt;/li&gt;
&lt;li&gt;Decide if you want Index Maintenance Ratios to be calculated&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/5125.SSCEProcessingOptions.PNG"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/3288.SSCEProcessingOptions.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/3288.SSCEProcessingOptions.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When the processing is complete (and this could take awhile in a database with a large number of objects) you will be presented with the results&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/6138.SSCEExampleResults.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/6138.SSCEExampleResults.PNG" border="0" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/3005.SSCEExampleResults.PNG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You then have two options for saving the results of the analysis&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/8524.ssceSaveOptions.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/8524.ssceSaveOptions.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Save Results will save the entire contents of the results window to a comma separated value (CSV) file&lt;/li&gt;
&lt;li&gt;Create Script will create a Transact-SQL script that contains the appropriate syntax to implment those items selected&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/2210.SSCEScriptThis.PNG"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-45-01/2210.SSCEScriptThis.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Well that's it for now...&lt;/p&gt;
&lt;p&gt;Until next time this is &lt;/p&gt;
&lt;p&gt;boB 'The Tool Man' Taylor&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10162536" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Shifting to UTC time by using the datetimeoffset data type</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/09/shifting-to-utc-time-by-using-the-datetimeoffset-data-type.aspx" /><link rel="enclosure" type="application/octet-stream" length="3653" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-16-24-74/DemonstrateTZoffset.sql" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/09/shifting-to-utc-time-by-using-the-datetimeoffset-data-type.aspx</id><published>2011-05-09T14:11:00Z</published><updated>2011-05-09T14:11:00Z</updated><content type="html">&lt;p&gt;As the world moves to a global economy, it becomes more and more important to capture time information with respect to Coordinated Universal Time (UTC). This format captures the date and time along with a time zone offset (offset values range from -14:00 to +14:00).&lt;/p&gt;
&lt;p&gt;Many implementations prior to SQLServer 2008 do not have that information (The new variable precision datetime, datetimeoffset, DATE, and TIME data types were introduced in SQL Server 2008).. &lt;/p&gt;
&lt;p&gt;As a request from one of our Independent Software Vendors (ISV) I created a Transact-SQL user-defined function to allow the conversion from the datetime data type to the datetimeoffset data type.&lt;/p&gt;
&lt;p&gt;To make this conversion we must find the difference between UTC time and the current server time. We can then find the difference in hours and minutes (some daylight savings time rules allow for 15 minute increments) and append this information to the original datetime data. Please note that this is a point in time snapshot. Timezone information is subject to rules in each locality, and these rules can and do change on a irregular basis. This technique &lt;em&gt;&lt;strong&gt;will not &lt;/strong&gt;&lt;/em&gt;allow for historical look-back to calculate the daylight savings time rules.&lt;/p&gt;
&lt;p&gt;So for example in March 2005 the United States daylight savings time rule changed. So a date prior to that (say March 2004) would only have the &lt;strong&gt;current &lt;/strong&gt;rule applied by this technique. To solve the larger problem of historical accuracy of time zone information would require a database of all historical changes and is beyond the scope of this example.&lt;/p&gt;
&lt;p&gt;I will outline the basic steps to do so, and will provide a complete sample for you to download.&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="mysql"&gt;CREATE FUNCTION [dbo].[ConvertToTZOffset](@current DATETIME)
&lt;br /&gt;RETURNS VARCHAR (34)
&lt;br /&gt;AS
&lt;br /&gt;BEGIN
&lt;br /&gt;    -- if the input has full precision we can emit up to 34 characters of data
&lt;br /&gt;    DECLARE @withTZ AS VARCHAR (34);
&lt;br /&gt;    DECLARE @hour AS INT;
&lt;br /&gt;    DECLARE @minute AS INT;
&lt;br /&gt;
&lt;br /&gt;    -- calculate the difference between UTC time and current server time
&lt;br /&gt;    -- note: some daylight savings time rules are incremented in 15 minute intervals
&lt;br /&gt;    SET @hour = CAST (DATEPART(hh, GETUTCDATE()) - DATEPART(hh, GETDATE()) AS INT);
&lt;br /&gt;    SET @minute = CAST (DATEPART(mm,GETUTCDATE()) - DATEPART(mm, GETDATE()) AS INT);
&lt;br /&gt;
&lt;br /&gt;    -- get the current date and time
&lt;br /&gt;    SET @withTZ = CONVERT (VARCHAR (34), @current, 121);
&lt;br /&gt;
&lt;br /&gt;    -- format with plus /minus sign which is required by datetimeoffset
&lt;br /&gt;    IF @hour &amp;gt;= 0
&lt;br /&gt;        SET @withTZ += '+';
&lt;br /&gt;    ELSE
&lt;br /&gt;        SET @withTZ += '-';
&lt;br /&gt;
&lt;br /&gt;    -- add leading zero, if required	
&lt;br /&gt;    IF ABS(@hour) &amp;lt; 10
&lt;br /&gt;        SET @withTZ += '0';
&lt;br /&gt;    SET @withTZ += CAST (ABS(@hour) AS VARCHAR (2));
&lt;br /&gt;    SET @withTZ += ':';
&lt;br /&gt;
&lt;br /&gt;    -- same with minutes
&lt;br /&gt;    IF @minute &amp;lt; 10
&lt;br /&gt;        SET @withTZ += '0';
&lt;br /&gt;    SET @withTZ += CAST (@minute AS VARCHAR (2));
&lt;br /&gt;    RETURN @withTZ;
&lt;br /&gt;END&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;Once his function has been created, you can simply use the ALTER TABLE syntax to add a computed column that creates the datetimeoffset value by providing the function call as the default value like this:&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="mysql"&gt;ALTER TABLE dbo.timeZoneTest
&lt;br /&gt;    ADD TZDate AS dbo.ConvertToTZOffset(rowDate);&lt;/code&gt;&lt;/pre&gt;
&lt;pre class="scroll"&gt;Please see the attached sample for all the details.&lt;/pre&gt;
&lt;pre class="scroll"&gt;boB 'The Tool Man' Taylor&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10162474" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="conversion" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/conversion/" /><category term="datetimeoffset" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/datetimeoffset/" /><category term="UTC" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/UTC/" /></entry><entry><title>Coming Soon! A Smaller, Leaner Database</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/05/coming-soon-a-smaller-leaner-database.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/05/coming-soon-a-smaller-leaner-database.aspx</id><published>2011-05-05T22:30:36Z</published><updated>2011-05-05T22:30:36Z</updated><content type="html">&lt;p&gt;Watch for the announcement of the soon to be released Compression Estimator Tool. This tool will simplfy the examination of a database, and the selection of objects that would benefit the most from the application of compression techniques. I expect to release this to CodePlex by early next week...&lt;/p&gt;
&lt;p&gt;Until then!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10161581" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /><category term="Compression" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Compression/" /></entry><entry><title>SQL Iterators: Making the Life of a SQL Server DBA That Much Easier</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/02/sql-iterators-making-the-life-of-a-sql-server-dba-that-much-easier.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/02/sql-iterators-making-the-life-of-a-sql-server-dba-that-much-easier.aspx</id><published>2011-05-02T18:04:58Z</published><updated>2011-05-02T18:04:58Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="headline_meta"&gt;&lt;span class="edit_post pad_left"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div class="format_text entry-content"&gt;
&lt;div class="tw_button" id="tweetbutton1492" style="float: right; margin-left: 10px;"&gt;&lt;iframe scrolling="no" allowtransparency="65535" frameborder="0" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1304359295695&amp;amp;count=vertical&amp;amp;counturl=http%3A%2F%2Fwww.opsvault.com%2Fsql-iterators-making-the-life-of-a-sql-server-dba-that-much-easier%2F&amp;amp;lang=en&amp;amp;related=OpsVault&amp;amp;text=SQL%20Iterators%3A%20Making%20the%20Life%20of%20a%20SQL%20Server%20DBA%20That%20Much%20Easier&amp;amp;url=http%3A%2F%2Fwww.opsvault.com%2Fsql-iterators-making-the-life-of-a-sql-server-dba-that-much-easier%2F&amp;amp;via=OpsVault" tabindex="0" title="Twitter For Websites: Tweet Button" class="twitter-share-button twitter-count-vertical" style="width: 55px; height: 62px;"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div align="right" style="padding-bottom: 5px; padding-left: 5px; padding-right: 0px; float: right; padding-top: 0px;"&gt;&lt;a share_url="http://www.opsvault.com/sql-iterators-making-the-life-of-a-sql-server-dba-that-much-easier/" name="fb_share" type="box_count" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.opsvault.com%2Fsql-iterators-making-the-life-of-a-sql-server-dba-that-much-easier%2F&amp;amp;t=SQL%20Iterators%3A%20Making%20the%20Life%20of%20a%20SQL%20Server%20DBA%20That%20Much%20Easier&amp;amp;src=sp" style="text-decoration: none;"&gt;&lt;span class="fb_share_size_Small fb_share_count_wrapper"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="fb_share_count_nub_top fb_share_no_count"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="fb_share_count fb_share_no_count fb_share_count_top"&gt;&lt;span class="fb_share_count_inner"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="FBConnectButton FBConnectButton_Small" style="cursor: pointer;"&gt;&lt;span class="FBConnectButton_Text"&gt;Share&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;a target="_blank" href="http://www.freedigitalphotos.net/images/view_photog.php?photogid=721"&gt;&lt;img height="118" width="177" src="http://www.opsvault.com/wp-content/uploads/2011/03/24504ize7mtuqbp.jpg" alt="SQL Iterators" border="0" title="SQL Iterators" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;Many &lt;a target="_blank" href="http://microsoft.com/sqlserver"&gt;Microsoft SQL Server&lt;/a&gt; DBAs automate as many of their day to day processes as possible, freeing them to attend to higher impact activities. To do so, many DBAs leveraged two undocumented system stored procedures, namely &lt;strong&gt;sp_MSForEachDatabase&lt;/strong&gt; and &lt;strong&gt;sp_MSForEachTable&lt;/strong&gt;. The upside of using these stored procedures are tremendous. For example, in a database with 1,500 tables, creating a script to update the statistics for all 1,500 tables is time consuming and must be modified each time a table is added to the database. Enter &lt;strong&gt;sp_MSForEachTable&lt;/strong&gt;. By using this undocumented system stored procedure you could create a script that looked something like this, which automatically performs the task with the current set of tables.&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"&gt;
&lt;pre class="brush: sql;"&gt;EXECUTE sp_MSForEachTable
N'UPDATE STATISTICS ? WITH FULLSCAN,ALL';&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;This is a great savings, however there is a downside that we all know. Those SQL Server system objects that are undocumented are also unsupported for user code. Hence, any scripts built upon these stored procedures could be deprecated at any time.&lt;/div&gt;
&lt;div&gt;Knowing that DBAs want to automate these types of tasks, I decided to leverage the power of SQL CLR stored procedures to implement a custom assembly that provides equivalent functionality.&lt;/div&gt;
&lt;div&gt;So, let&amp;rsquo;s examine the interface of these two stored procedures and then examine the SQLCLR equivalents.&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"&gt;
&lt;pre class="brush: sql;"&gt;&lt;pre class="scroll"&gt;&lt;code class="mysql"&gt;[sys].[sp_MSforeachTable]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
@command1 NVARCHAR (2000)&lt;br /&gt;
, @replacechar NCHAR (1)=N'?'&lt;br /&gt;
, @command2 NVARCHAR (2000)=NULL&lt;br /&gt;
, @command3 NVARCHAR (2000)=NULL&lt;br /&gt;
, @precommand NVARCHAR (2000)=NULL&lt;br /&gt;
, @postcommand NVARCHAR (2000)=NULL&lt;br /&gt;
&lt;br /&gt;
[sys].[sp_MSforeachdb]&lt;br /&gt;
@command1 NVARCHAR (2000)&lt;br /&gt;
, @replacechar NCHAR (1)=N'?'&lt;br /&gt;
, @command2 NVARCHAR (2000)=NULL&lt;br /&gt;
, @command3 NVARCHAR (2000)=NULL&lt;br /&gt;
, @precommand NVARCHAR (2000)=NULL&lt;br /&gt;
, @postcommand NVARCHAR (2000)=NULL&lt;/pre&gt;
&lt;pre class="brush: sql;"&gt;&lt;code class="mysql"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;@replacechar is the replacement character in your command that will be replaced by the table name as the procedure iterates over the list of all tables.&lt;/li&gt;
&lt;li&gt;@command2 and @command3 &amp;ndash; since this procedure has been around A LONG time there were two purposes for these commands. In earlier versions of SQL Server, there were limits to the length of characters strings. So, @command2 and @command3 could be separate commands or if they began with&amp;rsquo; +++&amp;rsquo; then their text would be appended to the end of @command1.&lt;/li&gt;
&lt;li&gt;@precommand and @postcommand were the opportunity to execute singleton commands prior to and after iterating though and processing @command1 for all the tables.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;strong&gt;SQLIterators&lt;/strong&gt; assembly implements both of these stored procedures with slightly different interfaces. In both cases, since we can now support large character strings I do not support the &amp;lsquo;+++&amp;rsquo; convention to concatenate @command1 with @command2 and @command3. Also, due to the way that ADO.NET server side context connections work, I don&amp;rsquo;t have a database context available for the &lt;strong&gt;sp_MSForEachTable&lt;/strong&gt; replacement, so that must be provided as a parameter.&lt;/div&gt;
&lt;div&gt;So that leaves us with the two following stored procedures:&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"&gt;
&lt;pre class="brush: sql;gutter:false;"&gt;&lt;pre class="scroll"&gt;&lt;code class="mysql"&gt;[dbo].[ExecuteForEachDB]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
@command1 NVARCHAR (4000)=N''               --required parameter&lt;br /&gt;
, @replacechar NVARCHAR (1)=N'?'            --optional parameter&lt;br /&gt;
, @command2 NVARCHAR (4000)=N''             --optional parameter&lt;br /&gt;
, @command3 NVARCHAR (4000)=N''             --optional parameter&lt;br /&gt;
, @precommand NVARCHAR (4000)=N''           --optional parameter&lt;br /&gt;
, @postcommand NVARCHAR (4000)=N''          --optional parameter&lt;br /&gt;
, @setnocounton BIT = true                  --optional parameter&lt;br /&gt;
, @messageOptions NVARCHAR (8) =N'Errora'   --optional parameter&lt;br /&gt;
WITH EXECUTE AS CALLER&lt;br /&gt;
AS EXTERNAL NAME [SqlIterators].[SqlIterators.MSForEachReplacements].[ExecuteForEachDB]&lt;br /&gt;
GOCREATE PROCEDURE [dbo].[ExecuteForEachTable]&lt;br /&gt;
@command1 NVARCHAR (4000)=N''                --required parameter&lt;br /&gt;
, @database NVARCHAR (128)=N''               --required parameter&lt;br /&gt;
, @replacechar NVARCHAR (1)=N'?'             --optional parameter&lt;br /&gt;
, @command2 NVARCHAR (4000)=N''              --optional parameter&lt;br /&gt;
, @command3 NVARCHAR (4000)=N''              --optional parameter&lt;br /&gt;
, @precommand NVARCHAR (4000)=N''            --optional parameter&lt;br /&gt;
, @postcommand NVARCHAR (4000)=N''           --optional parameter&lt;br /&gt;
, @setnocounton BIT = true                   --optional parameter&lt;br /&gt;
, @messageOptions NVARCHAR (8) =N'Errora'    --optional parameter&lt;br /&gt;
WITH EXECUTE AS CALLER&lt;br /&gt;
AS EXTERNAL NAME [SqlIterators].[SqlIterators.MSForEachReplacements].[ExecuteForEachTable]&lt;/pre&gt;
&lt;pre class="brush: sql;gutter:false;"&gt;&lt;code class="mysql"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;"&gt;
&lt;pre class="brush: sql;"&gt;&lt;pre class="scroll"&gt;&lt;code class="mysql"&gt;EXECUTE master.dbo.ExecuteForEachDB&lt;br /&gt;
'SELECT ?, OBJECT_NAME(object_id) FROM sys.dm_db_partition_stats ; SELECT ?'&lt;br /&gt;
, @messageOptions = 'Progress';&lt;br /&gt;
&lt;br /&gt;
exec master.dbo.ExecuteForEachTable&lt;br /&gt;
N'UPDATE STATISTICS ? WITH FULLSCAN,ALL'&lt;br /&gt;
, @database = N'AdventureWorks'&lt;br /&gt;
, @messageOptions = 'Errors'&lt;/code&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;Valid choices for the @messageOptions parameter are:&lt;/div&gt;
&lt;table cellpadding="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="111"&gt;&lt;strong&gt;Option:&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="111"&gt;&lt;strong&gt;Errors&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Only return errors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="111"&gt;&lt;strong&gt;Progress&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Errors, and progress messages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="111"&gt;&lt;strong&gt;All&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Verbose &amp;ndash; debugging messages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="111"&gt;&lt;strong&gt;Invalid&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;If the user passed an invalid option&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;So go to &lt;a target="_blank" href="http://sqliterators.codeplex.com/"&gt;SQLIterators&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;, &lt;/strong&gt;grab the binaries and experiment. The CodePlex site will also host any user submitted scripts that DBAs care to share with the community. To be clear, &lt;strong&gt;please note that the assembly, full source code and documentation for this tool are available on &lt;a href="http://www.codeplex.com/"&gt;www.CodePlex.com&lt;/a&gt; here: &lt;/strong&gt;&lt;a href="http://sqliterators.codeplex.com/"&gt;&lt;strong&gt;SQLIterators&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;That&amp;rsquo;s all for now. Watch for my next post where we will discuss the SQL Diag Configuration Tool &amp;ndash; a utility that makes it easy to setup the SQLDiag configuration file, without having to edit an XML file.&lt;/div&gt;
&lt;div&gt;Until the next time,&lt;/div&gt;
&lt;div&gt;&amp;nbsp;this is boB 'The Tool Man' Taylor&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
Example usage:&lt;/div&gt;
@command1 is the command you would like to execute for each table.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10160080" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="SQL Server'DBA" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server_2700_DBA/" /><category term="Automation" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/Automation/" /><category term="SQL-CLR" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL_2D00_CLR/" /></entry><entry><title>The Wait is Finally Over! SQL Diag Configuration Tool released on CodePlex</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/bobtaylor/archive/2011/05/02/the-wait-is-finally-over-sql-diag-configuration-tool-released-on-codeplex.aspx" /><id>http://blogs.msdn.com/b/bobtaylor/archive/2011/05/02/the-wait-is-finally-over-sql-diag-configuration-tool-released-on-codeplex.aspx</id><published>2011-05-02T18:01:04Z</published><updated>2011-05-02T18:01:04Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;The wait is finally over! The SQLDiag Configuration Tool has been released.&lt;/strong&gt; One of the most heavily used tools in the SQL Server Premier Field Engineer&amp;rsquo;s tool belt is &lt;strong&gt;PSSDiag&lt;/strong&gt;. It is maintained by Microsoft&amp;rsquo;s Customer Service and Support organization (CSS) and has a very nice configuration tool which allows a PFE to configure the items to be captured when investigating performance issues &amp;ndash; for example you may enable or disable specific SQL Server Profiler Trace Events, Windows Performance Monitor counter collection, Event Log collection and so on. Starting with SQL Server 2000 and enhanced in SQL Server 2005, 2008, and 2008 R2 a productized version of PSSDiag is shipped with every installation of SQL Server. It is named &lt;strong&gt;SQLDiag&lt;/strong&gt;. The executable can be found in the following location if the user did not change the installation path: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLDiag.exe. This tool will perform almost all of the same collection activities as its sibling PSSDiag. However, the configuration utility that is used by PFEs to configure PSSDiag is not available for SQLDiag. In order to configure SQLDiag you must edit by hand (think notepad or xmlNotePad) which is error prone and tedious. For more information about SQLDiag please visit the SQL Server Books Online Topic &amp;ndash; &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms162833(v=SQL.100).aspx"&gt;SQLDiag&lt;/a&gt;. &lt;/p&gt;
&lt;h4&gt;Installing and Setting up the SQLDiag Configuration Tool&lt;/h4&gt;
&lt;p&gt;So, enter SQLDiag Configuration Tool! Your one stop shop for configuring SQLDiag captures. After you install the tool and execute it, you will be presented with the following welcome screen&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image002.png"&gt;&lt;img height="329" width="385" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image002_thumb.png" alt="SQL Diag Configuration Tool" border="0" title="SQL Diag Configuration Tool" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On this opening screen you have the option of selecting an SQLDiag Configuration file pre-configured for SQL Server 2005, 2008, or 2008 R2. Or if you have been working on a file that you want to modify you can press the Open button to select your custom file.&lt;/p&gt;
&lt;p&gt;Each subsequent page will allow you to configure a portion of the configuration file.&lt;/p&gt;
&lt;p&gt;The Authentication Page lets you specify Server and Instance Name and whether you want to use Windows Authentication or SQL Server Authentication&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image004.png"&gt;&lt;img height="361" width="421" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image004_thumb.png" alt="SQLDiag Authentication Page" border="0" title="SQLDiag Authentication Page" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next you specify the Machine Wide Diagnostics options, such as whether or not to capture Event Log Information and whether or not to do so at startup, shutdown, or both.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image006.png"&gt;&lt;img height="366" width="425" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image006_thumb.png" alt="Machine Wide Diagnostics " border="0" title="Machine Wide Diagnostics " style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After Machine options are configured you can specify Instance specific options such as capturing blocking information and whether or not SQLDiag captures configuration data at start up, shutdown or both.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image008.png"&gt;&lt;img height="319" width="373" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image008_thumb.png" alt="Specify Instance specific options" border="0" title="Specify Instance specific options" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next we select the Profiler Events that we would like to capture. Note we can support predefined Profiler configuration files as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image010.png"&gt;&lt;img height="354" width="415" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image010_thumb.png" alt="Select the Profiler Events that we would like to capture" border="0" title="Select the Profiler Events that we would like to capture" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next we configure Perfmon options&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image012.png"&gt;&lt;img height="340" width="398" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image012_thumb.png" alt="Perfmon options" border="0" title="Perfmon options" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We can also enable Producers and Analyzers&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image014.png"&gt;&lt;img height="269" width="315" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image014_thumb.png" alt="Producers" border="0" title="Producers" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt; &lt;a href="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image016.png"&gt;&lt;img height="270" width="315" src="http://www.opsvault.com/wp-content/uploads/2011/04/clip_image016_thumb.png" alt="Analyzers" border="0" title="Analyzers" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And finally we can save the results of our hard work&amp;hellip;.&lt;/p&gt;
&lt;p&gt;All the source code for the SQLDiag Configuration Tool is available on &lt;a target="_blank" href="http://sdct.codeplex.com/"&gt;CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Until next time,&lt;/p&gt;
&lt;p&gt;boB &amp;lsquo;The Toolman&amp;rsquo; Taylor&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10160078" width="1" height="1"&gt;</content><author><name>boB &amp;#39;The Tool Man&amp;#39; Taylor</name><uri>http://blogs.msdn.com/boB-Taylor/ProfileUrlRedirect.ashx</uri></author><category term="SQLDiag" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQLDiag/" /><category term="tools" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/tools/" /><category term="SQL Server" scheme="http://blogs.msdn.com/b/bobtaylor/archive/tags/SQL+Server/" /></entry></feed>