<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>SQLRockstar - Thomas LaRock</title>
	
	<link>http://thomaslarock.com</link>
	<description />
	<lastBuildDate>Fri, 17 May 2013 16:52:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SQLRockstar" /><feedburner:info uri="sqlrockstar" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><feedburner:emailServiceId>SQLRockstar</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>They Only Remember The “No”</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/_h5MuQ_uPJE/</link>
		<comments>http://thomaslarock.com/2013/05/they-only-remember-the-no/#comments</comments>
		<pubDate>Fri, 17 May 2013 16:52:25 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[human]]></category>
		<category><![CDATA[needs]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10549</guid>
		<description><![CDATA[<p>Humans are a needy bunch. We are born helpless. Totally dependent upon others for our survival. When my daughter was born she needed to have formula dripped into her mouth to avoid dehydration and death. This lasted for a few weeks until she could feed on her own. Will she remember my waking up every(...)<p><p></p>
<a href="http://thomaslarock.com/2013/05/they-only-remember-the-no/">They Only Remember The &#8220;No&#8221;</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/05/they-only-remember-the-no/">They Only Remember The &#8220;No&#8221;</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://thomaslarock.com/wp-content/uploads/2013/05/no.png?05893c" rel="prettyPhoto[10549]"><img class="alignleft size-full wp-image-10552" alt="no" src="http://thomaslarock.com/wp-content/uploads/2013/05/no.png?05893c" width="269" height="114" /></a>Humans are a needy bunch.</p>
<p>We are born helpless. Totally dependent upon others for our survival.</p>
<p>When my daughter was born she needed to have formula dripped into her mouth to avoid dehydration and death. This lasted for a few weeks until she could feed on her own. Will she remember my waking up every few hours to help feed her?</p>
<p>No, and not just because she was too young.</p>
<p>She is more than likely able to tell you about all the times I told her she could not have donuts for dinner, or ice cream for breakfast, or not play with shards of broken glass.</p>
<p>Like most humans my daughter is going to remember the times she was told &#8220;no&#8221; vividly, and less likely to remember all the times she was told &#8220;yes&#8221;.</p>
<p>In my book <a href="http://www.amazon.com/gp/offer-listing/1430227877?ie=UTF8&amp;tag=sq0f-20&amp;linkCode=am2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1430227877" target="_blank"><em>DBA Survivor</em></a> I speak as to how this translates to our lives as adults:</p>
<blockquote><p>&#8220;No one cares about effort, they only care about results.&#8221;</p></blockquote>
<p>If someone needs a quick answer from you on an obscure topic and you deliver they are likely to walk away happy. If they come to you ten times in a row and you deliver 9 out of the 10 times guess what sticks most in their mind? That&#8217;s right, the one time you couldn&#8217;t deliver is what sticks; those other nine don&#8217;t matter.</p>
<p>And that sucks.</p>
<p>And it is so very&#8230;.human.</p>
<p>It is also human for us to not want to fail, to not disappoint others, so we get in the habit of over-promising. This often leads to under-delivering. It&#8217;s eerily similar to how virtualization works (which makes sense, since virtuallization systems were built by humans). It&#8217;s not the over-allocation of resources that is the issue, it&#8217;s when your resources are over-committed that performance suffers.</p>
<p>And that&#8217;s when people complain. They only remember the one failure, they never think about all the times their applications ran smoothly. When was the last time someone called and thanked you for an overnight batch process running fast?</p>
<p>I touched upon this <a title="Someday…" href="http://thomaslarock.com/someday/" target="_blank">in my Someday talk</a>. People never stop to think about all the Somedays that they have already accomplished. They tend to focus more on the things they haven&#8217;t obtained yet. Not enjoying what they have, when they have it. Instead they clamor for more, and for things to never go wrong.</p>
<p>Humans are needy. They have a default setting of &#8220;yes&#8221; for their needs. It starts at birth and never stops.</p>
<p>And that&#8217;s why we only remember the &#8220;no&#8221;.</p>
<p>At the end of the day the issue isn&#8217;t as much with you as it is with the expectations that others place upon you. This also means that you, as a human, are often placing expectations on others. It&#8217;s a vicious cycle.</p>
<p>That&#8217;s what needs to be managed.</p>
<p><p></p>
<a href="http://thomaslarock.com/2013/05/they-only-remember-the-no/">They Only Remember The &#8220;No&#8221;</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/05/they-only-remember-the-no/">They Only Remember The &#8220;No&#8221;</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=_h5MuQ_uPJE:f5wtrL8dVJw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_h5MuQ_uPJE:f5wtrL8dVJw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=_h5MuQ_uPJE:f5wtrL8dVJw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/_h5MuQ_uPJE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/05/they-only-remember-the-no/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/05/they-only-remember-the-no/</feedburner:origLink></item>
		<item>
		<title>Top 3 Performance Killers For Linked Server Queries</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/2Sq0k0RLVuc/</link>
		<comments>http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/#comments</comments>
		<pubDate>Tue, 14 May 2013 18:48:54 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQL MVP]]></category>
		<category><![CDATA[SQL Server Performance]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>
		<category><![CDATA[distributed]]></category>
		<category><![CDATA[linked]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10535</guid>
		<description><![CDATA[<p>One thing I have noticed in all my years as a data professional: few users understand (or care) how far away they are from their data. Quite often they expect instant results from their queries despite there currently being an upper bound due to things like network bandwidth, the speed of light, and the data(...)<p><p></p>
<a href="http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/">Top 3 Performance Killers For Linked Server Queries</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/">Top 3 Performance Killers For Linked Server Queries</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/ms188279.aspx" target="_blank"><img class="alignleft  wp-image-10540" alt="Top 3 Performance Killers For Linked Server Queries" src="http://thomaslarock.com/wp-content/uploads/2013/05/linked_servers.gif?05893c" width="300" height="250" /></a></p>
<p>One thing I have noticed in all my years as a data professional: few users understand (or care) how far away they are from their data. Quite often they expect instant results from their queries despite there currently being an upper bound due to things like network bandwidth, the speed of light, and the data sitting on a server on the other side of the world.</p>
<p>SQL Server makes it easy to connect to and query data from remote data sources. The common way of getting this done is through the use of a <a href="http://msdn.microsoft.com/en-us/library/ms188279.aspx" target="_blank">linked server</a>, which is little more than an OLEDB data source.</p>
<p>The beauty of a linked server connection is that it allows an end user to write a query that looks like any other T-SQL query. For example, here is a query against a local table:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">SELECT</span> col1, col2 <span style="color: #0000FF;">FROM</span> <span style="color: #808080;">&#91;</span>databasename<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>schemaname<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>tablename<span style="color: #808080;">&#93;</span></pre></td></tr></table></div>

<p>And here is a query that would be written that would utilize a linked server:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">SELECT</span> col1, col2 <span style="color: #0000FF;">FROM</span> <span style="color: #808080;">&#91;</span>linkedservername<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>databasename<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>schemaname<span style="color: #808080;">&#93;</span>.<span style="color: #808080;">&#91;</span>tablename<span style="color: #808080;">&#93;</span></pre></td></tr></table></div>

<p>To someone with an untrained eye they would think the data is as easily accessible as any other. You don&#8217;t have to do anything special to write a query against a remote data source other than include the name of the linked server.</p>
<p>But the dirty little secret here is that SQL Server is going to make decisions for you as to how to mash all the data together and return you a result set.</p>
<p>People love using linked servers. Because data can (and does) exist everywhere, users naturally want to write one query that joins as much data as possible with no regard if it is local or remote. Even a DBA with many servers to manage will be tempted to build out a series of linked servers in order to capture monitoring details in a central location.</p>
<p>There is also the case where data is going to be too big or cumbersome to move around easily. In that case you are going to want the query to be executed on the remote server and only return the data that is needed across the network. What this means that you should make an effort to help SQL Server make the right choices.</p>
<p>Here are the top three issues I have seen when it comes to linked server (AKA Distributed Query) performance:</p>
<h3>1. Insufficient Permissions</h3>
<p>Without a doubt this is the number one reason for why linked server query performance suffers. Historically in order for SQL Server to take advantage of using statistics on the remote server then the login used to make the connection on the remote servers needed sufficient rights. The role needed would have been one of the following:</p>
<ul>
<li>sysadmin</li>
<li>db_owner</li>
<li>db_ddladmin</li>
</ul>
<p>If you don&#8217;t have sufficient permissions then you aren&#8217;t able to use stats, and this is killing your performance across that linked server connections. So for everyone that has been assigning the db_datareader role to remote logins you are sacrificing performance for security. While that may be an acceptable tradeoff in your shop, I am willing to wager that most admins have no idea about this silent performance killer.</p>
<p>A good example of identifying these symptoms are contained in this article: <a href="http://www.sql-server-performance.com/2006/api-server-cursors/" target="_blank">http://www.sql-server-performance.com/2006/api-server-cursors/</a></p>
<p>In SQL 2012 SP1 the permissions to view the statistics on an object have been modified so that a user with SELECT permission would be able to use the stats on the remote tables. <a href="http://technet.microsoft.com/en-us/library/ms174384.aspx" target="_blank">Check this link for more details in the &#8216;Permissions&#8217; section towards the bottom</a>.</p>
<h3>2. Query join syntax</h3>
<p><a href="http://sqlbits.com/Sessions/Event10/Distributed_Query_Deep_Dive" target="_blank">Conor Cunningham gave a great talk at SQLBits X on Distributed Queries</a>. In that talk he discussed some different join types and whether or not they were good candidates to be executed remotely. For example, a simple query that wants to pull data from just one remote table is likely to be executed remotely and only pull back the necessary rows. But what about a join between one small local table and one large remote table? What happens then?</p>
<p>You&#8217;ll need to watch the video to listen to Conor explain all the nuances of distributed queries. The lesson I learned from the talk is simple: when possible, give the optimizer some help. If you can rewrite your query to only pull back the smallest rowset possible from the remote server, the better chance you have of that query being executed remotely.</p>
<h3>3. Functions</h3>
<p>Some functions, like GETDATE(), won&#8217;t be executed remotely. This make complete sense to me because if I am trying to execute (and filter) a set of data on a remote server (where the time could be very different than the local server) then the concept of GETDATE is lost due to the fact that the servers could be in multiple timezones. SQL Server knows this and as a result it likely won&#8217;t execute the query remotely.</p>
<p>OK, let&#8217;s say you have identified a linked server query that is not performing well. What can you do?</p>
<p>The way I see it, you have two options available for helping to tune a linked server query.</p>
<p>The first option is to <strong>force the query to run remotely</strong>. This is done by using the <a href="http://msdn.microsoft.com/en-us/library/ms188427(v=sql.110).aspx" target="_blank">OPENQUERY() function</a>. This function will force the query to be run on the remote server and by default will use the permissions defined in the linked server. We&#8217;ve already talked about the potential issue with permissions up above, so I won&#8217;t do that again here.</p>
<p>The second option is to try <strong>rewriting the query</strong>. (I know many developers that just screamed at me to &#8220;STOP BLAMING THE CODE!&#8221;) Start with one table and the necessary predicates and add in additional tables and predicates until you find the one that changes the results from being executed remotely into ones that are done locally. That will help you identify which part(s) of the query are making SQL Server to switch to running locally. Once identified you can then go about exploring some rewrite options.</p>
<p>I&#8217;ve been writing queries for linked servers for about a dozen years now. These are the top three performance killers I have found to be common to many shops. Microsoft has done well to help remedy the permissions issue. However they are not so good as to write your queries for you (at least not yet). Until that day happens you are going to want to spend the extra time testing your queries to make certain that they are behaving as expected.</p>
<p><p></p>
<a href="http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/">Top 3 Performance Killers For Linked Server Queries</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/">Top 3 Performance Killers For Linked Server Queries</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=2Sq0k0RLVuc:mb9WjLALNVg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=2Sq0k0RLVuc:mb9WjLALNVg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=2Sq0k0RLVuc:mb9WjLALNVg:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/2Sq0k0RLVuc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/</feedburner:origLink></item>
		<item>
		<title>Are You Making Your Communications Stick?</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/BI-MX6chWIs/</link>
		<comments>http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/#comments</comments>
		<pubDate>Thu, 09 May 2013 18:38:25 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[Professional Development]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10518</guid>
		<description><![CDATA[<p>&#8220;What do you do?&#8221; It&#8217;s the question I get asked first whenever I am working as a booth babe. Attendees approach and ask &#8220;what do you do&#8221;? I&#8217;d estimate that 98% of people working in booths take that as an opportunity to talk about themselves for the next 3-5 minutes. I can&#8217;t think of anything(...)<p><p></p>
<a href="http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/">Are You Making Your Communications Stick?</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/">Are You Making Your Communications Stick?</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://thomaslarock.com/wp-content/uploads/2013/05/jam_s.jpg?05893c" rel="prettyPhoto[10518]"><img class="alignleft size-full wp-image-10527" alt="Are You Making Your Communications Stick?" src="http://thomaslarock.com/wp-content/uploads/2013/05/jam_s.jpg?05893c" width="291" height="412" /></a>&#8220;What do you do?&#8221;</p>
<p>It&#8217;s the question I get asked first whenever I am working as a booth babe. Attendees approach and ask &#8220;what do you do&#8221;? I&#8217;d estimate that 98% of people working in booths take that as an opportunity to talk about themselves for the next 3-5 minutes.</p>
<p>I can&#8217;t think of anything more dreadful. Here you are, presented with an opportunity to engage someone in a conversation that helps you learn more about THEM and you spend it talking about yourself.</p>
<p>&#8220;<em>I love listening to vendors talk about themselves for the first fifteen minutes when we meet</em>.&#8221; &#8211; Said no one, ever.</p>
<p>It&#8217;s similar to how most vendor presentations start with the same typical sentence:</p>
<p>&#8220;Our company was founded in&#8230;&#8221;</p>
<p>As soon as I hear that phrase my first thought is how Nintendo was founded in 1889 but didn&#8217;t start making video games until the 1970&#8242;s and NO ONE CARES WHEN YOUR COMPANY WAS FOUNDED. If I want to know about your past, I&#8217;ll ask. Until then, let&#8217;s talk about the now, and how your product is going to be of value to me, my project, and my business environment. In short, let&#8217;s talk more about ME, and less about your company.</p>
<p>I suppose I have an advantage over most in this area. Having been the person forced to sit through some of the most boring vendor presentations on Earth I know what resonates with me.</p>
<p>The best vendor sales presentations do not follow a script. They don&#8217;t force me to look at slides right from the start. Instead, they start with a conversation. The slides may come later, or they may not. The conversation will focus on my needs, what I want to get from the product, etc. Then the presenters will spend time talking about how they can help, and do so without tossing <a href="http://www.amazon.com/gp/product/1841127604?ie=UTF8&amp;tag=sq0f-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1841127604" target="_blank">jelly</a> all over the place in the hope that something will stick.</p>
<p>Now that I am the person giving the presentations I want to avoid delivering the same stock material that everyone else delivers.</p>
<p>Consider this example. Let&#8217;s say I meet someone at a networking event, or on a speed date, and I talk about myself in the same manner as if it were a standard vendor presentation. It would go something like this:</p>
<blockquote><p>Thomas William LaRock was founded in 1970 and specializes in data management and design. His headquarters are located in the USA with offices in Massachusetts and Colorado. He has traveled North America and Canada as well as Europe. With 6,000 followers on Twitter and a Klout score of 64 he has a global presence. Thomas has spoken with thousands of people that work for companies you may know. Using a proven methodology called the Cardiovascular System, Thomas is able to operate independently and be a solution provider by using a wide range of products (such as hands).</p>
<p>At six feet four inches tall Thomas stands out from the competition as a trusted resource to reach onto high shelves in his household and most grocery stores. Thomas also helps his children solve their math homework, often with just a few calculations, in order to free up time for other activities such as watching Doctor Who or chasing rabid squirrels with sticks.</p></blockquote>
<p>How dreadful that would be for anyone to listen to, either during a presentation or at a networking event.</p>
<p>Contrast that response with this one:</p>
<p>&#8220;I help people smile more by making their jobs easier.&#8221;</p>
<p>Which one is likely to engage the other person to want to know more about what I do? Which one is likely to lead to a better conversation?</p>
<h2>Four Ways To Make Your Communications Stick</h2>
<p>When I am writing and building a presentation here are the tips I follow:</p>
<h3>1. Know Your Audience First</h3>
<p>If you don&#8217;t know who is in the room then you aren&#8217;t likely to know what to say to them either. Take the time to know them first. Ask them where they are from, or what they do, or why they are attending. This will enable you to help them the most.</p>
<h3>2. Know The Value You Offer</h3>
<p>If you don&#8217;t know your value, then you&#8217;ll find yourself rambling on and on about anything and everything until something you say makes them stop yawning. It is best to understand what it is that you have to offer. You also need to understand the difference between having a valuable skill and being able to deliver value to someone else. This point deserves its own blog post at some point.</p>
<h3>3. Tailor Your Message</h3>
<p>Once you know a bit about them, and assuming you also know your value, you should be able to help connect the dots from there. You can craft your message to make certain it focuses on their needs. Remember, this should be about them, not you.</p>
<h3>4. Practice, Practice, Practice</h3>
<p>I cannot emphasize this point enough. You need to have confidence and deliver your message in a natural way, as if you were having a conversation. Because you *are* having a conversation.</p>
<p>Earlier I mentioned the term &#8220;jelly&#8221;. The term is from the book <a href="http://www.amazon.com/gp/product/1841127604?ie=UTF8&amp;tag=sq0f-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1841127604">The Jelly Effect: How to Make Your Communication Stick</a><img alt="" src="http://www.assoc-amazon.com/e/ir?t=sq0f-20&amp;l=as2&amp;o=1&amp;a=1841127604" width="1" height="1" border="0" />, one of my favorite books on effective communication. Author Andy Bounds talks about how he learned to communicate efficiently with others as a result of helping his blind mother since he was a boy. I re-read the book at least once a year, and leaf through it often.</p>
<p>I recommend that book to anyone that asks me for help on speaking, building presentations, and writing. It helps you understand that when someone asks &#8220;what do you do&#8221; your answer needs to be something of value for THEM, and not about your resume.</p>
<p><p></p>
<a href="http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/">Are You Making Your Communications Stick?</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/">Are You Making Your Communications Stick?</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=BI-MX6chWIs:jMbaOpNrFLg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=BI-MX6chWIs:jMbaOpNrFLg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=BI-MX6chWIs:jMbaOpNrFLg:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/BI-MX6chWIs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/05/are-you-making-your-communications-stick/</feedburner:origLink></item>
		<item>
		<title>How To: Migrate Encrypted Procedures To Windows Azure SQL Database (WASD)</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/1JlaOkOrfsU/</link>
		<comments>http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/#comments</comments>
		<pubDate>Wed, 08 May 2013 15:49:02 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL MVP]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SQL Database]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10508</guid>
		<description><![CDATA[<p>Here&#8217;s the easy answer: you don&#8217;t. WASD does not support the WITH ENCRYPTION option for objects such as stored procedures, user defined functions, triggers, or views. So the idea of migrating an object that was compiled with that option is simply not feasible. If you have a system with encrypted objects and you try migrating(...)<p><p></p>
<a href="http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/">How To: Migrate Encrypted Procedures To Windows Azure SQL Database (WASD)</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/">How To: Migrate Encrypted Procedures To Windows Azure SQL Database (WASD)</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s the easy answer: you don&#8217;t.</p>
<p>WASD does not support the WITH ENCRYPTION option for objects such as <a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee336289.aspx" target="_blank">stored procedures</a>, <a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee336292.aspx" target="_blank">user defined functions</a>, <a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee336242.aspx" target="_blank">triggers</a>, or <a href="http://msdn.microsoft.com/en-us/library/windowsazure/ee336244.aspx" target="_blank">views</a>. So the idea of migrating an object that was compiled with that option is simply not feasible.</p>
<p>If you have a system with encrypted objects and you try migrating to WASD you will get &#8220;Validation of the schema model for data package failed. Error SQL71564: The element&#8230;cannot be deployed as the script body is encrypted.&#8221;</p>
<p><img class="alignleft size-large wp-image-10509" style="margin-right: 1000px;" alt="encrypt_error" src="http://thomaslarock.com/wp-content/uploads/2013/05/encrypt_error-600x144.png?05893c" width="600" height="144" /></p>
<p>To unencrypt this proc you have three options: you can use a 3rd party tool, find various scripts through a quick internet search, or take the source code and issue an ALTER command without the encryption option.</p>
<p>I prefer the latter option. Just take the source code and remove the WITH ENCRYPTION statement.</p>
<p>I would also like to remind you that WITH ENCRYPTION does not encrypt anything. It obfuscates the object code, nothing more. It really should be named WITH OBFUSCATION, but that probably wouldn&#8217;t be clear for most end users. If you have a requirement to encrypt your source code you should go back and ask for more information as to why it is necessary. Chances are the WITH ENCRYPTION option is not meeting the original requirements.</p>
<p>After you update the object you&#8217;ll be ready to complete your migration to WASD. At the very least, you&#8217;ll get past that error message!</p>
<p><p></p>
<a href="http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/">How To: Migrate Encrypted Procedures To Windows Azure SQL Database (WASD)</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/">How To: Migrate Encrypted Procedures To Windows Azure SQL Database (WASD)</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=1JlaOkOrfsU:HvnninyYM_I:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=1JlaOkOrfsU:HvnninyYM_I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=1JlaOkOrfsU:HvnninyYM_I:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/1JlaOkOrfsU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/05/how-to-migrate-encrypted-procedures-to-windows-azure-sql-database-wasd/</feedburner:origLink></item>
		<item>
		<title>How To: Troubleshoot Deadlocks In Windows Azure SQL Database (WASD)</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/v0AMjn8t7JY/</link>
		<comments>http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/#comments</comments>
		<pubDate>Tue, 07 May 2013 16:18:15 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL MVP]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Deadlocks]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[WASD]]></category>
		<category><![CDATA[XDL]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10493</guid>
		<description><![CDATA[<p>On my way back from SQLBits this past Sunday I spent some time drafting a handful of blog posts. One of the posts was on troubleshooting deadlocks in Windows Azure SQL Database (WASD). Imagine my surprise when I went through my RSS feeds today and found this blog post from Chris Skorlinski, written just last(...)<p><p></p>
<a href="http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/">How To: Troubleshoot Deadlocks In Windows Azure SQL Database (WASD)</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/">How To: Troubleshoot Deadlocks In Windows Azure SQL Database (WASD)</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>On my way back from <a href="http://sqlbits.com/default.aspx" target="_blank">SQLBits</a> this past Sunday I spent some time drafting a handful of blog posts. One of the posts was on troubleshooting deadlocks in Windows Azure SQL Database (WASD).</p>
<p>Imagine my surprise when I went through my RSS feeds today and <a href="http://blogs.msdn.com/b/sqldatabasetalk/archive/2013/05/01/tracking-down-deadlocks-in-sql-database.aspx" target="_blank">found this blog post from Chris Skorlinski</a>, written just last week.</p>
<p>Great minds, right?</p>
<p>I decided that instead of tossing my post altogether, or waiting a few weeks to publish an updated version, that I would just go ahead and share with you the one thing that Chris forgot to mention in his post.</p>
<p>First let&#8217;s talk about why I felt this topic was important enough for a post: because people fear change.</p>
<p>I mean&#8230;I *hate* it when someone moves my cheese or my wine. Especially when one or both of those items are just out of my reach.</p>
<p>When the topic of WASD is mentioned in certain circles I often hear comments about how WASD is lacking the features and functionality that exist in the on-premises version of SQL Server.</p>
<p>Two of the most common examples that get mentioned to me are the lack of Extended Events and/or SQL Profiler. It doesn&#8217;t matter if the person raising the objection uses those tools, they just want them available if needed. When I ask what they want to do with those tools that they cannot do with DMVs currently I get back a fairly common response:</p>
<p><a href="http://thomaslarock.com/2009/04/what-causes-deadlocks/" target="_blank">Deadlocks</a>.</p>
<p>While I highly doubt these same people are going to start using WASD even if those xEvents or Profiler were available I thought it was worth sharing that WASD makes it EASIER to troubleshoot deadlocks that a traditional on-prem instance of SQL Server.</p>
<p>That&#8217;s what Chris has done for the most part, except for one thing.</p>
<h3>What Chris Is Missing</h3>
<p>As much as people fear change, people love to look at pictures even more.</p>
<p>Chris shows how to view the XML for the deadlock event. If you want to see the graph then you just need to save that file as an .rdl file and then re-open. <a href="http://www.youtube.com/watch?v=RlKCe05WDOw" target="_blank">It&#8217;s so easy I decided to make a video to show you how it is done</a>.</p>
<p>The end result will be this:</p>
<p><a href="http://thomaslarock.com/wp-content/uploads/2013/05/deadlock.jpg?05893c" rel="prettyPhoto[10493]"><img class="alignleft size-large wp-image-10495" style="margin-right: 1000px;" alt="deadlock" src="http://thomaslarock.com/wp-content/uploads/2013/05/deadlock-600x150.jpg?05893c" width="600" height="150" /></a></p>
<p>&nbsp;</p>
<p>Consider how you have to capture and review deadlock details in on-prem SQL Server 2012 today and I think you&#8217;ll find WASD to be much simpler. You don&#8217;t need to do anything in advance to capture deadlock information, or historical deadlock information. For more information on how to resolve deadlocking I will point you to <a href="http://blogs.msdn.com/b/bartd/archive/tags/sql+deadlocks/" target="_blank">Bart Duncan&#8217;s blog posts</a> as a great first step (and likely the only step you will need).</p>
<p>Reducing the amount of administrative overhead for tracking and analyzing deadlocks is one example of how Microsoft is making an effort to reduce the total cost of ownership (TCO) with WASD.</p>
<p><p></p>
<a href="http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/">How To: Troubleshoot Deadlocks In Windows Azure SQL Database (WASD)</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/">How To: Troubleshoot Deadlocks In Windows Azure SQL Database (WASD)</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=v0AMjn8t7JY:J6UrT9lvCaA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=v0AMjn8t7JY:J6UrT9lvCaA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=v0AMjn8t7JY:J6UrT9lvCaA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/v0AMjn8t7JY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/05/how-to-troubleshoot-deadlocks-in-windows-azure-sql-database-wasd/</feedburner:origLink></item>
		<item>
		<title>Doing It Wrong: Virtualizing SQL Server</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/_xuk_zvTzkU/</link>
		<comments>http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 14:37:24 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQL MVP]]></category>
		<category><![CDATA[SQL Server Performance]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10443</guid>
		<description><![CDATA[<p>I&#8217;ve been involved in a virtualization projects for almost ten years now. In that time I&#8217;ve had the opportunity to track my own list of &#8220;best practice&#8221; items. It&#8217;s a list I share freely with clients and customers that seek me out for virtualization advice. I can tell that virtualization (and Cloud) efforts are on(...)<p><p></p>
<a href="http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/">Doing It Wrong: Virtualizing SQL Server</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/">Doing It Wrong: Virtualizing SQL Server</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://thomaslarock.com/wp-content/uploads/2013/04/diy-dentist1.jpg?05893c" rel="prettyPhoto[10443]"><img class="alignleft size-full wp-image-10461" alt="Doing It Wrong: Virtualizing SQL Server" src="http://thomaslarock.com/wp-content/uploads/2013/04/diy-dentist1.jpg?05893c" width="255" height="384" /></a>I&#8217;ve been involved in a virtualization projects for almost ten years now. In that time I&#8217;ve had the opportunity to track my own list of &#8220;best practice&#8221; items. It&#8217;s a list I share freely with clients and customers that seek me out for virtualization advice. I can tell that virtualization (and Cloud) efforts are on the rise simply by the number of requests I get for help, specifically for virtualizing SQL Server.</p>
<p>I like to call this list my &#8220;facepalm&#8221; special, as any one of these essentially triggers a facepalm reaction. They have helped my customers and clients in the past and I am certain they will help you.</p>
<h3>1. Build Your Own</h3>
<p>Don&#8217;t build a host &#8211; especially a PRODUCTION host &#8211; out of spare parts leftover from servers that are near the end of their life. If you want to go on the cheap and use spare parts, do it for a development host and get ready to spend extra time keeping that bucket of bolts together. If you are going virtual, you will want to buy new hardware to use for your hosts, and hardware that is more powerful than the servers you already have deployed. There is also licensing considerations here. It could be the case that it is cheaper to buy new hardware and have less to license overall.</p>
<h3>2. No Performance Expectations</h3>
<p>You cannot go virtual without having any idea as to what is an acceptable performance level. VMWare has a <a href="http://www.vmware.com/files/pdf/perf_vsphere_sql_scalability.pdf" target="_blank">whitepaper that essentially says they can offer you 98% of the same performance</a> as a current physical implementation of SQL Server.  Note that doesn&#8217;t mean you will get <em>better</em> performance by moving to VMWare itself. Often times you get better performance because you have moved to better hardware (see the first item in this list). But if you don&#8217;t know what your current performance SLAs are then you won&#8217;t have any idea if you have still met the SLAs once you have converted to virtual. Get your expectations set now so you can track them going forward.</p>
<h3>3. Select Wrong Disk Choice</h3>
<p>You have two main options here: raw device mappings (RDM) and virtual machine disk format (VMDK). Which one do you want to use, and when? <a href="http://blogs.vmware.com/vsphere/2013/01/vsphere-5-1-vmdk-versus-rdm.html" target="_blank">VMWare says that in terms of performance the difference is minimal</a>. The real difference is functional, or architectural (I know I just scared away some DBAs because I used the word &#8216;architecture&#8217;, but yeah I went there). VMWare has published a <a href="http://blogs.vmware.com/apps/2011/11/virtualized-exchange-storage-vmdk-or-rdm-or.html" target="_blank">list of scenarios where RDMs would be a better solution for your shop</a>. You need to know these differences before you start deploying a solution that fails to meet some critical business requirement.</p>
<h3>4. Thin Provisioning</h3>
<p>Thin provisioning is one of those bad ideas that sounds good and often produces the same results as do-it-yourself dentistry. It starts out innocently enough: someone wants to save space and only allocate storage as needed. The end result is that no one keeps efficient track of what VMs have been thin provisioned and eventually as the files grow in size they fill up all the available storage until all activity stops because the disk is full. VMWare has a <a href="http://www.vmware.com/products/datacenter-virtualization/vsphere/storage-thin-provisioning.html" target="_blank">recommendation for you listed here</a>: use vMotion to migrate the guests to new hosts where they will fit. Great advice, but I&#8217;m guessing you didn&#8217;t have enough room to start with, otherwise you wouldn&#8217;t be using thin provisioning.</p>
<h3>5. Over-Overallocation Of Memory/CPU</h3>
<p>It&#8217;s okay to want to over allocate your memory and CPU resources. Want you don&#8217;t want to have happen is to have them over committed, as that&#8217;s where performance issues manifest themselves. When I am reviewing a customer&#8217;s configuration I tell them the line in the sand I draw is 1.5:1 ratio as an upper bound default for CPU resources (so, 16 logical cores means you can allocate 24 CPU as a baseline and adjust up or down as needed based upon workload and load balancing allows). You can find a good description on <a href="http://www.thesanman.org/2012/01/vspheres-virtual-cpus-what-o.html" target="_blank">allocating vCPU at this blog post</a>. For memory settings I follow what is outlined in the <a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf" target="_blank">VMWare Performance Best Practices guide</a> which states &#8220;&#8230;avoid over-allocating memory&#8221;. In other words, I&#8217;m much more conservative with memory over allocation than with CPU over allocation.</p>
<h3>6. Trusting O/S Counters</h3>
<p>When you go virtual that means you have an additional layer of abstraction (i.e., the hypervisor) between you and your data. I usually just say &#8220;there are many layers of delicious cake between you and your data&#8221;. The trouble is that you need to know which layer is causing you performance issues. Is it the host? Is it the guest? As such, you need to rely on the VM performance counters in order to get a complete picture of what is happening. You can see the counters <a href="http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.PerformanceManager.html" target="_blank">explained in more detail from this page</a>. If you are still relying on standard O/S metrics for a virtualized server then you are doing it wrong. (And if you <a href="http://www.confio.com/performance/sql-server/vmware/" target="_blank">need a tool to show you all those layers of cake, I can help</a>.)</p>
<h3>7. Running It All At Once</h3>
<p>Remember how I said that you want to avoid over committing all your resources at once? That&#8217;s where load balancing and knowing your workloads are key. You cannot carve out a dozen guests to be used as production database servers to be run during regular business hours and expect that performance will remain at that 98% mark that VMWare suggests is attainable. You have to balance your workload otherwise you are going to find that your over allocation of resources is now an over commit of resources. Yet I still see customers stretching their hosts way too thin.</p>
<p>These are the seven items that I see hurting a majority of virtualization efforts. They result on bad performance that leaves users and administrators frustrated. They are also easily avoidable with just a bit of up front knowledge and requirements gathering.</p>
<p><p></p>
<a href="http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/">Doing It Wrong: Virtualizing SQL Server</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/">Doing It Wrong: Virtualizing SQL Server</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=_xuk_zvTzkU:0g7cG75ZFK8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=_xuk_zvTzkU:0g7cG75ZFK8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=_xuk_zvTzkU:0g7cG75ZFK8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/_xuk_zvTzkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/04/doing-it-wrong-virtualizing-sql-server/</feedburner:origLink></item>
		<item>
		<title>Book Recommendation: Super Freakonomics</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/KkJZoG_MjnU/</link>
		<comments>http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 19:11:23 +0000</pubDate>
		<dc:creator>sqlrockstar</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[Freakonomics]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=10415</guid>
		<description><![CDATA[<p>Two weeks ago I attended the first ever PASS Business Analytics Conference in Chicago. Attendees to the PASS Business Analytics conference were given a copy of Dr. Levitt&#8217;s book Super Freakonomics (co-written with Stephen Dubner). After the keynote Dr. Levitt made himself available for a book signing as well. Of course I had him mention bacon in my(...)<p><p></p>
<a href="http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/">Book Recommendation: Super Freakonomics</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
</p><p>The post <a href="http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/">Book Recommendation: Super Freakonomics</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://thomaslarock.com/wp-content/uploads/2013/04/levitt_bacon.jpg?05893c" rel="prettyPhoto[10415]"><img class="alignleft  wp-image-10417" alt="Steven Levitt enjoyed my bacon!" src="http://thomaslarock.com/wp-content/uploads/2013/04/levitt_bacon-353x600.jpg?05893c" width="158" height="269" /></a>Two weeks ago I attended the first ever <a href="http://passbaconference.com/" target="_blank">PASS Business Analytics Conference in Chicago</a>. Attendees to the PASS Business Analytics conference were given a copy of Dr. Levitt&#8217;s book <em>Super Freakonomics </em>(co-written with Stephen Dubner)<em>.</em> After the keynote Dr. Levitt made himself available for a book signing as well.</p>
<p>Of course I had him mention bacon in my copy.</p>
<p>Did you even need to ask?</p>
<p>Last week while on vacation I took the time to read <a href="http://www.amazon.com/gp/product/B008SLBARA/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B008SLBARA&amp;linkCode=as2&amp;tag=sq0f-20">Super Freakonomics</a> and found it to be better than the first <a href="http://www.amazon.com/gp/product/0060731338/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0060731338&amp;linkCode=as2&amp;tag=sq0f-20">Freakonomics</a>. I don&#8217;t want to spoil it for you completely, but here are some of the highlights in <em>Super Freakonomics</em> for me:</p>
<ol>
<li><span style="line-height: 13px;">Prostitutes in Chicago are more likely to have sex with an officer than be arrested by one</span></li>
<li>Livestock are responsible for greenhouse gases that are 25 times more potent then the entire transportation sector</li>
<li>On a per-mile basis it is safer to drive drunk than to walk drunk</li>
<li>How pimps are similar to realtors</li>
<li>Why suicide bombers should purchase life insurance</li>
</ol>
<p>What I love most about this book is that the authors know how to ask the right questions in order to get the right data to help them answer questions. More importantly, they let the data answer questions they didn&#8217;t even know they were looking for.</p>
<p>That being said, this is not an exact science. There are areas in the book where it seems the authors have not gotten all the data they need.</p>
<p>For example, they have no way of knowing how many miles are walked by drunks each year. It is rather difficult to say with certainly that on a per mile basis it is safer to drive drunk than to walk. But with <a title="Do You Have A Big Data Problem?" href="http://thomaslarock.com/2013/04/do-you-have-a-big-data-problem/" target="_blank">Levitt himself admitting that math isn&#8217;t his strongest suit</a> perhaps we can understand how a few leaps are made here and there.</p>
<p>But the stories and anecdotes do make for an entertaining read nonetheless.</p>
<p>I highly recommend both <a href="http://www.amazon.com/gp/product/0060731338/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0060731338&amp;linkCode=as2&amp;tag=sq0f-20">Freakonomics</a> and <a href="http://www.amazon.com/gp/product/B008SLBARA/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B008SLBARA&amp;linkCode=as2&amp;tag=sq0f-20">Super Freakonomics</a> for everyone to read especially data professionals. I believe these books help us to understand the value and power that exists within data analytics. There&#8217;s also fun, too.</p>
<p>I&#8217;ve added them to <a href="http://thomaslarock.com/sqlserverbooks/" target="_blank">my library page</a>, under the &#8220;Data Analytics and Insights&#8221; section.</p>
<p>P. S. While in Chicago that week I also attended my first Chicago Cubs game. It was also my first ever major league baseball home opener. If you know anything about the Cubs you know about the tradition of playing only daytime baseball games until lights were installed 1988. Being able to attend a daytime Cubs game and have it be the home opener was a thrill for me. <a href="http://thomaslarock.com/wp-content/uploads/2013/04/wrigley.jpg?05893c" rel="prettyPhoto[10415]"><img class="alignleft size-full wp-image-10416" style="margin-right: 1000px;" alt="Wrigley field, opening day, 2013" src="http://thomaslarock.com/wp-content/uploads/2013/04/wrigley.jpg?05893c" width="469" height="315" /></a></p>
<p><p></p>
<a href="http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/">Book Recommendation: Super Freakonomics</a> is a post from: <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>
<p></p>
</p>
<p>The post <a href="http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/">Book Recommendation: Super Freakonomics</a> appeared first on <a href="http://thomaslarock.com">SQLRockstar - Thomas LaRock</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=KkJZoG_MjnU:-NkSXJlFvEk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=cGdyc7Q-1BI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:Tlc60a-_mp0"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=Tlc60a-_mp0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:YwkR-u9nhCs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=YwkR-u9nhCs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=KkJZoG_MjnU:-NkSXJlFvEk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=KkJZoG_MjnU:-NkSXJlFvEk:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/KkJZoG_MjnU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2013/04/book-recommendation-super-freakonomics/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk
Database Caching 2/10 queries in 0.007 seconds using disk
Object Caching 1646/1700 objects using disk

 Served from: thomaslarock.com @ 2013-05-17 15:35:18 by W3 Total Cache -->
