<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>SQLSoldier</title>
	
	<link>http://www.sqlsoldier.com/wp</link>
	<description>News From the Frontlines</description>
	<lastBuildDate>Thu, 17 May 2012 00:24:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Sqlsoldier" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="sqlsoldier" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>SQL Rally 2012 Recap and Session Files</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/sqlrally2012recapandsessionfiles</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/sqlrally2012recapandsessionfiles#comments</comments>
		<pubDate>Tue, 15 May 2012 23:54:51 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL PASS]]></category>
		<category><![CDATA[SQLRally]]></category>
		<category><![CDATA[tempDB]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1800</guid>
		<description><![CDATA[SQL Rally 2012 Recap and Session Files SQL Rally 2012 was hosted by the North Texas SQL Server User Group. More tha anything, it was nice to be back in the area where I grew up. I was born in Houston, but I grew up in the Dallas/Ft. Worth area. It really brought back a...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">SQL Rally 2012 Recap and Session Files</span></h2>
<p><div id="attachment_1801" class="wp-caption alignright" style="width: 160px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/05/dallas-convention-center2.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/05/dallas-convention-center2-300x236.jpg" alt="Dallas Convention Center" title="17067-71" width="150" height="118" class="size-medium wp-image-1801" /></a><p class="wp-caption-text">Dallas Convention Center</p></div><br />
SQL Rally 2012 was hosted by the <a href="http://northtexas.sqlpass.org/" target="_blank">North Texas SQL Server User Group</a>. More tha anything, it was nice to be back in the area where I grew up. I was born in Houston, but I grew up in the Dallas/Ft. Worth area. It really brought back a lot of great memories for me like canoeing on Lake Grapevine or swimming at Lake Lewisville. I remembered fondly when the NFL banned spiking the football and a local radio station started raising money to pay any fines that Tony Dorsett (<a href="http://www.dorsett33.com" target="_blank">site</a>| <a href="http://twitter.com/Tony_Dorsett" target="_blank">@Tony_Dorsett</a>), one of my childhood heros.</p>
<h3>The Highlights</h3>
<p>Other than being back in my old home town, the highlights for me at SQLRally were the engagmeent of the attendees and spending time with SQL friends that I don&#8217;t normally get to see in person.</p>
<p>I gave my first pre-con session at SQL Rally along with my good friend and fellow Certified Master Argenis Fernandez (<a href="http://www.sqlblog.com/blogs/argenis_fernandez" target="_blank">blog</a>|<a href="http://twitter.com/DBArgenis" target="_blank">@DBArgenis</a>). The session, Demystifying Database Administration Best Practices, was Argenis&#8217; concept and I was honored to be included as co-presenter. We had a full room of very engaged participants. There was a lot of discussion and back-ad-forth during the pre-con session and during my regular session.</p>
<p>I also got to see a lot of my SQL friends at SQLRally. The evening events were lots of fun as well. The entire place was singing along with the SQL Karaoke performances. I had a great time talking to David Stein (<a href="http://www.made2mentor.com" target="_blank">blog</a>|<a href="http://twitter.com/Made2Mentor" target="_blank">@Made2Mentor</a>) between sessions. Met some new people when I was hanging out at the <a href="http://www.idera.com" target="_blank">Idera</a> booth and talked about the Certified Master program, data compression, etc.</p>
<h3>Room for Improvement</h3>
<p>As with any event, there is room for improvement. There are two things in particular I would like to touch on: signage and accessibility.</p>
<p>The exact location of the event was not publicized very well which was made a bigger issue due to the enormity of the Dallas Convention Center. When the hotel shuttle dropped me off on the day of my pre-con, I did not know where they should drop me. The driver let me off at what she said was the main entrance. this turned out to be the entrance for lobby C. When I entered, there were no signs for the event. I eventually made my way up to the 2nd level and still did not see any signs though I saw some fellow attendees outside the Starbucks (which was not yet open). It turns out that SQLRally was at the far end of the center in lobby A. Lobby C to lobby A doesn&#8217;t sound very far, but when you have a torn tendon in one knee and must use a cane to walk, it becomes very far, very quickly. I did not see any signs for SQL Rally until I made it far enough into lobby A to see the actual registration table.</p>
<p>The initial long walk aside, the convention center was not very accessible. They had an elevator and some escalators, but th elevator on the lower 2 levels was inside of a remodeling zone and many of the escalators were turned off. In order to get from the street drop-off point, I had to go up a flight of stairs and across a courtyard (and back when leaving). The escalator to the 2nd floor was from the parking lot that had no in/out privileges for dropping someone off. Likewise, the elevator was located next to the parking area and was blocked off on the firt two floors. In order to use the elevator, i had to make my way through hoses and debris.</p>
<p>I realize that much of that is tha fault of the facility and not the organizer&#8217;s. One thing I found odd was that during the pre-con on Wednesday, the coffee was on the 3rd floor by the session rooms. During the event days, the coffee was down on the frst floor across the lobby by registration. This meant that someone like me who is using a cane to walk could not conceivably make the walk to the coffee area and back during a break time. It wimply would take too much time to make the round trip. Basically, this meant that coffee breaks were a no-go for anyone disabled.</p>
<h3>My Tempdb Session Files</h3>
<p><strong>Tempdb: Performance And Manageability:</strong> <a href="http://www.sqlsoldier.com/wp/wp-content/SQLRally2012/TempdbPerformanceAndManageability.zip" target="_blank">TempdbPerformanceAndManageability.zip (3.92 MB)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/sqlrally2012recapandsessionfiles/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Session Files from SQL Saturday #107 Houston</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/session-files-from-sql-saturday-107-houston</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/session-files-from-sql-saturday-107-houston#comments</comments>
		<pubDate>Tue, 15 May 2012 19:03:35 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL PASS]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1797</guid>
		<description><![CDATA[Session Files from SQL Saturday #107 Houston SQL Saturday Houston was a great event hosted by the Houston Area SQL Server Users Group. The event did not have a very large attendence, but those who traded in a beautiful Saturday for some free training were very engaged and we had very productive sessions. My session...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">Session Files from SQL Saturday #107 Houston</span></h2>
<p><div id="attachment_1762" class="wp-caption alignright" style="width: 160px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/04/Houston.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/04/Houston-150x150.jpg" alt="Houston Skyline" title="Houston" width="150" height="150" class="size-thumbnail wp-image-1762" /></a><p class="wp-caption-text">Houston Skyline</p></div><br />
SQL Saturday Houston was a great event hosted by the <a href="http://houston.sqlpass.org/" target="_blank">Houston Area SQL Server Users Group</a>. The event did not have a very large attendence, but those who traded in a beautiful Saturday for some free training were very engaged and we had very productive sessions.</p>
<h3>My session Files</h3>
<p><strong>Strategies for Working with VLDBs:</strong> <a href="http://www.sqlsoldier.com/wp/wp-content/SQLSat107/StrategiesforWorkingwithVLDBs.zip" target="_blank">StrategiesforWorkingwithVLDBs.zip (5.3 MB)</a><br />
<strong>Replication Magic: Initializing from Backup:</strong> <a href="http://www.sqlsoldier.com/wp/wp-content/SQLSat107/ReplicationMagic.zip" target="_blank">ReplicationMagic.zip (5.04 MB)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/session-files-from-sql-saturday-107-houston/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Saturday #107 in Houston, TX</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday107inhoustontx</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday107inhoustontx#comments</comments>
		<pubDate>Mon, 09 Apr 2012 15:47:57 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL PASS]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1753</guid>
		<description><![CDATA[SQL Saturday #107 in Houston, TX SQL Saturday #107 in Houston, TX is almost here. I will be leaving for Houston on Friday, April 13, and I&#8217;ll be spending the entire week preceeding SQL Saturday #107 in Houston visiting the headquarters of my new employer, Idera. One of the coolest parts of this trip is...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">SQL Saturday #107 in Houston, TX</span></h2>
<p><div id="attachment_1762" class="wp-caption alignright" style="width: 160px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/04/Houston.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/04/Houston-150x150.jpg" alt="Houston Skyline" title="Houston" width="150" height="150" class="size-thumbnail wp-image-1762" /></a><p class="wp-caption-text">Houston Skyline</p></div><br />
<a href="http://www.sqlsaturday.com/107/eventhome.aspx" target="_blank">SQL Saturday #107</a> in Houston, TX is almost here. I will be leaving for Houston on Friday, April 13, and I&#8217;ll be spending the entire week preceeding <a href="http://www.sqlsaturday.com/107/eventhome.aspx" target="_blank">SQL Saturday #107</a> in Houston visiting the headquarters of my new employer, <a href="http://www.idera.com" target="_blank">Idera</a>. One of the coolest parts of this trip is that I&#8217;ll get to see the other <a href="http://www.idera.com/ACEs/" target="_blank">Idera ACEs</a> (Advisors &#038; Community Educators) and some of the new ACEs for next year&#8217;s program (starting in July 2012).</p>
<h3>Schedule for SQL Saturday #107</h3>
<p><b>Key:</b></p>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="border:solid thin black;background-color:#ddddff;padding-left:5px;padding-right:5px;">My sessions</td>
</tr>
<tr>
<td style="border:solid thin black;background-color:#ffdddd;padding-left:5px;padding-right:5px;">Other current and future ACEs</td>
</tr>
<tr>
<td style="border:solid thin black;background-color:#ffd670;padding-left:5px;padding-right:5px;">Other Idera staff</td>
</tr>
</table>
<p><span id="more-1753"></span></p>
<table cellspacing="0" cellpadding="0" border="0">
<tr style="color:white;background-color:#666666;">
<th style="text-align:center;font-weight:bold;border:solid thin black;" rowspan="2">Start Time</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;" colspan="2">AD Track</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">AD\DBA Track</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;" colspan="2">BI Track</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;" colspan="4">DBA Track</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">PD Track</th>
</tr>
<tr style="color:white;background-color:#666666;">
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 1</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 2</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 9</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 3</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 4</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 5</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 6</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 7</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 8</th>
<th style="text-align:center;font-weight:bold;border:solid thin black;">Room 10</th>
</tr>
<tr style="color:Blue;background-color:#ddffdd;">
<td style="vertical-align:top;border:solid thin black;">07:30 AM</td>
<td style="text-align:center;border:solid thin black;" colspan="10">Registration</td>
</tr>
<tr style="color:Blue;background-color:White;">
<td style="vertical-align:top;border:solid thin black;">08:15 AM</td>
<td style="text-align:center;border:solid thin black;" colspan="10">Welcome Session with Nancy Hidy Wilson</td>
</tr>
<tr style="color:Blue;background-color:#ddffdd;">
<td style="vertical-align:top;border:solid thin black;">08:30 AM</td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8551">Kendal Van Dyke</p>
<p>Working With XML In SQL Server <br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8374">Jack Corbett</p>
<p>Introduction to Triggers<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8542">Sean McCown</p>
<p>Beginning Powershell for DBAs 1.0<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7798">Tim Mitchell</p>
<p>Top 10 New Features of SSIS in 2012<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6998">Michael Hotek</p>
<p>Build a Data Warehouse in Less than 1 Hour<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ddddff;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8310">Robert Davis</p>
<p>Strategies for Working with VLDBs<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6044">Jim Murphy</p>
<p>AlwaysOn &#8211; Finally, A usable &#8216;mirror&#8217;!<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6122">Kalen  Delaney</p>
<p>Costs of Concurrency<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7641">Michael Fal</p>
<p>The Fabulous Query Plan Primer<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6723">Andy Warren</p>
<p>Building Your Professional Development Plan<br/ ><br />Level: Beginner</a></td>
</tr>
<tr style="color:Blue;background-color:White;">
<td style="vertical-align:top;border:solid thin black;">09:45 AM</td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7427">Wendy Pastrick</p>
<p>Read Dirty to Me &#8211; Isolation Levels/User Impact<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8075">Rick Morelan</p>
<p>Avoid Errors on Errors<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8336">Eric Humphrey</p>
<p>.NET Powers Activate! Form of PowerShell!<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6111">Bryan Smith</p>
<p>Implementing Columnstore Indexes<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6833">Thomas LeBlanc</p>
<p>Dimensional Modeling 101<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6358">William  Assaf</p>
<p>SQL Admin Best Practices with DMV&#8217;s<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6709">Argenis Fernandez</p>
<p>Rolling Upgrades Leveraging Database Mirroring<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8496">Benjamin Nevarez</p>
<p>Inside the SQL Server Query Optimizer<br/ ><br />Level: Advanced</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6124">Steven Ormrod</p>
<p>SQL Server Amnesia<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8544">Sean and Jen McCown</p>
<p>Mouth Wide Shut: Coherent Interviewing<br/ ><br />Level: Beginner</a></td>
</tr>
<tr style="color:Blue;background-color:#ddffdd;">
<td style="vertical-align:top;border:solid thin black;">11:00 AM</td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7808">Jennifer McCown</p>
<p>Unraveling Tangled Code – A Spellbinding Tale<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7445">Mark Rosenberg</p>
<p>Optimizing Stored Procedures<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8539">Sean McCown</p>
<p>Understanding Backups<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8287">Tim Costello</p>
<p>Data Visualization primer:  What you need to know<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6070">William E. Pearson III</p>
<p>Many-to-Many: Multiple Calendars in a Single Cube<br/ ><br />Level: Advanced</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8340">Tim Radney</p>
<p>It is TEMPDB, Why Should You Care?<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7133">Mike Saleme</p>
<p>A consolidation architecture to host 1000s of DBs<br/ ><br />Level: Advanced</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7001">Michael Hotek</p>
<p>Knowledge from Data–FileTable and Semantic Search<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7683">Christina Leo</p>
<p>SQL Server Internals:  It&#8217;s What&#8217;s for Dinner!<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6767">Jason Wong</p>
<p>A Comparison of SQL Server and Oracle<br/ ><br />Level: Intermediate</a></td>
</tr>
<tr style="color:Blue;background-color:White;">
<td style="vertical-align:top;border:solid thin black;">12:00 PM</td>
<td style="text-align:center;border:solid thin black;" colspan="10">Lunch</td>
</tr>
<tr style="color:Blue;background-color:#ddffdd;">
<td style="vertical-align:top;border:solid thin black;">01:30 PM</td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7721">Kevin Boles</p>
<p>Windowing Functions: THE Reason to Upgrade to 2012<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8531">Russel Loski</p>
<p>Introduction to the XML source<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6046">John Cook</p>
<p>SQL Server Tips and Tricks<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6065">William E. Pearson III</p>
<p>Becoming DAX: An Introduction &#8230; <br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8525">David Stein</p>
<p>Data Warehousing &#8211; How to Convince &#8220;The Bobs&#8221;<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8339">Tim Radney</p>
<p>You Inherited a Database, Now What?<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7008">Michael Hotek</p>
<p>Recover from a Disaster–What to do When All Fails<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6570">Wesley Brown</p>
<p>Benchmarking, Baselines and Monitoring Storage<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ddddff;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8311">Robert Davis</p>
<p>Replication Magic: Initializing From Backups<br/ ><br />Level: Advanced</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8554">Nancy Hidy Wilson</p>
<p>WIT Discussion Panel<br/ ><br />Level: Beginner</a></td>
</tr>
<tr style="color:Blue;background-color:White;">
<td style="vertical-align:top;border:solid thin black;">02:45 PM</td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7720">Kevin Boles</p>
<p>SQL Server 2012 TSQL Enhancements and Additions<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffd670;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6041">Vicky Harp</p>
<p>Edge Case Testing for the Database Professional<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6707">Argenis Fernandez</p>
<p>Troubleshooting SQL Server with SysInternals Tools<br/ ><br />Level: Advanced</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8550">Michael D. Newby</p>
<p>EXCEL @ SQL Reporting<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7799">Tim Mitchell</p>
<p>Parent/Child Structures in SSIS<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8046">AJ Mendo</p>
<p>Standardize Your Environment With Best Practices<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8491">Benjamin Nevarez</p>
<p>Top Query Optimizer Topics for Better Performance<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6043">Thomas LeBlanc</p>
<p>Execution Plan Basics &#8211; Beginners<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7428">Wendy Pastrick</p>
<p>Transactional Replication 101<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8372">Kendal Van Dyke</p>
<p>Building Your Own SQL Server Virtual Playground<br/ ><br />Level: Intermediate</a></td>
</tr>
<tr style="color:Blue;background-color:#ddffdd;">
<td style="vertical-align:top;border:solid thin black;">04:00 PM</td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7807">Jennifer McCown</p>
<p>T-SQL Brush-up:The Best Things You Forgot You Knew<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8553">Kris Hokanson</p>
<p>Beyond the Where: Full Text Search tips and tricks<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6722">Andy Warren</p>
<p>SQL Server Security for Developers<br/ ><br />Level: Beginner</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6112">Bryan Smith</p>
<p>An Introduction to Big Data for BI<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6578">James Serra</p>
<p>Scaling SQL Server to HUNDREDS of Terabytes<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=8326">John Sterrett</p>
<p>Evaluate your daily Checklist with PBM and CMS<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=7640">Michael Fal</p>
<p>Eating the Elephant: SQL Server Table Partitioning<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;background-color:#ffdddd;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6569">Wesley Brown</p>
<p>Solid State Storage Deep Dive<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6214">Janis Griffin</p>
<p>Don&#8217;t Panic, DBAs!  Databases on VMware made easy.<br/ ><br />Level: Intermediate</a></td>
<td style="vertical-align:top;border:solid thin black;"><a target="_blank" href="http://www.sqlsaturday.com/viewsession.aspx?sat=107&#038;sessionid=6946">Anthony {Tex} Moreign</p>
<p>The {Microsoft} Cloud and I<br/ ><br />Level: Beginner</a></td>
</tr>
<tr style="color:Blue;background-color:White;">
<td style="vertical-align:top;border:solid thin black;">05:00 PM</td>
<td style="text-align:center;border:solid thin black;" colspan="10">Closing Raffle</td>
</tr>
</table>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday107inhoustontx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reflections on Leaving Microsoft</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/reflectionsonleavingmicrosoft</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/reflectionsonleavingmicrosoft#comments</comments>
		<pubDate>Sat, 31 Mar 2012 15:34:24 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Professional Development]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1731</guid>
		<description><![CDATA[Reflections on Leaving Microsoft Several members of my SQLFamily have made adjustments to their career path recently. Several of us got together for #SQLNomz yesterday to celebrate our job changes, though granted, we don&#8217;t generally require an excuse to get together. Yesterday (Friday, 3/30/2012, in case you&#8217;re reading this in the future) was my last...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">Reflections on Leaving Microsoft</span></h2>
<p><div class="wp-caption alignright" style="width: 330px"><a href="http://farm4.staticflickr.com/3556/3463408515_fd3ce2d898_z.jpg" target="_blank"><img alt="Reflections of Microsoft" src="http://farm4.staticflickr.com/3556/3463408515_fd3ce2d898_z.jpg" title="Reflections of Microsoft" width="320" height="240" /></a><p class="wp-caption-text">Reflections of Microsoft By Jeff Sandquist (http://www.flickr.com/photos/jeffsand/)</p></div><br />
Several members of my SQLFamily have made adjustments to their career path recently. Several of us got together for <a href="https://twitter.com/#!/search/%23SQLNomz" target="_blank">#SQLNomz</a> yesterday to celebrate our job changes, though granted, we don&#8217;t generally require an excuse to get together. Yesterday (Friday, 3/30/2012, in case you&#8217;re reading this in the future) was my last day at Microsoft. I join the wonderful team at <a href="http://www.idera.com" target="_blank">Idera Software</a> on Monday as a Sr. Product Consultant (more on what that means in a future blog post). Likewise, it was my good friend and pre-con cohort Argenis Fernandez&#8217;s (<a href="http://www.sqlblog.com/blogs/argenis_fernandez" target="_blank">blog</a>|<a href="http://twitter.com/DBArgenis" target="_blank">@DBArgenis</a>) last day at Coinstar, and he is joining Microsoft Consulting Services (which sounds like a pretty cool position) on Monday.</p>
<p>Another friend, Dev Nambi (<a href="http://devnambi.com" target="_blank">blog</a>|<a href="http://twitter.com/DevNambi" target="_blank">@DevNambi</a>), had his last day at Microsoft just a few days before mine. He wrote a great blog post on it: <a href="http://devnambi.com/archive/2012/03/leaving-microsoft/" target="_blank">Retrospective: Leaving Microsoft</a>. This blog post has inspired me to write my own retrospective blog post on leaving Microsoft (hint: you&#8217;re reading it right now).</p>
<h3>Reflections of Microsoft</h3>
<p>I spent a little less than 5 years of my career at Microsoft. In DBA years<sup><font color="red"><b>*</b></font></sup>, that&#8217;s at least 8 &frac12; years. Here are some stats for that time:</p>
<ul>
<li>I worked on 4 different groups
<ul>
<li>TS&#038;E Operations (Technical Services &#038; Engineering)</li>
<li>CAP Architecture &#038; Performance Engineering (APE for short)</li>
<li>PQO Operations (Product Quality &#038; Online)</li>
<li>Microsoft Learning Advanced Certifications team</li>
</ul>
</li>
<li>Worked as a DBA, a SQL developer, an Operations Engineer, and lastly as a Program Manager</li>
<li>Spent 2 years a v- contractor and 3 years as an FTE</li>
<li>Worked with some truly talented and dedicated people</li>
<li>Became a SQL Server Certified Master</li>
<li>Presented at my first SQL Saturday in October 2009 at the Microsoft Commons (pictured above)</li>
</ul>
<p><sup><font color="red"><b>*</b></font></sup> DBA years = the time it would take you to put in the number of actual hours worked if you did it without going over 40 hours per week. For the record, I just made this term up, and I claim copyright on it henceforth.</p>
<h3>Reflections on Developers</h3>
<p>We database administrators really like to poke fun at developers, and I&#8217;m just as guilty of that as anyone. But the truth is that I worked with some really great developers at Microsoft.  The best engineering team I have worked with to date in or outside of Microsoft was the CAP engineering team. I worked with the CAP team as both a SQL developer and as an operations engineer. They are a highly skilled and dedicated team who work really hard to make sure they are producing efficent code in the client application, middle-tier, and in the database. Yes, you heard me right. They write efficient, performant SQL code. They have to. CAP is a highly critical application for Microsoft and performance is very important. CAP also interfaces with a lot of other internal critical applications (too many to remember them all), and if CAP is down or slow, they are all down or slow to some degree.</p>
<p>Some of the things that I think the CAP team does right (other than right good code):</p>
<ul>
<li>They have 3 development teams: New features, Sustaining (bug fixes), and Architecture &#038; Performance</li>
<li>They have several dedicated QA/Test environments including one that mirrors the production environment for performance testing</li>
<li>They listen to others. I never felt like I had to fight to get things done that were right for the operations team. They truly partnered with operations and listened to our needs (like automating tasks that other dev teams would have just expected Ops to do manually)</li>
<li>They were a shining example of how Agile Engineering is supposed to work. I&#8217;ve heard Agile often referred to as Fragile, but not when talking about CAP. They were fluid, consistent, and delivered with great results.</li>
<li><div id="attachment_1741" class="wp-caption alignright" style="width: 110px"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/03/Partymonkey.jpg" alt="Party Monkey" title="Partymonkey" width="100" height="110" class="size-full wp-image-1741" /><p class="wp-caption-text">Party Monkey</p></div><br />
They really embodied the Microsoft philosophy of &#8220;Word hard, play hard&#8221;. It was often referred to as the &#8220;Dave and Melissa<sup><font color="red"><b>*</b></font></sup> Show&#8221; (Melissa DeLong and Dave Benton). The head program managers were equally skilled at party planning. Their events were always wacky, a lot of fun, made the team&#8217;s bonds stronger, and somehow always seemed to involve large quantities of inflatable monkeys.</li>
</ul>
<p><sup><font color="red"><b>*</b></font></sup> I would be remiss if I didn&#8217;t also point out that Melissa is also a very gifted <a href="http://melissaschocolates.com/" target="_blank">chocolate maker</a>. Her chili pepper chocolates are to die for!</p>
<h3>Reflections on Relationships</h3>
<p>More than anything, what I will take with me when I leave are some friendships that I am fortunate to have. There are several people that I want to call out. this is by no means the complete list, but these people have been really key for me.</p>
<ul>
<li><strong>Bob Elder:</strong> I actually worked with Bob before Microsoft. I&#8217;ve worked off and on with Bob since I got my first real IT job in February 2000. Bob was the reason I went to work at Microsoft, and he really helped me figure out how to make my way through the Microsoft landscapes. Bob was sometimes my coworker, sometimes my manager, and always my friend.</li>
<li><strong>Jimmy May:</strong> You may know him as that guy that taught us all about <a href="http://blogs.msdn.com/b/jimmymay/archive/2008/12/04/disk-partition-alignment-sector-alignment-for-sql-server-part-4-essentials-cheat-sheet.aspx" target="_blank">disk partition alignment</a> or you may know him as <a href="http://twitter.com/AspiringGeek" target="_blank">@AspiringGeek</a> on Twitter. However you know Jimmy, you respect him. Jimmy is the closest thing I had to a mentor in my career. I&#8217;ve talked to Jimmy a lot about career paths, and the best thing I learned from Jimmy is to follow my passion. I&#8217;m a happier person for it, and I don&#8217;t think that I would be making the move that I am now if I hadn&#8217;t learned this valuable lesson from him.</li>
<li><strong>Meher Malakapalli:</strong> I met Meher (<a href="http://twitter.com/MeherSQL" target="_blank">@MeherSQL</a>) shortly after I joined Microsoft. I had done a big database mirroring project at my previous employer and one of my first projects at Microsoft was to consult on a mirroring project for an application there. Meher was one of the IT engineers for the application. I had many conversations with Meher after that about database mirroring. It was really Meher&#8217;s idea that I write a book on database mirroring. It probably wouldn&#8217;t have happened if he had not planted that idea in my head.</li>
<li><strong>Jonathan Foster:</strong> I remember shortly after I joined PQO Operations, Jonathan told me that he&#8217;s always wanted them to hire a DBA from whom he could really learn how to be a good DBA. I didn&#8217;t know it then, but I soon figured out that Jonathan is the one who should be teaching other people. I convinced Jonathan to co-present one of my sessions at the SQL PASS Summit last year. Jonathan talked about the soft skills of a good DBA like working with your engineering team, engineering for operations, and understanding the needs of your stakeholders. Jonathan is a great DBA, but he truly excels at the soft skills more than any other DBA I have ever worked with. I think he is under-appreciated and under-utilized at Microsoft, and I constantly urge him to look elsewhere.</li>
<li><strong>Katherine Myers:</strong> I worked with Katherine in TS&#038;E Operations and again later in PQO Operations. There isn&#8217;t a Certified Master program for SCOM, but if there was, she would be the first person I&#8217;d think of. She did really really unique stuff with SCOM when most people were still using MOM. She built in a lot of automated processes for the application test teams to perform common tasks that they simply did not have permissions to do like getting the event logs from the machines and resetting test data. It may not sound like much from my description, but her work in this area drastically reduced the demands on the time of the entire team. Katherine left TS&#038;E before I did when she accepted a position in XBox Live Operations. When Katherine told me later that she was leaving XBox Live operations and going to return to being a contractor, I immediately lobbied my managers to hire her. She is now revolutionizing monitoring in PQO Operations as part of their infrastructure team. I keep telling Katherine that one day I&#8217;m going to start my own company so she can come work for me and spread her SCOM expertise far and wide.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/reflectionsonleavingmicrosoft/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whitepaper: Demystify Tempdb Performance &amp; Management</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/demystifytempdbperformancemanagement</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/demystifytempdbperformancemanagement#comments</comments>
		<pubDate>Wed, 21 Mar 2012 03:14:14 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Performance & Optimization]]></category>
		<category><![CDATA[tempDB]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Whitepapers]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1723</guid>
		<description><![CDATA[Whitepaper: Demystify Tempdb Performance &#038; Management There are many misconceptions and myths about tempdb and purported best practices are inconsistent at best. It’s hard to know which advice to follow when one resource says to always do it one way and another tells you to always do it the opposite way. Many times, both resources...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">Whitepaper: Demystify Tempdb Performance &#038; Management</span></h2>
<p><div id="attachment_1724" class="wp-caption alignright" style="width: 310px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/03/Demystify.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/03/Demystify-300x250.jpg" alt="Demystify Tempdb Performance &amp; Management" title="Demystify Tempdb Performance &amp; Management" width="300" height="250" class="size-medium wp-image-1724" /></a><p class="wp-caption-text">Demystify Tempdb Performance &#038; Management</p></div><br />
There are many misconceptions and myths about tempdb and purported best practices are inconsistent at best. It’s hard to know which advice to follow when one resource says to always do it one way and another tells you to always do it the opposite way. Many times, both resources are correct in certain situations or to a certain degree. Part of the problem is that rarely is there a single correct solution to any scenario in SQL Server. Unfortunately, many administrators will assume that because a practice worked for them in one situation that they should do the same practice in every situation.</p>
<p>The purpose of <a href="http://www.idera.com/Action/ProcFormBypass.aspx?DoThis=WP&#038;ThisID=37" target="_blank">this whitepaper</a> is to guide you on how to make the right decisions for managing tempdb; to help you determine the proper solution for any given scenario. In order to be able to make these decisions, there are several concepts that must be understood. We will take a look at what tempdb is and how it is used and some common major problems and how to prevent them. We will also provide some best practices on configuring and monitoring tempdb.</p>
<p><b>Title:</b> <a href="http://www.idera.com/Action/ProcFormBypass.aspx?DoThis=WP&#038;ThisID=37" target="_blank">Demystify Tempdb Performance &#038; Management</a><br />
<b>Writer:</b> Robert L Davis<br />
<b>Published:</b> March 20, 2012<br />
<b>Publisher:</b> Idera<br />
<b>Applies to:</b> SQL Server 2008, SQL Server 2008 R2<br />
<b>Summary:</b> This whitepaper provides clear guidance on best practices for managing tempdb to<br />
provide the optimum balance between performance, reliability, and manageability.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/demystifytempdbperformancemanagement/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Goodbye Microsoft, Hello World</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/goodbyemicrosofthelloworld</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/goodbyemicrosofthelloworld#comments</comments>
		<pubDate>Sat, 03 Mar 2012 04:51:14 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Professional Development]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1564</guid>
		<description><![CDATA[Goodbye Microsoft, Hello World The cowboy&#8217;s job is done here, and it&#8217;s time for him to move on to the next adventrue. The lonely prairie wanderer moves onward, always moving forward. Never looks back, never catches one last fleeting glance. This adventure is over. and it&#8217;s time for something new. The wanderer wanders on into...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">Goodbye Microsoft, Hello World</span></h2>
<p><div id="attachment_1565" class="wp-caption alignright" style="width: 249px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/03/sunset.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/03/sunset-239x300.jpg" alt="Goodbye Microsoft, Hello World" title="Goodbye Microsoft, Hello World" width="239" height="300" class="size-medium wp-image-1565" /></a><p class="wp-caption-text">Goodbye Microsoft, Hello World</p></div><br />
The cowboy&#8217;s job is done here, and it&#8217;s time for him to move on to the next adventrue. The lonely prairie wanderer moves onward, always moving forward. Never looks back, never catches one last fleeting glance. This adventure is over. and it&#8217;s time for something new. The wanderer wanders on into the sunset.</p>
<p>Goodbye Microsoft. Helloe new adventure.</p>
<h3>Goodbye Microsoft</h3>
<p>I joined Microsoft as a contractor in 2007. I worked as an operations engineer on the TS&#038;E Operations Team (I don&#8217;t recall what TS&#038;E stood for). Then our team was &#8220;re-org&#8217;d&#8221; and split into three parts in three different groups. The part I was in was then &#8220;phased out&#8221; and all of the applications we managed went into sustained engineering mode which is a nice way of saying our jobs were outsourced.</p>
<p>One of the other sections of our group had gone on to become a very strong team doing development for a critical application known as CAP (Customer Assistance Portal). As the old team was dying, I joined the development team of the other group. I was brought in to work on their architecture and performance engineering (APE) team. The CAP application had been brought back into Microsoft (it had been in &#8220;sustained engineering&#8221; for a few years. Our first charter was to improve performance of the application so that it would make it through another holiday season that year. Our second charge would be to rearchitect it for sustained growth. In short, the application was originally written to be used by 20 people and it now needed to handle a load about 10,000 times it&#8217;s original load.</p>
<p>Our holiday performance project for CAP was a huge success. The CAP development team fell under the PQO (Product quality &#038; Online) group. They decided to bring operations for CAP under PQO as well, and I was offered a full time employee position with PQO Operations to take over as Sr. Operations Engineer for the CAP application. We had an operations team of 8 to 9 managing this application and its associated BI application. The CAP operations transition was another huge success.</p>
<p>As a stipulation of accepting the CAP operations position, Microsoft agreed to send me through the Certified Master program whcih I did in March of 2010. After the success of CAP, I was made the technical lead of the SQL Virtual Team for PQO Operations. Our purpose was to educate our fellow operations engineers, most of whom were not DBAs, and to provide DBA services to the various applications managed by PQO Operations. Again, this was a huge success.</p>
<p>When i heard that Joseph Sack was moving on, I jumped at the chance to lead the SQL MCM program in his place. I have been in the role of Project Manager for the SQL MCM program for less than a year now, but an offer came along that was too perfect for me. I simply could not turn it down. When a position that is this ideal for you, you have to realize that this is something rare. I had no plans to leave my role as PM of teh MCM program in the foreseeable future, but this offer was just too good.</p>
<p>So with this, I say goodbye to Microsoft. Time for my next adventure. I will officially ride off into the sunset on Friday, March 30th.</p>
<p>Hello world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/goodbyemicrosofthelloworld/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why We Follow Best Practices</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/whywefollowbestpractices</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/whywefollowbestpractices#comments</comments>
		<pubDate>Sun, 26 Feb 2012 17:55:12 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[MCM]]></category>
		<category><![CDATA[SQLRally]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1553</guid>
		<description><![CDATA[Why We Follow Best Practices There are many reasons why we follow best practices. My own reasons have changed over the course of my career. Early in my career as a database developer and then later as a new DBA, I followed best practices because people who claimed to know more about SQL Server said...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">Why We Follow Best Practices</span></h2>
<p><div id="attachment_1554" class="wp-caption alignright" style="width: 310px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/02/BestPractices.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/02/BestPractices-300x240.jpg" alt="Best Practices" title="Best Practices" width="300" height="240" class="size-medium wp-image-1554" /></a><p class="wp-caption-text">Best Practices</p></div><br />
There are many reasons why we follow best practices. My own reasons have changed over the course of my career. Early in my career as a database developer and then later as a new DBA, I followed best practices because people who claimed to know more about SQL Server said to, and I assumed that their advice would be better than my own.</p>
<p>This of course led to me adopting the best ractice of not following the advice of someone simply because they claimed to know more than others. I learned that you needed to evaluate the source that it was coming from. I don&#8217;t even take best practices from Microsoft itself as gospel. Having worked at Microsoft for many years, I can assure you that internally, we don&#8217;t all agree on certain practices. I have heard from people who set all of their OLTP SQL Servers to MAXDOP = 1 because an engineer in PSS (Microsoft&#8217;s Premier Support Services) told them this was the best practice for fixing CXPacket waits and they should always use this on an OLTP server. I&#8217;m not going to go into detail in this post on why this is a bad recommendation (read my post <a href="http://www.sqlsoldier.com/wp/sqlserver/thebarkingdoganalogy" target="_blank">The Barking Dog Analogy</a> if you want to know why I say this). My point is that it is not always easy to know who you can trust for best practices.</p>
<p>I&#8217;m not by any means trying to disparage PSS and its engineers. They have some truly brilliant guys working there, and I advise people to open a case with them quite frequently. I was just demonstrating that even noramlly reliable sources can distribute bad practices as good. At some point in my career, I came to the realization that for most reported best practices I could find posted on the internet, with just a little more reasearch, I could find the exact opposite advice posted as a best practice on another website or blog. In addition to figuring out who I could trust for best practices, I started developing the skill of evaluating the best practice myself to determine if what they were saying agreed with what I could prove. In short, I learned the value of testing before implementing.</p>
<div id="attachment_1555" class="wp-caption alignnone" style="width: 650px"><a href="http://www.dilbert.com" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/02/best-practices-dilbert.gif" alt="Dilbert by Scott Adams (www.dilbert.com)" title="Dilbert by Scott Adams (www.dilbert.com)" width="640" height="199" class="size-full wp-image-1555" /></a><p class="wp-caption-text">Dilbert by Scott Adams (www.dilbert.com)</p></div>
<p>The skill of being able to verify a best practice is critical for DBAs. At some point, we all are faced with others recommending a bad best practice to management and management buying in to it. You either need to have already proven that the practice would be bad or be able to prove it now. A number of times I have won out over the bad practice by saying, &#8220;Let&#8217;s try it in test and see what happens.&#8221; This only works if you make sure that the proper scenarios are run in test so that it is accurately evaluated. Other times, I already had empirical data to back me up. If management doesn&#8217;t understand the technology, it&#8217;s very easy for them to buy in to a bad practice because they are relying on us to advise them of these things. I have found that it is very easy to get management on your side when it&#8217;s a case of the other side &#8220;read it on a blog somewhere&#8221; versus you &#8220;have real data showing that it would be bad.&#8221;</p>
<p>At some point, I started cultivating my own set of best practices. Ultimately, it&#8217;s a culmination of what I have learned from others, my own experiences, my own tests, and my understanding of how SQL operates internally. I have also learned to tailor my best practices to the audience. I was the SQL technical lead on an operations team at Microsoft and most of the operations engineers on the team were not DBAs. I spent a fair amount of time trying to tech them best practices. When talking to non-DBAs, I will give them a different set of best practices than i would to experienced DBAs. For example, I would tell a non-DBA to create one data file per CPU for tempdb so they can avoid the possibility of tempdb contention altogether. Conversely, I would tell an experienced DBA that they should start with 1 data file for every 2 or 4 CPUs for tempdb, monitor for tempdb contention, and adjust if needed. I also held monthly training sessions for non-DBAs where I tried to educate them on things like tempdb contention to try to elevate their SQL Server knowledge level.</p>
<h3>Demystifying Database Administration Best Practices</h3>
<p>Being able to develop and evaluate best practices is a critical skill for DBAs. That&#8217;s one reason that fellow Certified Master (MCM) Argenis Fernandez (<a href="http://www.sqlblog.com/blogs/argenis_fernandez" target="_blank">blog</a>|<a href="http://twitter.com/DBArgenis" target="_blank">@DBArgenis</a>) and I are doing a <a href="http://www.sqlpass.org/sqlrally/2012/dallas/Agenda/Session.aspx?sid=2254" target="_blank">pre-con at SQLRally</a> on May 9th called <a href="http://www.sqlpass.org/sqlrally/2012/dallas/Agenda/Session.aspx?sid=2254" target="_blank">Demystifying Database Administration Best Practices</a>. This training will cover more than simply enumerating best practices. We will show you how why they are best practices and show you how to evaluate best practices themselves.</p>
<p><strong>More info:</strong></p>
<p>Our pre-con: <a href="http://www.sqlpass.org/sqlrally/2012/dallas/Agenda/Session.aspx?sid=2254" target="_blank">Demystifying Database Administration Best Practices</a><br />
Pre-con schedule: <a href="http://www.sqlpass.org/sqlrally/2012/dallas/Agenda/PreConference.aspx" target="_blank">PASS SQLRally Dallas 2012: Pre-Conference Sessions</a><br />
SQLRally homepage: <a href="http://www.sqlpass.org/sqlrally/2012/dallas/" target="_blank">Join Us in Dallas for PASS SQLRally 2012</a></p>
<div id="attachment_1559" class="wp-caption alignnone" style="width: 478px"><a href="http://www.sqlpass.org/sqlrally/2012/dallas/" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/02/SQLRally.jpg" alt="SQL Rally 2012, May 10 = 11, Dallas, TX" title="SQL Rally 2012, May 10 = 11, Dallas, TX" width="468" height="60" class="size-full wp-image-1559" /></a><p class="wp-caption-text">SQL Rally 2012, May 10 = 11, Dallas, TX</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/whywefollowbestpractices/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL Saturday 108 (Redmond, WA) Session Files</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday108sessionfiles</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday108sessionfiles#comments</comments>
		<pubDate>Sun, 26 Feb 2012 02:44:02 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[SQL PASS]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1540</guid>
		<description><![CDATA[SQL Saturday 108 (Redmond, WA) Session Files Session files are now available for download. The zip file contains the PowerPoint slide deck and demo code. Zip file: ReplicationMagic.zip (5.2 KB) Included files: Demo: Initializing replication from a log backup InitializeFromLogPub.sql InitializeFromLogSub.sql Demo: Initializing replication from a filegroup backup using named filegroups FGByNameBackup.sql FGByNameRestore.sql Demo: Initializing...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">SQL Saturday 108 (Redmond, WA) Session Files</span></h2>
<div id="attachment_1542" class="wp-caption alignright" style="width: 210px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/02/SQLSat108ReplMagic.jpg" target="_blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/02/SQLSat108ReplMagic-300x247.jpg" alt="SQL Saturday 108 Replication Magic" title="SQL Saturday 108 Replication Magic" width="200" height="165" class="size-medium wp-image-1542" /></a><p class="wp-caption-text">SQL Saturday 108 Replication Magic</p></div>
<p>Session files are now available for download. The zip file contains the PowerPoint slide deck and demo code.</p>
<p><strong>Zip file:</strong> <a href="http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday108sessionfiles/attachment/replicationmagic-2" rel="attachment wp-att-1541" target="_blank">ReplicationMagic.zip (5.2 KB)</a></p>
<ul>Included files:</p>
<li>Demo: Initializing replication from a log backup
<ul>
<li>InitializeFromLogPub.sql</li>
<li>InitializeFromLogSub.sql</li>
</ul>
</li>
<li>Demo: Initializing replication from a filegroup backup using named filegroups
<ul>
<li>FGByNameBackup.sql</li>
<li>FGByNameRestore.sql</li>
</ul>
</li>
<li>Demo: Initializing replication from a filegroup backup using read-write and read-only filegroups (not demoed during session)
<ul>
<li>ReadWriteFGBackup.sql</li>
<li>ReadWriteFGRestore.sql</li>
</ul>
</li>
<li>Slidedecks
<ul>
<li>PowerPoint 2010: ReplicationMagic.pptx</li>
<li>PowerPoint 2003-2007: ReadWriteFGRestore.sql</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/sqlsaturday108sessionfiles/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Shameless Plug] Can We Have Your Vote?</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/canwehaveyourvote</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/canwehaveyourvote#comments</comments>
		<pubDate>Wed, 08 Feb 2012 20:17:05 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Performance & Optimization]]></category>
		<category><![CDATA[SQL PASS]]></category>
		<category><![CDATA[SQLRally]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1537</guid>
		<description><![CDATA[[Shameless Plug] Can We Have Your Vote? Argenis Fernandez (&#124;@DBArgenis) and yours truly have submitted a Pre-Conference for SQL Rally 2012 in Dallas, TX called “Demystifying Database Administration Best Practices”. We think it’s going to be an epic session with just loads and loads of tips and best practices on multiple aspects of Database Administration, from...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">[Shameless Plug] Can We Have Your Vote?</span></h2>
<div id="attachment_618" class="wp-caption alignright" style="width: 250px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2010/12/SQLRally.gif" target="_blank"><img class="size-full wp-image-618" title="SQLRally" src="http://www.sqlsoldier.com/wp/wp-content/uploads/2010/12/SQLRally.gif" alt="SQLRally" width="240" height="93" /></a><p class="wp-caption-text">SQL PASS SQLRally</p></div>
<p>Argenis Fernandez (<a href="http://sqlblog.com/blogs/argenis_fernandez/archive/2012/02/08/shameless-plug-can-we-have-your-vote.aspx" target="_blank">|</a><a href="http://twitter.com/DBArgenis" target="_blank">@DBArgenis</a><a href="http://sqlblog.com/blogs/argenis_fernandez/archive/2012/02/08/shameless-plug-can-we-have-your-vote.aspx" target="_blank">) </a>and yours truly have submitted a Pre-Conference for <a href="http://www.sqlpass.org/sqlrally/2012/dallas/">SQL Rally 2012 in Dallas, TX</a> called “Demystifying Database Administration Best Practices”. We think it’s going to be an epic session with just loads and loads of tips and best practices on multiple aspects of Database Administration, from Windows/AD setup to Daily Operations to Code Reviews.</p>
<p>While our session wasn’t chosen by the committee in the first round, it made it to the community voting round – so this post is to kindly ask for your vote. We promise we’ll deliver great content! Argenis and I have combined over 25+ years of experience. I am an MCM, and Argenis is halfway there (he actually will take a shot at the MCM lab Thursday, February 9, 2012).</p>
<p>Please vote here:</p>
<p><a href="http://www.sqlpass.org/sqlrally/2012/dallas/UserLogin.aspx?returnurl=/sqlrally/2012/dallas/CommunityChoice.aspx">http://www.sqlpass.org/sqlrally/2012/dallas/UserLogin.aspx?returnurl=/sqlrally/2012/dallas/CommunityChoice.aspx</a></p>
<p>If you haven’t become a member of PASS yet (You haven’t? What are you waiting for?) It’s free, go sign up now here:</p>
<p><a href="http://www.sqlpass.org/RegisterforSQLPASS.aspx">http://www.sqlpass.org/RegisterforSQLPASS.aspx</a></p>
<p>And even if you do not feel that our session would be the best choice, please vote and make your voice heard. Do your part in keeping our community strong.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/canwehaveyourvote/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking Down TempDB Contention (part 2)</title>
		<link>http://www.sqlsoldier.com/wp/sqlserver/breakingdowntempdbcontentionpart2</link>
		<comments>http://www.sqlsoldier.com/wp/sqlserver/breakingdowntempdbcontentionpart2#comments</comments>
		<pubDate>Mon, 30 Jan 2012 22:06:33 +0000</pubDate>
		<dc:creator>SQLSoldier</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Performance & Optimization]]></category>
		<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[tempDB]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.sqlsoldier.com/wp/?p=1526</guid>
		<description><![CDATA[Breaking Down TempDB Contention (part 2) I wrote a somewhat popular script and blog post a while back called Breaking Down TempDB Contention. This post explains how to identify tempdb contention. This past Friday, Jonathan Kehayias (blog&#124;@SQLPoolboy) contacted me about the script. Jonathan said that he thought the math was off just a little bit...]]></description>
			<content:encoded><![CDATA[<h2><span style="color: #4f81bd;">Breaking Down TempDB Contention (part 2)</span></h2>
<div id="attachment_1528" class="wp-caption alignright" style="width: 310px"><a href="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/01/tempdbContentionDM.png" target="+blank"><img src="http://www.sqlsoldier.com/wp/wp-content/uploads/2012/01/tempdbContentionDM-300x239.png" alt="Tempdb Contention via Idera Diagnostic Manager" title="Tempdb Contention via Idera Diagnostic Manager" width="300" height="239" class="size-medium wp-image-1528" /></a><p class="wp-caption-text">Tempdb Contention via Idera Diagnostic Manager</p></div>
<p>I wrote a somewhat popular script and blog post a while back called <a href="http://www.sqlsoldier.com/wp/sqlserver/breakingdowntempdbcontention" target="_blank">Breaking Down TempDB Contention</a>. This post explains how to identify tempdb contention. This past Friday, Jonathan Kehayias (<a href="http://www.sqlskills.com/blogs/jonathan/" target="_blank">blog</a>|<a href="http://twitter.com/SQLPoolboy" target="_blank">@SQLPoolboy</a>) contacted me about the script. Jonathan said that he thought the math was off just a little bit in the script. The original script has the PFS pages repeating every 8088 pages and the GAM and SGAM pages repeating every 511232 pages. That is almost right.</p>
<p>The first PFS page is page 1 (which is actually the second page in the file as the header page is page 0). The 2nd PFS page is 8088 exactly, not 8088 pages later. After the first page, it does repeat every 8088 pages.</p>
<p>Likewise, the first GAM page is page 2, the second GAM page is page 511232 and then repeats every 511232 pages. The first SGAM is page 3, the second SGAM page is 511233 and then repeats every 511232 pages.</p>
<p>The old <strong>incorrect</strong> formula for determing which type of page on which the contention is occurring was:</p>
<p><strong>GAM:</strong> (Page ID – 2) % 511232<br />
<strong>SGAM:</strong> (Page ID – 3) % 511232<br />
<strong>PFS:</strong> (Page ID – 1) % 8088</p>
<p>The new and improved forumala is:</p>
<p><strong>GAM:</strong> Page ID = 2 or Page ID % 511232<br />
<strong>SGAM:</strong> Page ID = 3 or (Page ID &#8211; 1) % 511232<br />
<strong>PFS:</strong> Page ID = 1 or Page ID % 8088</p>
<h3>Proving the New Formula</h3>
<p>I wanted you to be able to prove for yourself that the new forula was correct. I threw together a script to check the page types of the suspected allocation pages. The first thing i want to do is grow the tempdb data file to a size large enough that I can check multiple instances of the allocation files. The GAM and SGAM pages reoccur every 4 GB, so this script will work just fine with a smaller amount than I&#8217;ve chosen. I grow the tempdb data file to 20 GB.</p>
<pre class="code"><span style="color:green">-- Resize tempdb main data file to 20 GB
</span><span style="color:blue">Declare </span>@FileSize <span style="color:blue">int</span><span style="color:gray">;

</span><span style="color:blue">Select </span>@FileSize <span style="color:gray">= </span>size <span style="color:gray">* </span>8 <span style="color:gray">/ </span>1024
<span style="color:blue">From </span>tempdb<span style="color:gray">.</span><span style="color:green">sys</span><span style="color:gray">.</span><span style="color:green">database_files
</span><span style="color:blue">Where </span>name <span style="color:gray">= </span><span style="color:red">N'tempdev'</span><span style="color:gray">;

</span><span style="color:blue">If </span>@FileSize <span style="color:gray">&lt; </span>2048
  <span style="color:blue">Begin
    Alter Database </span>tempdb
        <span style="color:blue">Modify File </span><span style="color:gray">(
            </span>Name <span style="color:gray">= </span><span style="color:red">N'tempdev'</span><span style="color:gray">,
            </span>Size <span style="color:gray">= </span>20480MB<span style="color:gray">)
  </span><span style="color:blue">End
Go</span></pre>
<p>Now that the tempdb is large enough, I can select some choice pages. We know for a fact that page 1 is PFS , page 2 is GAM, and page 3 is SGAM. If we look at the page with DBCC PAGE, we will see a page type of 11, 8, and 9 respectively. We also check several other pages to see if they return the page types we expect.</p>
<pre class="code"><span style="color:green">-- Check page type of Page type of
-- page IDs of 1, 8088, 16176
</span><span style="color:blue">Declare </span>@DBCCPage <span style="color:blue">Table </span><span style="color:gray">(
    </span>ParentObject <span style="color:blue">nvarchar</span><span style="color:gray">(</span>255<span style="color:gray">),
    </span><span style="color:blue">Object nvarchar</span><span style="color:gray">(</span>255<span style="color:gray">),
    </span>Field <span style="color:blue">nvarchar</span><span style="color:gray">(</span>255<span style="color:gray">),
    </span>Value <span style="color:blue">nvarchar</span><span style="color:gray">(</span>255<span style="color:gray">))

</span><span style="color:green">-- Read pages 1, 8088, 16176
</span><span style="color:blue">Insert Into </span>@DBCCPage
<span style="color:blue">Exec </span><span style="color:maroon">sp_executesql </span><span style="color:red">N'DBCC traceon (3604);
        DBCC Page(tempdb, 1, 1, 1) With TableResults;
        DBCC Page(tempdb, 1, 2, 1) With TableResults;
        DBCC Page(tempdb, 1, 3, 1) With TableResults;
        DBCC Page(tempdb, 1, 8088, 1) With TableResults;
        DBCC Page(tempdb, 1, 16176, 1) With TableResults;
        DBCC Page(tempdb, 1, 511232, 1) With TableResults;
        DBCC Page(tempdb, 1, 511233, 1) With TableResults;
        DBCC Page(tempdb, 1, 1022464, 1) With TableResults;
        DBCC Page(tempdb, 1, 1022465, 1) With TableResults;'</span><span style="color:gray">;

</span><span style="color:green">-- Parse page numbers and types (11 = PFS page
</span><span style="color:blue">Select </span>m_pageId<span style="color:gray">, </span>m_type
<span style="color:blue">From </span><span style="color:gray">(</span><span style="color:blue">Select Object</span><span style="color:gray">, </span>Field<span style="color:gray">, </span>Value
    <span style="color:blue">From </span>@DBCCPage
    <span style="color:blue">Where </span>Field <span style="color:gray">In (</span><span style="color:red">'m_type'</span><span style="color:gray">, </span><span style="color:red">'m_pageId'</span><span style="color:gray">)) </span><span style="color:blue">As </span>Pvt
<span style="color:gray">Pivot (</span><span style="color:magenta">Min</span><span style="color:gray">(</span>Value<span style="color:gray">)
    </span><span style="color:blue">For </span>Field <span style="color:gray">In (</span>[m_type]<span style="color:gray">, </span>[m_pageId]<span style="color:gray">)) </span><span style="color:blue">As </span>Pvt2<span style="color:gray">;</span></pre>
<p><b>the Results</b></p>
<table cellpadding="4" cellspacing="0" border="0">
<tr>
<td align="center" style="border:solid thin black;">&nbsp;<b>m_pageId</b>&nbsp;</td>
<td align="center" style="border:solid thin black;">&nbsp;<b>m_type</b>&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:1)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;11&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:2)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;8&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:3)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;9&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:8088)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;11&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:16176)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;11&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:1022464)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;8&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:1022465)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;9&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:511232)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;8&nbsp;</td>
</tr>
<tr>
<td style="border:solid thin black;">&nbsp;(1:511233)&nbsp;</td>
<td style="border:solid thin black;">&nbsp;9&nbsp;</td>
</tr>
</table>
<h3> New Script</h3>
<p>Jonathan also sent a version of the previous script that he thought would fit the bill. I changed it up a little bit to use a CTE simply because I think it is easier to read and understand with a CTE than with a derived table.</p>
<pre class="code"><span style="color:blue">With </span>Tasks
<span style="color:blue">As </span><span style="color:gray">(</span><span style="color:blue">Select </span>session_id<span style="color:gray">,
        </span>wait_type<span style="color:gray">,
        </span>wait_duration_ms<span style="color:gray">,
        </span>blocking_session_id<span style="color:gray">,
        </span>resource_description<span style="color:gray">,
        </span>PageID <span style="color:gray">= </span><span style="color:magenta">Cast</span><span style="color:gray">(Right(</span>resource_description<span style="color:gray">, </span><span style="color:magenta">Len</span><span style="color:gray">(</span>resource_description<span style="color:gray">)
                - </span><span style="color:magenta">Charindex</span><span style="color:gray">(</span><span style="color:red">':'</span><span style="color:gray">, </span>resource_description<span style="color:gray">, </span>3<span style="color:gray">)) </span><span style="color:blue">As Int</span><span style="color:gray">)
    </span><span style="color:blue">From </span><span style="color:green">sys</span><span style="color:gray">.</span><span style="color:green">dm_os_waiting_tasks
    </span><span style="color:blue">Where </span>wait_type <span style="color:gray">Like </span><span style="color:red">'PAGE%LATCH_%'
    </span><span style="color:gray">And </span>resource_description <span style="color:gray">Like </span><span style="color:red">'2:%'</span><span style="color:gray">)
</span><span style="color:blue">Select </span>session_id<span style="color:gray">,
        </span>wait_type<span style="color:gray">,
        </span>wait_duration_ms<span style="color:gray">,
        </span>blocking_session_id<span style="color:gray">,
        </span>resource_description<span style="color:gray">,
    </span>ResourceType <span style="color:gray">= </span><span style="color:blue">Case
        When </span>PageID <span style="color:gray">= </span>1 <span style="color:gray">Or </span>PageID <span style="color:gray">% </span>8088 <span style="color:gray">= </span>0 <span style="color:blue">Then </span><span style="color:red">'Is PFS Page'
        </span><span style="color:blue">When </span>PageID <span style="color:gray">= </span>2 <span style="color:gray">Or </span>PageID <span style="color:gray">% </span>511232 <span style="color:gray">= </span>0 <span style="color:blue">Then </span><span style="color:red">'Is GAM Page'
        </span><span style="color:blue">When </span>PageID <span style="color:gray">= </span>3 <span style="color:gray">Or (</span>PageID <span style="color:gray">- </span>1<span style="color:gray">) % </span>511232 <span style="color:gray">= </span>0 <span style="color:blue">Then </span><span style="color:red">'Is SGAM Page'
        </span><span style="color:blue">Else </span><span style="color:red">'Is Not PFS, GAM, or SGAM page'
    </span><span style="color:blue">End
From </span>Tasks<span style="color:gray">;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sqlsoldier.com/wp/sqlserver/breakingdowntempdbcontentionpart2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

