<?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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>SQL Server Blog by Jason Massie</title>
	
	<link>http://jasonmassie.com</link>
	<description>SQL, Performance, Cloud, Bad Humor</description>
	<lastBuildDate>Tue, 13 Oct 2009 15:28:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>32.846645</geo:lat><geo:long>-96.967337</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-sa/3.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/statisticsio" type="application/rss+xml" /><feedburner:emailServiceId>statisticsio</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>What is Professional Development?</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/0HToOJW3fuc/</link>
		<comments>http://jasonmassie.com/archive/2009/10/what-is-professional-development/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 15:28:00 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[PDSIG]]></category>
		<category><![CDATA[professional development]]></category>
		<category><![CDATA[social computing]]></category>
		<category><![CDATA[SQLPASS]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/10/what-is-professional-development/</guid>
		<description><![CDATA[I am writing this post because the SQL PASS Professional Development(PD) Virtual Chapter is going to be launching soon. I wanted to define what this means to me, not PASS, and put out a desperate cry call for help. Arnie Rowland and Mark Caldwell are my partners in crime with supporting roles from Blythe Morrow [...]]]></description>
			<content:encoded><![CDATA[<p>I am writing this post because the SQL PASS Professional Development(PD) Virtual Chapter is going to be launching soon. I wanted to define what this means to <strong>me</strong>, not PASS, and put out a <strike>desperate cry</strike> call for help. Arnie Rowland and Mark Caldwell are my partners in crime with supporting roles from Blythe Morrow and <a href="http://sqlrockstar.com" target="_blank">Thomas LaRock</a>. The virtual chapter is launching at the Summit. More to come on this. This is what we are in need of.</p>
<ul>
<li>Short article\post authors on Professional Development topics as they relate to the SQL Server Professional </li>
<li>SQL Bloggers who would like their existing professional development content syndicated to the PD feed like general topic on <a href="http://sqlserverpedia.com" target="_blank">SQLServerpedia</a>.</li>
<li>Volunteers for monthly live meetings </li>
<li>Help us spread the word through your networks and blogs </li>
<li>Your ideas on how the Professional Dev PASS virtual chapter can serve the community.</li>
</ul>
<p>This chapter can only be as good as its members and by helping the chapter grow, you are really helping yourself grow.</p>
<p>So what do I think consists of professional development? Well, you could start of with <a href="http://jasonmassie.com/archive/tag/professional-development/" target="_blank">this tag</a> but that might give you the wrong impression. <img src='http://jasonmassie.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Let’s see what the Internet says: </p>
<p>From Wikipedia: </p>
<blockquote><p><strong>Professional development</strong> refers to skills and knowledge attained for both personal development and career advancement. Professional development encompasses all types of facilitated learning opportunities, ranging from college degrees to formal coursework, conferences and informal learning opportunities situated in practice. It has been described as intensive and collaborative, ideally incorporating an evaluative stage <sup><a style="background-image: none; color: #002bb8; white-space: nowrap; text-decoration: none; background-origin: initial; background-clip: initial" href="http://en.wikipedia.org/wiki/Professional_development#cite_note-0"><span>[</span>1<span>]</span></a></sup> There are a variety of approaches to professional development, including consultation, coaching, communities of practice, lesson study, mentoring, reflective supervision and technical assistance.<sup><a style="background-image: none; color: #002bb8; white-space: nowrap; text-decoration: none; background-origin: initial; background-clip: initial" href="http://en.wikipedia.org/wiki/Professional_development#cite_note-1"><span>[</span>2<span>]</span></a></sup></p></blockquote>
<p><span><a href="http://en.wikipedia.org/wiki/Professional_development">http://en.wikipedia.org/wiki/Professional_development</a></span> </p>
<p>That is pretty close to what I was thinking especially skills\knowledge obtained for personal development and career advancement. Here are some PD topics IMO:</p>
<ul>
<li>Social networking\Blogging</li>
<li>Handing tough situations\office politics\obnoxious coworkers in the work place</li>
<li>Negotiating offers and raises</li>
<li>Career path decision trees</li>
<li>Job seeking skills</li>
<li>Presentation delivery techniques</li>
<li>Management(Time, People, Project etc.)</li>
<li>Development of organizational skills</li>
<li>Volunteering in the SQL Server community</li>
</ul>
<p>And the list could go on for a long time. Hit Arnie, Mark or myself up if this is something you would like to help out with.</p>
<p><span>What do you think should be covered in a Professional Development virtual chapter?</span></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2009/08/dba-compliments/" rel="bookmark">DBA Compliments</a></li><li><a href="http://jasonmassie.com/archive/2009/04/dear-pass-dont-bi-us-to-death/" rel="bookmark">Dear PASS, Don’t BI us to Death</a></li><li><a href="http://jasonmassie.com/archive/2009/01/updated-unused-index-query/" rel="bookmark">Updated Unused Index Query</a></li><li><a href="http://jasonmassie.com/archive/2008/06/sql-server-2008-to-increase-slacking-off-at-work-by-at-least-15/" rel="bookmark">SQL Server 2008 to increase slacking off at work by at least 15%</a></li><li><a href="http://jasonmassie.com/archive/2008/09/buffer-pool-usage-by-database/" rel="bookmark">Buffer Pool Usage by Database</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=0HToOJW3fuc:Tmk1vAvMSEE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=0HToOJW3fuc:Tmk1vAvMSEE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=0HToOJW3fuc:Tmk1vAvMSEE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=0HToOJW3fuc:Tmk1vAvMSEE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=0HToOJW3fuc:Tmk1vAvMSEE:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/0HToOJW3fuc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/10/what-is-professional-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://jasonmassie.com/archive/2009/10/what-is-professional-development/</feedburner:origLink></item>
		<item>
		<title>Filtered Stats to Counter Data Skew Issues</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/ht3CvAYK4r8/</link>
		<comments>http://jasonmassie.com/archive/2009/10/filtered-stats-to-counter-data-skew-issues/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 13:43:00 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[query optimizer]]></category>
		<category><![CDATA[query tuning]]></category>
		<category><![CDATA[Statistics]]></category>
		<category><![CDATA[tsql]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/10/filtered-stats-to-counter-data-skew-issues/</guid>
		<description><![CDATA[There are a handful of things that can make SQL Server choose a “bad plan”. They usually revolve around variable sized result sets. Some problematic scenarios are parameter sniffing, data skew, local variables, table variables, UDF’s or complex calculations in the where clause. All of these and more are detailed in my favorite and recently [...]]]></description>
			<content:encoded><![CDATA[<p>There are a handful of things that can make SQL Server choose a “bad plan”. They usually revolve around variable sized result sets. Some problematic scenarios are parameter sniffing, data skew, local variables, table variables, UDF’s or complex calculations in the where clause. All of these and more are detailed in my favorite and <a href="http://msdn.microsoft.com/en-us/library/dd535534.aspx">recently updated white paper</a>.</p>
<p>We are going to be talking about data skew in this post. Picture a table where you have 1 billion&#160; rows where IsShipped = 1 but 50k rows where IsShipped=NULL. Now, let’s say you have a query that returns orders that are not shipped(NULL). During compilation, the optimizer asks the stats how many rows are IsShipped=NULL. If the stats sampling touched, few, if any of the pages, where IsShipped = NULL, then SQL Server will guess that only 1 row will be returned. This may surpass the key lookup threshold(<a href="http://jasonmassie.com/archive/2009/02/key-lookup-threshold/">Part 1</a>, <a href="http://jasonmassie.com/archive/2009/02/key-lookup-threshold-part-2/">Part 2</a>) and a scan would not be optimal but better than a key lookup. Get it? We will look at an example soon if not.</p>
<p>In the past, your options have been limited. Update stats with fullscan was usually the best option unless the table was just too large and volatile. If it was, you probably had to use index hints or OPTIMIZE FOR the lesser of the two evils. You have covering indexes and is probably a good solution for the example above unless the result set has to be very wide. </p>
<p>Filtered statistics are a significant improvement and can be used nicely when dealing with this problem. They are smaller so cheaper to maintain. Their scope can be very narrow so they are more accurate. </p>
<p>There are a couple of caveats. I wrote about the need to <a href="http://jasonmassie.com/archive/2009/10/sampling-problem-with-filtered-statistics/">use full scan on very selective stats here</a> and Kimberly Tripp wrote about the fact that they will not <a href="http://www.sqlskills.com/BLOGS/KIMBERLY/post/Filtered-indexes-and-filtered-stats-might-become-seriously-out-of-date.aspx#comment">auto update until the entire table crosses the threshold</a>.</p>
<p>Let’s look at an example.</p>
<p><code style="font-size: 12px"><span style="color: blue">CREATE TABLE </span><span style="color: black">filtered_stats        <br /></span><span style="color: gray">(        <br /></span><span style="color: black">c1 </span><span style="color: blue">INT </span><span style="color: #434343">IDENTITY</span><span style="color: gray">(</span><span style="color: black">1</span><span style="color: gray">,</span><span style="color: black">1</span><span style="color: gray">) </span><span style="color: blue">PRIMARY KEY NONCLUSTERED</span><span style="color: gray">,        <br /></span><span style="color: black">c2 datetime </span><span style="color: blue">DEFAULT </span><span style="color: magenta">GETDATE</span><span style="color: gray">(),        <br /></span><span style="color: black">c3 </span><span style="color: blue">CHAR</span><span style="color: gray">(</span><span style="color: black">500</span><span style="color: gray">),        <br /></span><span style="color: black">c4 </span><span style="color: blue">INT        <br /></span><span style="color: gray">)        </p>
<p></span><span style="color: green">--lets add 1 million rows with c4=1        <br />--lets add 1 row with c4 = 2         <br />--Lets add a million more with c4 =3         <br />--Finally, lets add 50 more with c4 =2 so the estimates are skewed.         <br /></span><span style="color: blue">DECLARE </span><span style="color: #434343">@ctr </span><span style="color: blue">INT = </span><span style="color: black">1000000        <br /></span><span style="color: blue">WHILE </span><span style="color: #434343">@ctr </span><span style="color: gray">&gt; </span><span style="color: black">0        <br /></span><span style="color: blue">BEGIN        <br />&#160;&#160; INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">VALUES        <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">1</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">SELECT </span><span style="color: #434343">@ctr </span><span style="color: blue">= </span><span style="color: #434343">@ctr</span><span style="color: gray">-</span><span style="color: black">1        <br /></span><span style="color: blue">END        <br /></span><span style="color: black">GO        <br /></span><span style="color: blue">INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">VALUES        <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">2</span><span style="color: gray">)        <br /></span><span style="color: blue">DECLARE </span><span style="color: #434343">@ctr </span><span style="color: blue">INT = </span><span style="color: black">1000000        <br /></span><span style="color: blue">WHILE </span><span style="color: #434343">@ctr </span><span style="color: gray">&gt; </span><span style="color: black">0        <br /></span><span style="color: blue">BEGIN        <br />&#160;&#160; INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">VALUES        <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">3</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">SELECT </span><span style="color: #434343">@ctr </span><span style="color: blue">= </span><span style="color: #434343">@ctr</span><span style="color: gray">-</span><span style="color: black">1        <br /></span><span style="color: blue">END        <br /></span><span style="color: black">GO        <br /></span><span style="color: blue">DECLARE </span><span style="color: #434343">@ctr </span><span style="color: blue">INT = </span><span style="color: black">50        <br /></span><span style="color: blue">WHILE </span><span style="color: #434343">@ctr </span><span style="color: gray">&gt; </span><span style="color: black">0        <br /></span><span style="color: blue">BEGIN        <br />&#160;&#160; INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">VALUES        <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">2</span><span style="color: gray">)        <br />&#160;&#160; </span><span style="color: blue">SELECT </span><span style="color: #434343">@ctr </span><span style="color: blue">= </span><span style="color: #434343">@ctr</span><span style="color: gray">-</span><span style="color: black">1        <br /></span><span style="color: blue">END        </p>
<p></span><span style="color: green">--Let's add a clustered index        <br /></span><span style="color: blue">CREATE CLUSTERED INDEX </span><span style="color: black">ix1 </span><span style="color: blue">ON </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c2</span><span style="color: gray">)        </p>
<p></span><span style="color: green">--This index will be used for the key lookups        <br /></span><span style="color: blue">CREATE INDEX </span><span style="color: black">ix2 </span><span style="color: blue">ON </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c4</span><span style="color: gray">)&#160; </p>
<p></span><span style="color: green">--The estimated rows returned are 1 but the actual rows are 51. </span></code></p>
<p><code style="font-size: 12px"><span style="color: green">--This is a bad estimate due to uneven data distribution.       <br /></span><span style="color: blue">SELECT </span><span style="color: black">c1</span><span style="color: gray">, </span><span style="color: black">c2        <br /></span><span style="color: blue">FROM </span><span style="color: black">filtered_stats        <br /></span><span style="color: blue">WHERE </span><span style="color: black">c4</span><span style="color: blue">=</span><span style="color: black">2 </span></code></p>
<p>&#160;</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/10/underestimate.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="underestimate" border="0" alt="underestimate" src="http://jasonmassie.com/wp-content/uploads/2009/10/underestimate_thumb.png" width="316" height="402" /></a></p>
<p> <code style="font-size: 12px"><span style="color: green">--Lets create narrow and more accurate filtered stats      <br />--You still have to do full scan but you are touching just a fraction of the data – NOTE: Full scan is needed based on my observations <a href="http://jasonmassie.com/archive/2009/10/sampling-problem-with-filtered-statistics/">here</a>.      <br /></span><span style="color: blue">CREATE STATISTICS </span><span style="color: black">fstats </span><span style="color: blue">ON </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c4</span><span style="color: gray">) </span><span style="color: blue">WHERE </span><span style="color: black">c4 </span><span style="color: blue">= </span><span style="color: black">2 </span><span style="color: blue">WITH </span><span style="color: black">fullscan      </p>
<p></span><span style="color: green">--This should estimate 51 no matter how many times you update stats since they are more accurate      <br /></span><span style="color: blue">SELECT </span><span style="color: black">c1</span><span style="color: gray">, </span><span style="color: black">c2      <br /></span><span style="color: blue">FROM </span><span style="color: black">filtered_stats      <br /></span><span style="color: blue">WHERE </span><span style="color: black">c4</span><span style="color: blue">=</span><span style="color: black">2 </span></code><strong></strong>
<p>&#160;</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/10/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://jasonmassie.com/wp-content/uploads/2009/10/image_thumb.png" width="307" height="415" /></a> </p>
<p>This is not bullet proof but I say it is an improvement. The downside include the fact that filtered stats are manually created. Manual stats updates will need to be done with a full scan. You may also say that a covering index(or filtered covering index) would kill this. That is true but there may be an actual need to return all columns of a table. </p>
<p>A quick wrap up: Put it in the tool box. It will be like that $50 wrench that you use once a year but it saves you 4 hours every time you touch it.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2009/01/updated-unused-index-query/" rel="bookmark">Updated Unused Index Query</a></li><li><a href="http://jasonmassie.com/archive/2008/12/never-index-a-bit/" rel="bookmark">Never Index a BIT?</a></li><li><a href="http://jasonmassie.com/archive/2009/02/key-lookup-threshold/" rel="bookmark">Key Lookup Threshold</a></li><li><a href="http://jasonmassie.com/archive/2009/01/finding-index-scans-due-to-implicit-conversions/" rel="bookmark">Finding Index Scans due to Implicit Conversions</a></li><li><a href="http://jasonmassie.com/archive/2009/01/is-8020-a-90rsquos-estimate/" rel="bookmark">Is 80/20 a 90’s Estimate?</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=ht3CvAYK4r8:vDWn9ucecsA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=ht3CvAYK4r8:vDWn9ucecsA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=ht3CvAYK4r8:vDWn9ucecsA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=ht3CvAYK4r8:vDWn9ucecsA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=ht3CvAYK4r8:vDWn9ucecsA:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/ht3CvAYK4r8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/10/filtered-stats-to-counter-data-skew-issues/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://jasonmassie.com/archive/2009/10/filtered-stats-to-counter-data-skew-issues/</feedburner:origLink></item>
		<item>
		<title>Sampling Problem with Filtered Statistics</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/cXMNl08e4jA/</link>
		<comments>http://jasonmassie.com/archive/2009/10/sampling-problem-with-filtered-statistics/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 17:54:18 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[bugfix]]></category>
		<category><![CDATA[filtered indexes]]></category>
		<category><![CDATA[query optimizer]]></category>
		<category><![CDATA[Statistics]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/10/sampling-problem-with-filtered-statistics/</guid>
		<description><![CDATA[I was writing a blog post to show how to solve the problem of bad estimations due to uneven data distribution with filtered statistics. After an hour or so of banging my head against the wall, I discovered that I ran into a bug feature. It appears that if the predicate on the filtered stats [...]]]></description>
			<content:encoded><![CDATA[<p>I was writing a blog post to show how to solve the problem of bad estimations due to uneven data distribution with filtered statistics. After an hour or so of banging my head against the wall, I discovered that I ran into a <strike>bug</strike> feature. It appears that if the predicate on the filtered stats is very selective then a non-null histogram will not be generated unless they are created\updated with full scan. This is true for automatically generated stats for filtered indexes as well but they are created with full scan when the index is created.</p>
<p>Let’s look at demo data created with this code:</p>
<p> <code style="font-size: 12px"><span style="color: black">     <br /></span><span style="color: blue">CREATE TABLE </span><span style="color: black">filtered_stats      <br /></span><span style="color: gray">(      <br /></span><span style="color: black">c1 </span><span style="color: blue">INT </span><span style="color: #434343">IDENTITY</span><span style="color: gray">(</span><span style="color: black">1</span><span style="color: gray">,</span><span style="color: black">1</span><span style="color: gray">) </span><span style="color: blue">PRIMARY KEY NONCLUSTERED</span><span style="color: gray">,      <br /></span><span style="color: black">c2 </span><span style="color: blue">DATETIME DEFAULT </span><span style="color: magenta">GETDATE</span><span style="color: gray">(),      <br /></span><span style="color: black">c3 </span><span style="color: blue">CHAR</span><span style="color: gray">(</span><span style="color: black">500</span><span style="color: gray">),      <br /></span><span style="color: black">c4 </span><span style="color: blue">INT      <br /></span><span style="color: gray">)      </p>
<p></span><span style="color: green">--lets at 1 million rows with c4=1      <br />--lets add 1 row with c4 = 2       <br />--Lets add a million more with c4 =3       <br />--Finally, lets add 50 more with c4 =3 so the estimates are skewed.       <br /></span><span style="color: blue">DECLARE </span><span style="color: #434343">@ctr </span><span style="color: blue">INT = </span><span style="color: black">1000000      <br /></span><span style="color: blue">WHILE </span><span style="color: #434343">@ctr </span><span style="color: gray">&gt; </span><span style="color: black">0      <br /></span><span style="color: blue">BEGIN      <br />&#160;&#160; INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">VALUES      <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">1</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">SELECT </span><span style="color: #434343">@ctr </span><span style="color: blue">= </span><span style="color: #434343">@ctr</span><span style="color: gray">-</span><span style="color: black">1      <br /></span><span style="color: blue">END      <br /></span><span style="color: black">GO      <br /></span><span style="color: blue">INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">VALUES      <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">2</span><span style="color: gray">)      <br /></span><span style="color: blue">DECLARE </span><span style="color: #434343">@ctr </span><span style="color: blue">INT = </span><span style="color: black">1000000      <br /></span><span style="color: blue">WHILE </span><span style="color: #434343">@ctr </span><span style="color: gray">&gt; </span><span style="color: black">0      <br /></span><span style="color: blue">BEGIN      <br />&#160;&#160; INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">VALUES      <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">3</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">SELECT </span><span style="color: #434343">@ctr </span><span style="color: blue">= </span><span style="color: #434343">@ctr</span><span style="color: gray">-</span><span style="color: black">1      <br /></span><span style="color: blue">END      <br /></span><span style="color: black">GO      <br /></span><span style="color: blue">DECLARE </span><span style="color: #434343">@ctr </span><span style="color: blue">INT = </span><span style="color: black">50      <br /></span><span style="color: blue">WHILE </span><span style="color: #434343">@ctr </span><span style="color: gray">&gt; </span><span style="color: black">0      <br /></span><span style="color: blue">BEGIN      <br />&#160;&#160; INSERT INTO </span><span style="color: black">filtered_stats</span><span style="color: gray">(</span><span style="color: black">c3</span><span style="color: gray">, </span><span style="color: black">c4</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">VALUES      <br />&#160;&#160; </span><span style="color: gray">(</span><span style="color: red">'blah'</span><span style="color: gray">, </span><span style="color: black">2</span><span style="color: gray">)      <br />&#160;&#160; </span><span style="color: blue">SELECT </span><span style="color: #434343">@ctr </span><span style="color: blue">= </span><span style="color: #434343">@ctr</span><span style="color: gray">-</span><span style="color: black">1      <br /></span><span style="color: blue">END      <br /></span></code>  <br /> 
<p>So now we have 1 million rows with c4 = 1 and 3. We have 51 rows with c4=2.</p>
<p>If we create this filtered stats, we have a null histogram: CREATE statistics fstats2 on filtered_stats(c4) where c4 =2 </p>
<p><a href="http://jasonmassie.com/wp-content/SamplingProblemwithFilteredStatistics_B565/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="121" alt="image" src="http://jasonmassie.com/wp-content/SamplingProblemwithFilteredStatistics_B565/image_thumb.png" width="484" border="0" /></a> </p>
<p>Updating or creating with fullscan give use the following data from dbcc show_statistics.</p>
<p><a href="http://jasonmassie.com/wp-content/SamplingProblemwithFilteredStatistics_B565/image_3.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="130" alt="image" src="http://jasonmassie.com/wp-content/SamplingProblemwithFilteredStatistics_B565/image_thumb_3.png" width="484" border="0" /></a> </p>
<p>Bug or Feature? This is what BOL says: </p>
<blockquote><p>“When only a few values are returned, however, sampling might not provide accurate statistics. For highly selective predicates, which return relatively few values, using the WITH FULLSCAN option will improve accuracy because it will scan all of the values instead of sampling.”</p>
</blockquote>
<p>So they “recommend” that you use full scan on highly selective stats. However, I think that is a bug since we do not even get unfiltered rows or rows sampled back. Not to mention that inaccurate stats means to me that numbers are returned but they are most likely less than what is actually there. I will submit it as a bug unless one of you have thoughts otherwise.</p>
<p>So in a nut shell, ALWAYS update filtered stats with full scan or they may not actually be doing you any good. There are also some other considerations in regards to filtered <a href="http://www.sqlskills.com/BLOGS/KIMBERLY/post/Filtered-indexes-and-filtered-stats-might-become-seriously-out-of-date.aspx#comment" target="_blank">stats that Kimberly Tripp has recently written about</a>. There is some good conversion about it as well. Conor also posted about it <a href="http://blogs.msdn.com/conor_cunningham_msft/archive/2009/04/17/do-filtered-statistics-update-as-frequently-as-normal-statistics.aspx" target="_blank">here</a>.</p>
<p>I will have more on filtered stats coming up in the next post.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2009/01/updated-unused-index-query/" rel="bookmark">Updated Unused Index Query</a></li><li><a href="http://jasonmassie.com/archive/2008/12/never-index-a-bit/" rel="bookmark">Never Index a BIT?</a></li><li><a href="http://jasonmassie.com/archive/2009/02/key-lookup-threshold/" rel="bookmark">Key Lookup Threshold</a></li><li><a href="http://jasonmassie.com/archive/2009/01/finding-index-scans-due-to-implicit-conversions/" rel="bookmark">Finding Index Scans due to Implicit Conversions</a></li><li><a href="http://jasonmassie.com/archive/2009/01/is-8020-a-90rsquos-estimate/" rel="bookmark">Is 80/20 a 90’s Estimate?</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=cXMNl08e4jA:MZpmIPq8KyQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=cXMNl08e4jA:MZpmIPq8KyQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=cXMNl08e4jA:MZpmIPq8KyQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=cXMNl08e4jA:MZpmIPq8KyQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=cXMNl08e4jA:MZpmIPq8KyQ:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/cXMNl08e4jA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/10/sampling-problem-with-filtered-statistics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://jasonmassie.com/archive/2009/10/sampling-problem-with-filtered-statistics/</feedburner:origLink></item>
		<item>
		<title>Life</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/acGnD1EivGY/</link>
		<comments>http://jasonmassie.com/archive/2009/10/life/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 03:19:00 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[geek pr0n]]></category>
		<category><![CDATA[Offtopic]]></category>
		<category><![CDATA[orgy of one]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/10/life/</guid>
		<description><![CDATA[Life happens and the next thing you know a month is gone. I know you have been wondering where I have been. Srsly, my ego allows me to think that the Internet takes notice when I am not in the usual hangouts. Anyway since I am that cool(in my head), I figure I would share [...]]]></description>
			<content:encoded><![CDATA[<p>Life happens and the next thing you know a month is gone. I know you have been wondering where I have been. Srsly, my ego allows me to think that the Internet takes notice when I am not in the usual hangouts. Anyway since I am that cool(in my head), I figure I would share the mundane details of my life. Besides, I figure if I leave anything to imagination I am bound to attract a couple dozen stalkers. I am pretty sure I have some web stalkers now. They are just very discreet.</p>
<p>Well to start things off, my kids spilled soymilk on my laptop. I have accidental damage coverage through best buy so I have a get out of jail free card but I am going to wait on the public Win7 launch for the new models. I have been eyeing the <a href="http://configure.us.dell.com/dellstore/config.aspx?oc=dydofb2&amp;c=us&amp;l=en&amp;s=dhs&amp;cs=19&amp;kc=core_i7_systems">quad core i7 Dells</a>.</p>
<p>The other time leech has been Halo OSDT. It was a great game. I spent most of my time working my way through the solo campaign. The story is pretty good but the ending had me saying that is it? Fire fight is fun. Multiplayer is ok except <strike>people cheat</strike> I suck at it.</p>
<p>I had a major project I accidentally fell into. I took a customer to <a href="http://frys.com">Geek Mecca</a> when he was in town from Denmark. I decided that I was going to come back and get a home theater with blu-ray. I did and the wife made me take it back after a day or two. It was too late at that point. The electronaholic was loose and prowling electronics stores at lunch. So I researched and hunted for a deal and got an Onkyo HT-S6200. I spent a week wiring, rewiring, reading manuals, and tweaking settings in a hedonistic geekfest of primal proportions. I think I excreted nerd musk at one point.</p>
<p>There was just one problem. I <strong>HAD TO HAVE</strong> Dolby tru-hd or DTS-HD master audio to get the true experience out of a 7.1 sound system. Another trip to Frys and the problem was solved with a blu-ray player. </p>
<p>At least, I thought the problem was solved. It turns out that the blu-ray could not go through the Onkyo to my TV because it was connected HMDI to DVI and it was not HDCP compliant. About this time, I also discovered that my HD cable channels were not working either. You know where this is going…</p>
<p>I was planning on a new TV for the family for Christmas anyway. What was I supposed to do? Go to component and optical cables which would quadruple the amount of cables behind my TV? I had no choice. Right?</p>
<p>Here is the setup and I really did shop around. I got some good deals. I even checked Craig’s list for the blu-ray player and the same model was going for more used than a new one because the seller bought it 6-9 months ago when it was twice as much.</p>
<p>Here is the setup:</p>
<ul>
<li><a href="http://www.onkyousa.com/model.cfm?class=Systems&amp;m=HT-S6200">Onkyo HT-S6200</a></li>
<li><a href="http://www.samsung.com/us/consumer/tv-video/blu-ray/blu-ray-players/BD-P1600/XAA/index.idx?pagetype=prd_detail">Samsung BP-D1600</a></li>
<li><a href="http://www.mitsubishi-tv.com/product/WD65737">Mitsubishi WD65737</a></li>
<li>Rocketfish rear wireless speaker kit</li>
</ul>
<p>It is not video\audiophile worthy but it is an upgrade for me. Not to mention that with a wife and three kids, I can’t have an orgy of one in a pile of new electronics and bubble wrap very often.</p>
<p>The only thing that I am worried about is the monkey on my back whispering about the 73” of goodness in the WD73737. It is just a whisper but it is getting louder. Must. Resist. Impure. Urges.</p>
<p>Here are before and after pics.</p>
<p><strong>Before:</strong></p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/10/IMG00081200910041209.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG00081-20091004-1209" border="0" alt="IMG00081-20091004-1209" src="http://jasonmassie.com/wp-content/uploads/2009/10/IMG00081200910041209_thumb.jpg" width="484" height="364" /></a> </p>
<p>After:</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/10/IMG00090200910062037.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG00090-20091006-2037" border="0" alt="IMG00090-20091006-2037" src="http://jasonmassie.com/wp-content/uploads/2009/10/IMG00090200910062037_thumb.jpg" width="484" height="364" /></a> </p>
</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/10/IMG00091200910062038.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG00091-20091006-2038" border="0" alt="IMG00091-20091006-2038" src="http://jasonmassie.com/wp-content/uploads/2009/10/IMG00091200910062038_thumb.jpg" width="484" height="364" /></a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2009/09/the-dr-cloud-an-example/" rel="bookmark">The DR Cloud: An Example</a></li><li><a href="http://jasonmassie.com/archive/2009/07/capt-varchar-the-pagelatch-posse-vol-26/" rel="bookmark">Capt. Varchar &amp; the Pagelatch Posse Vol. 26</a></li><li><a href="http://jasonmassie.com/archive/2009/07/dear-robocopy-you-suck-very-little/" rel="bookmark">Dear Robocopy, You Suck Very Little.</a></li><li><a href="http://jasonmassie.com/archive/2009/07/high-level-view-of-a-clustered-sql-server-2008-setup/" rel="bookmark">High Level View of a Clustered SQL Server 2008 Setup</a></li><li><a href="http://jasonmassie.com/archive/2009/08/secrets-of-sql-server-consultant/" rel="bookmark">Secrets of SQL Server Consultant</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=acGnD1EivGY:_OVv0GY_axc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=acGnD1EivGY:_OVv0GY_axc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=acGnD1EivGY:_OVv0GY_axc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=acGnD1EivGY:_OVv0GY_axc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=acGnD1EivGY:_OVv0GY_axc:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/acGnD1EivGY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/10/life/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://jasonmassie.com/archive/2009/10/life/</feedburner:origLink></item>
		<item>
		<title>Professional Development: Internet Image</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/Bcyh1Xg-Dyk/</link>
		<comments>http://jasonmassie.com/archive/2009/09/professional-development-internet-image/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 15:13:00 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[professional development]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/09/professional-development-internet-image/</guid>
		<description><![CDATA[ Writing from the plane. I just wanted to let you know this because it sounds like I am cool.   On the way to Sacramento with a short stop in Vegas. Hopefully, I do not miss my plane and end up in a poker tournament for more $ than I can afford against [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/normal_InternetSeriousBusiness.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 5px 11px 3px 0px; display: inline; border-top: 0px; border-right: 0px" title="normal_Internet-SeriousBusiness" border="0" alt="normal_Internet-SeriousBusiness" align="left" src="http://jasonmassie.com/wp-content/uploads/2009/09/normal_InternetSeriousBusiness_thumb.jpg" width="224" height="244" /></a> Writing from the plane. I just wanted to let you know this because it sounds like I am cool. <img src='http://jasonmassie.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  On the way to Sacramento with a short stop in Vegas. Hopefully, I do not miss my plane and end up in a poker tournament for more $ than I can afford against people I have to get lucky to beat. *wink* Nah.. That is the first of many jokes that are not funny in this post. It is Grandpop’s funeral that I am headed to so I can’t miss my flight and if I do, I have to go on stand by. Before you bring all the sappy condolences etc, I am not down. He lived a LONG, prosperous, and happy life. He was a violin professor a university in Serbia before WWII. He escaped from a concentration camp in WWII. He came to America and gave up the violin to provide for his family which grew to three daughters, five grandchildren, and three great grandchildren. Oh yah, he outlived two wives and was steady pimpin’ into his 80’s.</p>
<p><strong>Relevance, please?</strong></p>
<p>So, you ask, what does all that have to do with Professional Development? I just advertised some things about the kind of person I am. It is now part of my Internet Image. That first paragraph is like a tattoo. It will never go away. This is what some say should be avoided when speaking of internet image in the SQL Server(and beyond) community. They say maintain the most upmost professionalism at all times. That is one strategy and I agree it is hard to get into trouble being conservative. However, you can also be yourself if assume the following:</p>
<ul>
<li>(Today’s + affirmation) By acting myself, I can interact with people with the same interests as me, I am likable for who I am, and I want to associate with people like me <strong>even in a professional environment</strong>. </li>
<li>I would prefer to work in an environment where I fit the general culture. </li>
<li>By fitting in with the culture, I am a foot a head of an equal job candidate for same position that does not fit in the with culture. </li>
</ul>
<p><strong>Talking about myself again!</strong></p>
<p>To use me as an example, I display my xbox gamer tag proudly on this site. I would not want to work for a company where most of the people do not own Xboxes. At the same time, I would love to work at a company where there are games in the break room. </p>
<p>Of course, you can cross the line and use <a href="http://jasonmassie.com/archive/2009/09/the-problem-statement/" target="_blank">poop or toilet analogies</a>. At the same time, wouldn’t you prefer to work for a boss who appreciated crude internets geek humor <strong>if</strong> that is what you are into? Same goes for bowling, knitting, d&amp;d, and wiccan magic. He77, if it was not for HR, my first question to potential job candidates would be “What is <a href="http://asciigoatse.com/" target="_blank">Goatse</a>?”. I kid but as a hiring manager, I do look for technical ability first but cultural fit is a not too far behind. Look at it like this. I do not care if I walk by and one of my DBAs is reading the Onion because I know when a server explodes and the ʪĦÍŦ hits the fan, they will be there be it for three hours or thirty; what ever it takes to recover, boot, or function. <u>That intangible quality is a job skill!</u></p>
<p><strong>Where is the line?</strong></p>
<p>I suggest that anytime you ever post anything online, you follow this decision tree.</p>
<ul>
<li>Picture your dream job that you want to be in DBA century(10 human years)&#160; from now. </li>
<li>Ask yourself if this will help or hurt your chances for that job? </li>
<li>If the answer is yes, then ask yourself if you would be happy working for such a company\manager? </li>
<li>If both answers are yes, then do not post! </li>
<li>If either are no, post away. </li>
<li>If drinking tasty cold alcoholic beverages, immediately post something “insightful” on your boss’s boss’s facebook wall. </li>
</ul>
<p><strong>So can this backfire?</strong></p>
<p>There are also other circumstances that I should warn you against being yourself <strike>like if you are the only one who laughs at your jokes or is boring, obnoxious, always right, a trekkie, or a LOTR fanatic(7 hours of walking! Even the trees!)</strike>.&#160; These mostly hold true for the unforeseeable future too so if you are not confident in your future, you may want to exercise caution as well and remember that life happens. Here are some things that would make me be more conservative.</p>
<ul>
<li>Your job market is small. Examples include a small town or a very small niche specialty like a Sybase to SQL Server conversion specialist in Bee-eF-eeVille, Texas. </li>
<li>Your experience lends to junior level jobs for now. We all started off some where. Until your technical experience outpaces any possible negative <strong>perceptions</strong>, then a conservative route made be prudent. As I said earlier, it is hard to get in trouble being conservative so when in doubt, lean tight right like a southern Baptist GOP senator in the closet. </li>
<li>Religion and politics(previous bullet aside) – This is more of my personal preference because a valid argument could be made for putting this out there. I, on the other hand, think that my dream job could be working for someone that I don’t agree with on Religion\Politics and I think the hiring manager may choose an equal but “image conservative” candidate over me because of it. However, if this is your cup of tea, +10 street cred homeboy! </li>
<li>You are conservative by nature. I am only making a case for being who you are. Do not portray anything you are not. </li>
<li>You think you may change careers over the next 10 years. Again, life happens. Lean conservatively unless you are confident in your future. </li>
</ul>
<p><strong>What am I trying to say</strong><font size="1">.</font>.<strong>.</strong></p>
<p>I have not spoken much about the benefits of this openness on “The CPU” as my wife calls it. Let me wrap this up with that. Basically, it is more fun and more natural to be ourselves. I believe you are more interesting. Why hold back personality for dry dull dialog? That said, being anything but being the utmost professional on the internet should be done after careful thought so don’t log into alt.binaries.erotica.asian.furry.midgets.multimedia with your real name! Besides, I have worked for the same company for the last 10 years and I do not think I will be looking over the next 5-10+ years so take this with a grain of salt. Lastly, the golden rule is don’t do anything you would not be proud to show yo mamma.</p>
<p>Speaking of…. Yo mamma so nasty we tried to flush her dirty pages with DBCC DROPCLEANBUFFERS&#160; but it kept failing because of the stench from that puss bubble excreting from her VLF. BOOM.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2009/07/the-latest-greatest-productivity-killer/" rel="bookmark">The Latest Greatest Productivity Killer</a></li><li><a href="http://jasonmassie.com/archive/2009/10/what-is-professional-development/" rel="bookmark">What is Professional Development?</a></li><li><a href="http://jasonmassie.com/archive/2009/09/the-dr-cloud-an-example/" rel="bookmark">The DR Cloud: An Example</a></li><li><a href="http://jasonmassie.com/archive/2009/08/dba-compliments/" rel="bookmark">DBA Compliments</a></li><li><a href="http://jasonmassie.com/archive/2008/03/offtopic-but-cool/" rel="bookmark">Offtopic but cool</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Bcyh1Xg-Dyk:WYzOFJIlgLo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Bcyh1Xg-Dyk:WYzOFJIlgLo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Bcyh1Xg-Dyk:WYzOFJIlgLo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Bcyh1Xg-Dyk:WYzOFJIlgLo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Bcyh1Xg-Dyk:WYzOFJIlgLo:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/Bcyh1Xg-Dyk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/09/professional-development-internet-image/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://jasonmassie.com/archive/2009/09/professional-development-internet-image/</feedburner:origLink></item>
		<item>
		<title>OT:  Music – What the Fork?</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/xp4cNcdCQ5w/</link>
		<comments>http://jasonmassie.com/archive/2009/09/ot-music-what-the-fork/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 21:10:23 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Off topic]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/09/ot-music-what-the-fork/</guid>
		<description><![CDATA[A bit house music that I recorded this weekend. It is all 2009 stuff except for the first song. All music is available at http://juno.co.uk and other fine digital distribution sites.
This mix is bass heavy and upbeat. If you are not into electronic music or did not like my previous mixes this may be one [...]]]></description>
			<content:encoded><![CDATA[<p>A bit house music that I recorded this weekend. It is all 2009 stuff except for the first song. All music is available at <a href="http://juno.co.uk">http://juno.co.uk</a> and other fine digital distribution sites.</p>
<p>This mix is bass heavy and upbeat. If you are not into electronic music or did not like my previous mixes this may be one to check out.</p>
<p><a href="http://statisticsio.com/jmass%20-%20WhatTheFork.mp3">http://statisticsio.com/jmass%20-%20WhatTheFork.mp3</a></p>
<p>Lucien-N-Luciano &#8211; Future Pressure    <br />TRADEMARK &#8211; Tropic Of Capricorn    <br />CLARKE, Tuppy &#8211; Chicago (Mitch Windy City remix)    <br />DANKE, Sean &#8211; Guiding Lights    <br />EKKOHAUS &#8211; Thursday Morning OK    <br />ESPOSITO, Emanuele/LUCA GIORDANO &#8211; Deepingo (Emanuele Esposito mix)    <br />FERREIRA, Gabriel &#8211; Salmonella (Stefan Tretau remix)    <br />Igor Krsmanovic &amp; Andreja Z &#8211; Demolition    <br />Pablo Bolivar &#8211; Paseo Polar    <br />AK, Yavuz &#8211; Hoppa    <br />REIG, Eddu &#8211; Attempt Of Cream    <br />COENEN, Ludwig &#8211; Failover    <br />COENEN, Ludwig &#8211; Clickoff    <br />CERRONE, Rino &#8211; Exnovo (Exnovo Mazel Source remix)    <br />CHOI, Jin &#8211; Everything Is Borrowed (original mix)    <br />WIRETAPPEUR &#8211; 8 Days A Week    <br />EKKOHAUS &#8211; Brian Said    <br />NEUROXYDE &#8211; Yebo Yebo (Neuroxyde From Berlin rework)    <br />DAMOLH33 &#8211; Untitled States    <br />ELLIS, Tom &#8211; Anyhoooo (feat Suz)    <br />007 AGENT aka THE BIG MOUNTAIN feat GONZALO HURTADO/PAULA &#8211; Our House (original mix)    <br />Igor Krsmanovic &#8211; Missiles    <br />WIRETAPPEUR &#8211; I Want You    <br />CASCABEL GENTZ &#8211; Dirty Lips (Afrilounge remix)    <br />Johnson &amp; Haske &#8211; Breeze (Alex Young remix)    <br />La Gosse We Don&#8217;y Know Yet    <br />RAGANOVA &#8211; Antifonar    <br />CARUSO, Samuele aka MANIMALISCH &#8211; Fortwegung    <br />TRADEMARK &#8211; Elevator    <br />DAAMEN, Camiel &#8211; Deep Love    <br />SUPER FLU &#8211; Lyla Sucks Chestnuts    <br />CRISS, Jay &#8211; Dark Triangles (Distaff remix)    <br />IRON CURTIS &#8211; Peoples (Ekkohaus&#8217; Down With The Sax mix)    <br />JONAS &amp; FABIAN &#8211; Beatcontrol    <br />EKKOHAUS &#8211; Old Friends    <br />ESSER, Darko Relieve (original)    <br />Kruno Kereta &#8211; Portmanteau    <br />RAGANOVA &#8211; Paplan    <br />AK, Yavuz&#160; &#8211; Change</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2008/07/ot-my-guilty-pleasure/" rel="bookmark">OT: My Guilty Pleasure</a></li><li><a href="http://jasonmassie.com/archive/2009/02/off-topic-boogers/" rel="bookmark">Off Topic: Boogers</a></li><li><a href="http://jasonmassie.com/archive/2008/12/detroit-techno/" rel="bookmark">Detroit Techno</a></li><li><a href="http://jasonmassie.com/archive/2009/08/offtopic-muzique-ala-ill-repute/" rel="bookmark">Offtopic: Muzique ala Ill Repute</a></li><li><a href="http://jasonmassie.com/archive/2008/03/ot-music-to-code-to-mix-cd/" rel="bookmark">OT: Music to code to Mix CD</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=xp4cNcdCQ5w:xWMy7I6Dc6c:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=xp4cNcdCQ5w:xWMy7I6Dc6c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=xp4cNcdCQ5w:xWMy7I6Dc6c:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=xp4cNcdCQ5w:xWMy7I6Dc6c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=xp4cNcdCQ5w:xWMy7I6Dc6c:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/xp4cNcdCQ5w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/09/ot-music-what-the-fork/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://statisticsio.com/jmass%20-%20WhatTheFork.mp3" length="148789961" type="audio/mpeg" />
		<feedburner:origLink>http://jasonmassie.com/archive/2009/09/ot-music-what-the-fork/</feedburner:origLink></item>
		<item>
		<title>The DR Cloud: An Example</title>
		<link>http://feedproxy.google.com/~r/statisticsio/~3/Gh_6dpilG8k/</link>
		<comments>http://jasonmassie.com/archive/2009/09/the-dr-cloud-an-example/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 19:54:38 +0000</pubDate>
		<dc:creator>JasonMassie</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[disaster recovery]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[Mirroring]]></category>
		<category><![CDATA[SQL Server 2008]]></category>

		<guid isPermaLink="false">http://jasonmassie.com/archive/2009/09/the-dr-cloud-an-example/</guid>
		<description><![CDATA[Disclaimer: The enterprise Infrastructure as a Service(IaaS) that I will be using is for offered by the company I work for. I have been there 10 years and I am proud of our product set so I may be a little bias. However, these steps should be similar for most IaaS offerings like that of [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: xx-small"><strong>Disclaimer:</strong> The enterprise Infrastructure as a Service(IaaS) that I will be using is for offered by the company I work for. I have been there 10 years and I am proud of our product set so I may be a little bias. However, these steps should be similar for most IaaS offerings like that of Amazon, GoGrid and RackSpace. To learn more about the product that is demo’d from visit </span><a href="http://theenterprisecloud.com"><span style="font-size: xx-small">http://theenterprisecloud.com</span></a><span style="font-size: xx-small"> We also have a similar hour based service at </span><a href="http://vcloudexpress.terremark.com"><span style="font-size: xx-small">http://vcloudexpress.terremark.com</span></a><span style="font-size: xx-small">. All that said, pay more attention the concepts not so much the platform. This is not meant as a commercial.</span></p>
<p>In <a href="http://jasonmassie.com/archive/2009/09/disaster-recovery-in-the-cloud/" target="_blank">the first part</a>, I detailed the benefits and reasons for DR in the cloud. I ended with a high level sample architecture. </p>
<p>In this post, we will look at an example of doing DR to the cloud with SQL Server. We will be using Database Mirroring but you could use home grown log shipping, replication, incremental nightly loads, or third party products that do block level replication to an offline instance. So lets get started.</p>
<p><strong>Part one: Create the DR SQL Server</strong></p>
<p>1. Hit the create server button in the web interface.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/step1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="step1" border="0" alt="step1" src="http://jasonmassie.com/wp-content/uploads/2009/09/step1_thumb.png" width="122" height="35" /></a> </p>
<p>2. Select the OS and template. Note: If you want to use SQL Server Enterprise Edition, just use a Windows template and install SQL from an ISO. You will need to do this if you want to use asynchronous mirroring and compression. </p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/step2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="step2" border="0" alt="step2" src="http://jasonmassie.com/wp-content/uploads/2009/09/step2_thumb.jpg" width="706" height="475" /></a> </p>
<p>3. Name and size the Server. You can skimp on the resources and add more RAM and VPU’s in the event of failover.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/step3.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="step3" border="0" alt="step3" src="http://jasonmassie.com/wp-content/uploads/2009/09/step3_thumb.jpg" width="706" height="479" /></a> </p>
<p>4. Set the network. It will need to be DMZ but we will lock it down at the firewall.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/step4.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="step4" border="0" alt="step4" src="http://jasonmassie.com/wp-content/uploads/2009/09/step4_thumb.jpg" width="707" height="478" /></a> </p>
<p>5. Organize as you wish.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/step5.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="step5" border="0" alt="step5" src="http://jasonmassie.com/wp-content/uploads/2009/09/step5_thumb.jpg" width="706" height="478" /></a> </p>
<p>&#160;</p>
<p>6. Add disk space and power on.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/step7.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="step7" border="0" alt="step7" src="http://jasonmassie.com/wp-content/uploads/2009/09/step7_thumb.jpg" width="608" height="436" /></a> </p>
</p>
<p><strong>Part two: Configure network access.</strong></p>
<p>1. Set up an internet accessible port to the server. Do not fret. We are going to use a certificate and data will encrypted on the wire.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://jasonmassie.com/wp-content/uploads/2009/09/image_thumb1.png" width="511" height="333" /></a> </p>
<p>2. Create a node for the Mirror.</p>
<p><a href="http://jasonmassie.com/wp-content/uploads/2009/09/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://jasonmassie.com/wp-content/uploads/2009/09/image_thumb2.png" width="605" height="542" /></a> </p>
<p>&#160;</p>
<p><strong>Part three: Configuring mirroring.</strong></p>
<p>1. Backup your database and get it to your mirror. (I am just using RDP but if you DB is large, setup a more robust copy method)</p>
<p>2. Restore the database with norecovery at the mirror.</p>
<p>3. Send diff(if needed) and at least one log.</p>
<p>4. Restore diff(if needed) and the log with norecovery</p>
<p>5. Set up database mirroring on port 1521 using a certificate.</p>
<p>Please refer to <a href="http://msdn.microsoft.com/en-us/library/ms191140.aspx" target="_blank">this article for directions</a> on how to set up mirroring with a cert. </p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://jasonmassie.com/archive/2009/09/disaster-recovery-in-the-cloud/" rel="bookmark">Disaster Recovery in the Cloud</a></li><li><a href="http://jasonmassie.com/archive/2009/07/mirroring-and-clustering-on-sql-server/" rel="bookmark">Mirroring and Clustering on SQL Server</a></li><li><a href="http://jasonmassie.com/archive/2009/07/high-level-view-of-a-clustered-sql-server-2008-setup/" rel="bookmark">High Level View of a Clustered SQL Server 2008 Setup</a></li><li><a href="http://jasonmassie.com/archive/2009/07/capt-varchar-the-pagelatch-posse-vol-26/" rel="bookmark">Capt. Varchar &amp; the Pagelatch Posse Vol. 26</a></li><li><a href="http://jasonmassie.com/archive/2009/07/dear-robocopy-you-suck-very-little/" rel="bookmark">Dear Robocopy, You Suck Very Little.</a></li></ul></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Gh_6dpilG8k:S-RP8yMgzTA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Gh_6dpilG8k:S-RP8yMgzTA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Gh_6dpilG8k:S-RP8yMgzTA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:G79ilh31hkQ"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=G79ilh31hkQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/statisticsio?i=Gh_6dpilG8k:S-RP8yMgzTA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:ACf-c_HutVc"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=ACf-c_HutVc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/statisticsio?a=Gh_6dpilG8k:S-RP8yMgzTA:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/statisticsio?d=YwkR-u9nhCs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/statisticsio/~4/Gh_6dpilG8k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jasonmassie.com/archive/2009/09/the-dr-cloud-an-example/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://jasonmassie.com/archive/2009/09/the-dr-cloud-an-example/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.680 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-07 22:29:01 -->
