<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>SQLRockstar</title>
	
	<link>http://thomaslarock.com</link>
	<description>SQL Server DBA</description>
	<lastBuildDate>Tue, 07 Sep 2010 12:37:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.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/" /><feedburner:emailServiceId>SQLRockstar</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Where Have All The Good Managers Gone?</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/sancIt6xtgg/</link>
		<comments>http://thomaslarock.com/2010/09/where-have-all-the-good-managers-gone/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 12:31:19 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[SQL MVP]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4718</guid>
		<description><![CDATA[Over the past two weeks I have seen and heard more than a handful of people ask a very simple question: Where are all the SQL Server experts? Many people have offered an answer as to why there is a &#8220;shortage&#8221; of experts to be found, but none of the explanations I have read seem [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past two weeks I have seen and heard more than a handful of people ask a very simple question: <a href="http://www.sqlmag.com/article/sql-server/Is-There-a-Shortage-of-SQL-Server-Experts-.aspx">Where are all the SQL Server experts</a>? Many people have offered an answer as to why there is a &#8220;shortage&#8221; of experts to be found, but none of the explanations I have read seem to get to the root cause of the problem.</p>
<p><strong>There is a dire need for better technical managers in the world.</strong></p>
<p>As a basketball coach I would look at a player as a freshman, evaluate their skills, and then spend the next two years working with them on a specific set of drills so that they would fulfill a role for my team in the future. For example, if I knew I needed them to get rebounds we would focus on those drills primarily. By the time they became seniors they would fill a need for the team to be successful.</p>
<p>How many managers these days have such foresight that they can say “Look, PowerPivot is coming, and some people keep asking about cubes, maybe I should send some people for some BI training”. Very few, because most managers are not in their role to have foresight or to innovate, they are there because they can execute orders given to them by others.</p>
<p>And therein lies the bulk of the problem, poor managers lead to poor quality employees which lead to everyone shaking their head and saying “how do you claim to have five years’ experience as a DBA and not know <a href="http://msdn.microsoft.com/en-us/library/ms188270.aspx">what a heap is</a>?”</p>
<p>I was very fortunate that when I was taking my first baby steps as a DBA. I had a wonderful manager to watch over me. Let&#8217;s call him Vinny, because that&#8217;s his name anyway. Vinny was more than just my manager, he was my coach. He encouraged me to be a sponge. He helped me get sent off to conferences like PASS (and even got me to Barcelona once, I have no idea how that happened). And he started to work with me on the necessary soft skills I would need as my career progressed.</p>
<p>I said I was fortunate to have Vinny, but it&#8217;s more like I hit the Manager Lotto with him. Unfortunately, not everyone is as lucky. Including me, because when Vinny retired a few years back none of my subsequent direct managers had the same coaching ability that Vinny did. As I was shuffled from one manager to another over time I found that Vinny was truly a treasure. Without him I doubt I would have progressed as far and as fast as I did.</p>
<p><a href="http://thomaslarock.com/wp-content/uploads/2010/09/madashell.jpg"><img class="alignleft size-full wp-image-4733" style="margin-right: 5px;" title="I'm as mad as hell, and I'm not gonna take this anymore!" src="http://thomaslarock.com/wp-content/uploads/2010/09/madashell.jpg" alt="" width="273" height="185" /></a>So, when I see questions about trying to find SQL Server experts I sit right up and yell at my iMac screen and say &#8220;WE&#8217;RE RIGHT HERE!&#8221; But I am also the same guy who likes to yell &#8220;I&#8217;M AS MAD AS HELL AND I&#8217;M NOT GONNA TAKE THIS ANYMORE!&#8221; every time I hear the neighbor&#8217;s dog barking at night.</p>
<p>I have little doubt that many managers are looking at their current staff and thinking &#8220;boy, if I only had a guy/gal that could do everything I need, then we&#8217;d be making progress. Why can&#8217;t I find that expert?&#8221; And if I was within reach I would slap them in the back of the head and tell them to <strong>wake up</strong>.</p>
<p>It&#8217;s almost comical that people are sitting around debating the idea about where the SQL Server experts have gone and yet very few people are trying to do something about it. Did they think we all went on strike, emulating a story line from <a href="http://en.wikipedia.org/wiki/Atlas_Shrugged">Atlas Shrugged</a>? If you were alone in a forest and couldn&#8217;t find food, would you turn to your friend and say &#8220;man, why isn&#8217;t there a KFC nearby?&#8221; No! You roll up your sleeves and take matters into your own hands! You would go find the food you need. So why not go and find the experts?</p>
<p>You want to know where the SQL Server experts have gone? I&#8217;ll tell you where they have gone:</p>
<p><strong>They Are Sitting In Front Of You</strong></p>
<p>Unless you don&#8217;t have a DBA in your shop then chances are you have an expert <em>right there in front of your face every day</em>. Have you ever tried listening to your DBA when they tell you that the unique constraint that the developer implemented doesn&#8217;t scale beyond 100 rows? Or did you simply look their way and say &#8220;just make it work and don&#8217;t touch the code&#8221;.</p>
<p>Vinny would listen to the DBA. So should you.</p>
<p>Chances are you have a DBA that is already a generalist in many areas and a specialist in one or two. Try finding out what areas are their specialty and see if you can complement them with others. Yeah, that&#8217;s right, others. Which reminds me&#8230;</p>
<p><strong>There Is A Crapload Of Stuff To Know</strong></p>
<p>Check out this list: SQL Server, SQL Server Management Studio, SQL Server Analysis Services, SQL Server Integration Services, SQL Server Reporting Services, SQL Server Configuration Manager, SQL Server Profiler, SQL Server Notification Services, T-SQL, and SQL Azure. Noticing anything in common? Yeah, they all have the letters SQL in them. Which means, by default, that your DBA knows all of them inside and out, backwards and forwards, right?</p>
<p>Wrong.</p>
<p>Just because it says SQL doesn&#8217;t mean your DBA will know everything well enough to have an immediate answer for whatever problem you need fixed immediately. That doesn&#8217;t mean they are not an expert. In fact, the best Senior DBAs are the ones that can open the manual and understand something well enough in a reasonable amount of time that they have a chance at helping you with your problem. So, if they take a few hours to figure out something in SSIS that doesn&#8217;t mean you start questioning their skills as if you are thinking about taking away the car keys from grandpa.</p>
<p>Also, when you go looking for help, try to refrain from listing everything under the Sun in your job description. I bet a LOT of people frustrated about the perceived lack of SQL Server experts are the same people that want someone to step in as their DBA/Exchange admin/Sharepoint admin/IIS guru/AD expert. I laugh out loud when I get emails from recruiters telling me that they have my dream job, doing those five things and having over 700 databases under my control. I like to tell them that they are the ones dreaming. Not only don&#8217;t I want that job, but neither does anyone else, unless you plan on paying for five salaries as well.</p>
<p>Vinny knew this, and that&#8217;s why we set up our team in a manner to have complementary skills, and we would reassess those skills periodically to make certain we had enough bases covered.</p>
<p>So don&#8217;t be surprised that the only people showing up to the interview are the ones that aren&#8217;t qualified. See, the ones that are qualified are too smart to show up for a nightmare job description. And, quite frankly, if you have to resort to recruiters to find yourself a good DBA then you might as well be ordering brides from Russia. If you want to find where the real SQL Server experts are these days, everyone knows that&#8230;</p>
<p><strong>We Are Hanging Out On Twitter</strong></p>
<p>Look, if you want to find the best DBAs, doesn&#8217;t it make sense to go to where they are, as opposed to waiting for them to come find you and your craptastic job description? If you are actively interviewing strangers for an open position with your company then you are not doing anything different if you were to place an ad for a date on Craigslist. You have about the same chance at happiness.</p>
<p><a href="http://thomaslarock.com/wp-content/uploads/2010/09/twitterbird.gif"><img class="alignleft size-full wp-image-4734" style="margin-right: 5px;" title="twitterbird" src="http://thomaslarock.com/wp-content/uploads/2010/09/twitterbird.gif" alt="" width="378" height="170" /></a>If you truly want to find the experts then <em>go to where the experts are</em>. Attend a local user group meeting. Go to a <a href="http://sqlsaturday.com/">SQL Saturday</a>. <a href="http://www.sqlpass.org/AboutPASS/BecomeaMember.aspx">Join PASS</a> and <a href="http://www.sqlpass.org/summit/na2010/">attend the PASS Summit</a>. Get hooked on <a href="http://twitter.com/">Twitter</a> and use <a href="http://twitter.com/#search?q=%23sqlhelp">the #sqlhelp hashtag</a>. We are not hiding from anyone. We&#8217;re right here, we love to help each other, and we love to talk about new opportunities all the time. It helps us to understand more about where we are, where we are going, and the paths that are available.</p>
<p>Vinny knew this as well. He understood that networking was a key part in my success, mostly because I was working alone in my office and I would need some type of virtual water cooler.</p>
<p>If you want to find the SQL Server experts stop expecting us to show up out of nowhere. We aren&#8217;t going to show up to interview for some awful job description. Your best bet to land an expert DBA? Buy us dinner and get to know us a bit before you ask us to go steady. I know you&#8217;ve got the money, because you haven&#8217;t spent anything on your&#8230;</p>
<p><strong>Training Budgets </strong></p>
<p>So, you are standing there, lamenting about how you can&#8217;t find any SQL Server expert yet you have people on staff right now, perhaps even a DBA. Or maybe you have someone who is interested in becoming a DBA. Go and send them to a training class! Look ahead to the future, plan what you will need to get done, and send one of your employees to get the necessary training. You can send them to the PASS Summit where they will not only learn technical skills but they will increase their network as well.</p>
<p>Vinny knew this. He not only sent me to the PASS Summit, he had me take a pre-con seminar. He knew that I would learn a lot from the seminar and make a friend or two, and that those friends would serve as a valuable resource when I needed help. Vinny knew all of this, and so should you.</p>
<p>Over the years my network has expanded greatly. And as a SQL MVP I get access to the greatest help support imaginable. Back when I was still a production DBA, if I needed help I could get it in a very short amount of time. It made me very efficient at my job. I didn&#8217;t need to spend hours trying sixteen different solutions before deciding on a course of action. I could ask a question, get sixteen answers, and then decide where to focus my efforts.</p>
<p>And all because I had a manager that wasn&#8217;t afraid to send me to whatever training I needed. If you are asking about where all the SQL Server experts are, ask yourself if you have been doing all you can to train the people you already have. Chances are you haven&#8217;t because you&#8217;re no Vinny. That&#8217;s OK, few people are. But if you are a manager of a DBA then you should really be able to&#8230;</p>
<p><strong>Know The Difference Between Good and Bad</strong></p>
<p>If you have <em>no idea</em> what a DBA does and you find yourself imitating Bob from Office Space by asking them &#8220;What, exactly, would you say it is that you do here&#8221;, then you shouldn&#8217;t be managing the DBA. It&#8217;s that simple. If you have no idea if the person reporting to you is doing a good job or not, then they shouldn&#8217;t be reporting to you. And you shouldn&#8217;t be scratching your head wondering why you can&#8217;t find an expert, either, because <em>you have no frakkin idea if they are good or bad</em>.</p>
<p>Vinny knew the difference (and yet he still kept me around at the start). That&#8217;s why he could give me the necessary course corrections from time to time. Every so often we would talk about some of the latest trends, where I wanted to take a deep dive next, or something that was related to my job. He would match my interests with the needs of the company and keep me on track for growth. And as time went on I would find myself willing to crash through thicker and thicker walls for him.</p>
<p>He never looked at my desk and said &#8220;why can&#8217;t I find an expert?&#8221; He knew he had one in the making, and he was going to coach me all the way there. And he did.</p>
<p>And that&#8217;s how I got here. Because of Vinny.</p>
<p>Apparently there are too few Vinny&#8217;s in the world, and that&#8217;s why there is a perception that there aren&#8217;t enough SQL Server experts.</p>
<p><strong>Don&#8217;t Kid Yourself</strong></p>
<p>I saw some people mention the possibility that there are simply more open positions available than people to fill them. Don&#8217;t kid yourself, the US of A is at about 10% unemployment right now. There is not a glut of open jobs.</p>
<p>What we have is a dearth of people like Vinny that can take someone like me and make them into an expert.</p>
<p>You want more experts? Hire better managers. Hire people that can inspire others. Promote people that can lead and innovate as opposed to just executing orders. You’ll be surprised at the results.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=sancIt6xtgg:rhDDm8gdDzw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=sancIt6xtgg:rhDDm8gdDzw: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=sancIt6xtgg:rhDDm8gdDzw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=sancIt6xtgg:rhDDm8gdDzw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=sancIt6xtgg:rhDDm8gdDzw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/sancIt6xtgg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/09/where-have-all-the-good-managers-gone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/09/where-have-all-the-good-managers-gone/</feedburner:origLink></item>
		<item>
		<title>Hartford SQL Server User Group Meeting Tomorrow</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/g6p29VKo4m4/</link>
		<comments>http://thomaslarock.com/2010/08/hartford-sql-server-user-group-meeting-tomorrow/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 19:26:58 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4716</guid>
		<description><![CDATA[Sorry for the late post on this, but better late than never, right?
Tomorrow at noon (ET) will be the second meeting for the Hartford SQL Server User Group (HSSUG). That&#8217;s right, we meet during the day because we prefer to be home at night instead of, well, at a user group meeting. Weird, I know. [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry for the late post on this, but better late than never, right?</p>
<p>Tomorrow at noon (ET) will be the second meeting for the <a href="http://www.hssug.org/">Hartford SQL Server User Group</a> (HSSUG). That&#8217;s right, we meet during the day because we prefer to be home at night instead of, well, at a user group meeting. Weird, I know. And I bet some people would rather we met at night because they can&#8217;t get the time off from work but we know we can&#8217;t please everyone. So we decided to please ourselves first and worry about others later.</p>
<p>Anyway, the pizza starts flowing at noon and the first speaker takes the stage at about 1PM. And who do we have lined up for that slot?</p>
<h3>Installing SQL Server 2008 on a Windows Server 2008 R2 Failover          Cluster</h3>
<p><strong>Abstract</strong>: As DBAs we get to work on a lot of the features of the SQL Server product, but          it is not uncommon for us to spend our entire careers without having a chance to          work closely with clustering.  There          are a lot of DBAs who are otherwise perfectly qualified in all respects for          attractive job openings that absolutely require clustering experience. Chuck          Boyce will walk through the basics of installing SQL Server 2008 on a Windows          2008 R2 failover cluster and show you some ways that you can obtain this skill          on your own using a tool called VMLite.</p>
<p><strong>Bio</strong>: Chuck Boyce is a          Database Administrator who has worked for several multi billion dollar companies          on the US East Coast. He began working with database technologies in 1998,          working with Sybase on Unix platforms. Chuck began working with SQL Server in          2000.   Chuck has been awarded the Microsoft MVP award three times &#8211;          twice for SQL Server. He is the former Executive Chair of the Professional          Association for SQL Server (PASS) Chapter Program. He founded the Philadelphia          PASS chapter and has served as both Track Lead and Co-Chair of the Philly Code          Camp. He participates regularly in the SQL Server community on twitter and can          be found there most days at                   <a href="http://twitter.com/chuckboycejr">http://twitter.com/chuckboycejr</a></p>
<p>After Chuck finishes up we will have a brief intermission to let people stretch their legs and their minds. We will get started up again after we all sit down and listen to our sponsor talk for about ten minutes. Well, everyone has to sit down except for me, because I&#8217;ll be the one speaking. I&#8217;ll also be handing out extra tickets for people that (1) attend my talk and (2) are active participants. What are the tickets for? Great question.</p>
<p>The door prize for tomorrow is my one remaining MSDN Ultimate subscription. It is a one year subscription that has a potential value of just under $12k. That&#8217;s right, one lucky attendee tomorrow is going to win an MSDN subscription.</p>
<p>After my talk is done we will have the second session of the day:</p>
<h3>PowerPivot Demonstration and Discussion</h3>
<p><strong>Abstract</strong>: PowerPivot is a data analysis add-in for Microsoft Excel.  In this session          we will discuss and demo the new SQL Server 2008 R2 PowerPivot feature.</p>
<p><strong>Bio</strong>: Jon Gore is a BI Technical specialist from Microsoft Corporation.</p>
<p>After Jon is done we will hold the drawing for the prize and yes, you will need to be there to win.</p>
<p>Interested in attending? Go to the <a href="http://www.hssug.org/">website to register</a> otherwise bring your own lunch because we won&#8217;t be ordering for you unless we know you are coming. And by &#8220;register&#8221; I mean &#8220;click to join HSSUG&#8221;, so we can send you an invite to the meeting. We aren&#8217;t fancy technical here folks, just two guys that like to meet twice a year in a secluded spot for a few hours at a time.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=g6p29VKo4m4:OAAXROaUaPk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=g6p29VKo4m4:OAAXROaUaPk: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=g6p29VKo4m4:OAAXROaUaPk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=g6p29VKo4m4:OAAXROaUaPk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=g6p29VKo4m4:OAAXROaUaPk:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/g6p29VKo4m4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/hartford-sql-server-user-group-meeting-tomorrow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/hartford-sql-server-user-group-meeting-tomorrow/</feedburner:origLink></item>
		<item>
		<title>PASS Orientation Committee</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/wQaDy_hhKrU/</link>
		<comments>http://thomaslarock.com/2010/08/pass-orientation-committee/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 18:55:39 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[PASS]]></category>
		<category><![CDATA[More Reasons Why Barack and I Were Seperated At Birth]]></category>
		<category><![CDATA[Social Networking]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4712</guid>
		<description><![CDATA[Last year I was having dinner at the PASS Summit and having a great conversation with Adam Machanic (blog &#124; twitter). One thing that Adam pointed out to me was that the average user experience for someone at a PASS Summit was to attend by themselves and rarely interact with others. &#8220;They come alone, they [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I was having dinner at the PASS Summit and having a great conversation with Adam Machanic (<a href="http://sqlblog.com/blogs/adam_machanic/">blog</a> | <a href="http://twitter.com/AdamMachanic" target="_blank">twitter</a>). One thing that Adam pointed out to me was that the average user experience for someone at a PASS Summit was to attend by themselves and rarely interact with others. &#8220;They come alone, they eat alone, they go home alone, and they never connect with anyone&#8221; was close to what Adam told me.</p>
<p>And I really couldn&#8217;t argue with that. See, I am one of those people as well. In fact, had I not met Pat Wright (<a href="http://sqlasylum.wordpress.com/">blog</a> | <a href="http://twitter.com/SqlAsylum">twitter</a>) and Allen Kinsel (<a href="http://www.allenkinsel.com/">blog</a> | <a href="http://twitter.com/sqlinsaneo">twitter</a>) on my very first day at my very first PASS Summit, I may have never met anyone. [Believe it or not, I am a shy person by nature. Stop laughing.]</p>
<p>So&#8230;what can we do to change things?</p>
<p>Well, here is an idea I had, and it goes back to my college days. When I showed up for my freshman year I was greeted by members of the Orientation Committee. These were dedicated student volunteers who helped me move into my room, show me around campus, and introduce me to a handful of other freshman. I was assigned a Big Sister, an upperclassman who was willing to answer some basic questions even before I arrived (I seem to recall having a phone conversation with her a few weeks before we even met).</p>
<p>So, why not do the same thing for new people that are attending the PASS Summit? Have a PASS Orientation Committee (OK, we need a better name, I know).</p>
<p>From what I can tell we need the following things:</p>
<ul>
<li>Names of people that are attending for the first time (we have this data)</li>
<li>Names of people willing to help facilitate a group discussion (we put out a call for help)</li>
<li>A venue for everyone to meet (Welcome Reception seems like a good time to meet, if we can find a quiet spot)</li>
</ul>
<p>What more do we need than that? The group leader would spend time talking with everyone, get to know a little bit about why each person has chosen to attend, can offer to help them connect to someone else in the Community (like send everyone with replication problems to talk to Kendal Van Dyke), and most importantly we can get these people to build a connection with someone else which is going to result in a more positive Summit experience and make it more likely to have those persons return next year.</p>
<p>Let me know if you think this idea has merit or not. If you think it has legs, then I&#8217;ll work to get it in place before November.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=wQaDy_hhKrU:MzAwDAR0HF4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=wQaDy_hhKrU:MzAwDAR0HF4: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=wQaDy_hhKrU:MzAwDAR0HF4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=wQaDy_hhKrU:MzAwDAR0HF4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=wQaDy_hhKrU:MzAwDAR0HF4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/wQaDy_hhKrU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/pass-orientation-committee/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/pass-orientation-committee/</feedburner:origLink></item>
		<item>
		<title>Who Is Responsible For What?</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/VzkFuSWQsFI/</link>
		<comments>http://thomaslarock.com/2010/08/who-is-responsible-for-what/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 13:47:55 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[PASS]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>
		<category><![CDATA[More Reasons Why Barack and I Were Seperated At Birth]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Things I Write While High on Bacon]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4707</guid>
		<description><![CDATA[In my previous life I was a production DBA which meant my primary responsibility was recovery. I also took my job role to be that of a general SQL Server expert. I stayed general because no one person can possible be an expert in every facet under the SQL Umbrella. A few years ago I [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous life I was a production DBA which meant my primary responsibility was recovery. I also took my job role to be that of a general SQL Server expert. I stayed general because no one person can possible be an expert in every facet under the SQL Umbrella. A few years ago I had my team start to specialize in different areas, so that we would have some deeper expertise in something like SSRS, but our primary responsibility remained with being able to recover. We were never asked to take part in database design, we were never asked to take part in anything, really. We were just told to fix things when they broke. That meant we needed to know a little bit about a lot of different things.</p>
<p>This morning I was reading up on row versioning (what? like you weren&#8217;t doing the same?) over at <a href="http://msdn.microsoft.com/en-us/library/ms345124.aspx">http://msdn.microsoft.com/en-us/library/ms345124.aspx</a> and I came across this statement:</p>
<p><em>&#8220;The database administrator for a system is responsible for evaluating  the impact on the system and applications of either of the row  versioning–based transaction isolation schemes. The developer is  responsible for understanding how to exploit the new isolation-level  behaviors to build better applications.&#8221;</em></p>
<p>Wait a minute there&#8230;the developer is responsible for something? Do they know this? Has anybody told them yet?</p>
<p>So, let&#8217;s back up for a second here. Go and read a recent <a href="http://www.sqlmag.com/article/sql-server/Is-There-a-Shortage-of-SQL-Server-Experts-.aspx">article by Brian Moran</a> titled &#8220;Is There a Shortage of SQL Server Experts&#8221;. The title suggests one thing, &#8220;experts&#8221;, but then shifts to talk about a shortage of DBAs, and I&#8217;m not sure he meant to use that label but maybe he did.</p>
<p>Well, what about the developers? Shouldn&#8217;t they be experts as well?</p>
<p>My experience has been that the DBA is expected to be the expert in the shop, and that they need to play the Superhero role and come in at the 11th hour to explain everything in depth in terms that everyone (even managers) can understand. That ain&#8217;t easy. Worse still is when a developer spends eight months building something that doesn&#8217;t scale beyond the 100 rows they &#8220;tested&#8221; against and when you tell them they need to rethink their design you are met with something like &#8220;stop blaming my code, it isn&#8217;t the code!&#8221; (dude, yes it is, now sit down and shut up, I&#8217;m the expert here.)</p>
<p>So, who does what in your shop? Do your developers know that they should have an understanding of what row versioning is, and how it can be applied to build better applications? Or are you expected to know such concepts and to teach it to developers as well?</p>
<p>There are always a lot of new things to learn with SQL Server, but who in your shop is taking the time to stay on top of everything?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=VzkFuSWQsFI:LhEFlSqL4gw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=VzkFuSWQsFI:LhEFlSqL4gw: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=VzkFuSWQsFI:LhEFlSqL4gw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=VzkFuSWQsFI:LhEFlSqL4gw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=VzkFuSWQsFI:LhEFlSqL4gw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/VzkFuSWQsFI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/who-is-responsible-for-what/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/who-is-responsible-for-what/</feedburner:origLink></item>
		<item>
		<title>When 24 Hours Is Not Enough</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/nMT4_gfGVZk/</link>
		<comments>http://thomaslarock.com/2010/08/when-24-hours-is-not-enough/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 14:50:35 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[PASS]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4690</guid>
		<description><![CDATA[Many of you have some awareness regarding the 24 Hours of PASS events that I have helped to promote previously. When I was asked to help arrange for the upcoming event I targeted the list of current Summit speakers. This made logical sense to me since we want to make it a Summit preview. So [...]]]></description>
			<content:encoded><![CDATA[<p>Many of you have some awareness regarding the <a href="http://www.sqlpass.org/24hours/fall2010/">24 Hours of PASS</a> events that I have helped to promote previously. When I was asked to help arrange for the upcoming event I targeted the list of current Summit speakers. This made logical sense to me since we want to make it a Summit preview. So I went ahead and sent out invitations to about 70 people, had roughly half of those respond, and then another percentage of those people managed to get me their abstract, bio, and headshots by the deadline.</p>
<p><a href="http://thomaslarock.com/wp-content/uploads/2010/08/24_bond.jpg"><img class="alignleft size-large wp-image-4692" style="margin-right: 5px;" title="24_bond" src="http://thomaslarock.com/wp-content/uploads/2010/08/24_bond-698x1024.jpg" alt="" width="329" height="492" /></a>In short, the end result is that I had about 28 or so people with all their stuff ready to go. I had to choose four of those to be alternates. That decision was mine and mine alone (more on that later).</p>
<p>About two days after I had made the final schedule I was notified that I neglected to include a subset of Summit speakers. See, the Microsoft speakers are chosen after the Community speakers. That means I never invited them to take part in the upcoming 24 Hours of PASS event. And since they are as much a part of the Summit as anyone else, it seemed fair to include them. But the schedule was already set, so how could I get them involved? It didn&#8217;t seem fair to push four Community speakers aside in order to make up for my oversight. Two wrongs don&#8217;t make a right, right?</p>
<p>As luck would have it, we had already decided to switch up the schedule for the event. Instead of 24 straight hours we split the sessions into two days of 12 hours each which meant we had room to insert extra sessions. We decided to insert sessions at the end of each day so as to not disrupt the current schedule in any way. This way we can give a true preview of the Summit, we just needed 28 hours to get it all done!</p>
<p>We will get the registration open soon enough and will notify everyone when you can sign up for these extra sessions.</p>
<p>Now&#8230;about that session selection process&#8230;I want to change things entirely for next time. I am kicking around some ideas, but whatever we do will involve the Community in some way. Right now I am thinking we should have the Community pick the sessions and speakers they most want to hear. Not sure how to make it all happen, but the idea of a &#8220;24 Hours of PASS: Community Choice&#8221; sounds real good. Maybe we could do it American Idol style and have rounds of voting until we get down to 24 finalists&#8230;</p>
<p>Lastly, this is my 500th blog post. That&#8217;s a whole lot of writing without really saying anything. Thanks for reading and thanks to everyone that ever felt motivated to leave a comment.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=nMT4_gfGVZk:yxerrorRBM8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=nMT4_gfGVZk:yxerrorRBM8: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=nMT4_gfGVZk:yxerrorRBM8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=nMT4_gfGVZk:yxerrorRBM8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=nMT4_gfGVZk:yxerrorRBM8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/nMT4_gfGVZk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/when-24-hours-is-not-enough/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/when-24-hours-is-not-enough/</feedburner:origLink></item>
		<item>
		<title>Would You Pay Extra?</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/7xWcSl-_Rrg/</link>
		<comments>http://thomaslarock.com/2010/08/would-you-pay-extra/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 14:55:39 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4643</guid>
		<description><![CDATA[I was thinking about buying a car the other day. I went into the dealer and looked at some convertibles because I&#8217;m getting old and I&#8217;ve never owned a convertible and I want my kids to have a fun car when they are old enough to drive in the next ten years. Anyway, the dealer [...]]]></description>
			<content:encoded><![CDATA[<p>I was thinking about buying a car the other day. I went into the dealer and looked at some convertibles because I&#8217;m getting old and I&#8217;ve never owned a convertible and I want my kids to have a fun car when they are old enough to drive in the next ten years. Anyway, the dealer and I were talking about cost and everything seemed to go OK until I heard him mention something fairly casually. He told me that the price he was giving me for the car didn&#8217;t include me taking the car for service anywhere else. In fact, I was not allowed to look under the hood for any reason. If I did perform such actions I would be charged extra. So, if I was planning on taking the car somewhere to have the oil changed, or if I even just wanted to change the oil myself, then I needed to pay either up front or I would be billed later.</p>
<p>I thought that was the craziest thing I had heard and I walked away from that dealer thinking he had gone mad. After all, who would buy something with such restrictions? Why would anyone make such a purchase? Who did this guy think he was, the cable company or some other type of utility that gets to set rates without any warning from one bill to the next?</p>
<p>I didn&#8217;t buy the car and came home to do some reading up on Oracle, since my job requires me to be able to support multiple database platforms now. I decided to dive into the <a title="Ha! They have a product named 'Enterprise Manager'!" href="http://www.oracle.com/technetwork/oem/grid-control/ds-ovw-gc-1-128130.pdf">Oracle Enterprise Manager</a> (OEM), the <a title="Think 'Database Engine Tuning Advisor', only less helpful." href="http://www.oracle.com/technetwork/oem/grid-control/overview/tuning-pack-11gr2-datasheet-134450.pdf">Tuning Pack</a>, and something called the <a title="Allows you to diagnose the issue, as if you can do anything about it." href="http://www.oracle.com/technetwork/oem/grid-control/overview/diagnostics-pack-11gr2-datasheet-134502.pdf">Diagnostics Pack</a>. I was in the middle of reviewing the PDFs when something caught my eye:</p>
<p><em><span style="color: #ff0000;"><a href="http://thomaslarock.com/wp-content/uploads/2010/08/money-300x300.jpg"><img class="alignleft size-thumbnail wp-image-4684" style="margin-right: 5px;" title="I hope you brought your wallet." src="http://thomaslarock.com/wp-content/uploads/2010/08/money-300x300-200x200.jpg" alt="" width="200" height="200" /></a>Licensing</span><br />
These features may be accessible through Oracle Enterprise Manager , Oracle SQL Developer and APIs provided with Oracle Database software. The use of these and other features described in the product licensing documentation requires licensing of the Oracle Diagnostic Pack regardless of the access mechanism.</em></p>
<p>OK, so the diagnostic pack requires me to pay more money on top of the Oracle licensing I have already paid? <a title="He's very rich." href="http://www.forbes.com/lists/2008/54/400list08_Lawrence-Ellison_JKEX.html">Larry Ellison didn&#8217;t get enough dollars the first time around</a>, so now he gets to charge a few dollars more if I want to know what is going on under the hood?</p>
<p>Digging around to find some additional licensing information and I found this nugget:</p>
<p><span style="color: #ff0000;">Note:</span><br />
<em>The Tuning Pack for Oracle Database requires a Diagnostics Pack for Oracle Database license. Therefore, customers interested in using any of the Tuning Pack functionality must license both of these packs.<br />
Any and all methods of accessing pack functionality — whether through the Enterprise Manager Console, Desktop Widgets, command-line APIs, or direct access to the underlying data — require the Pack license.</em></p>
<p>Wow. So if I bought a 3rd party tool that monitors my Oracle instances using a command-line API, I will get charged an extra licensing fee by Oracle, not to mention the money I spent on the monitoring tool itself? Unbelievable.</p>
<p>Can you imagine paying extra for the privilege to using SQL Trace? Neither can I. How about if you run a  query against a DMV? How much extra would you pay then?</p>
<p>I have no idea at what point Oracle became as big and as strong as a utility company, but it is clearly the case. And some may argue that the tiered pricing is perfect for customers that install Oracle only to run some application and they rely on the application vendor for support anyway (if ever), but I&#8217;m not listening to that argument. I think that I am most concerned at this point for the fact that Microsoft is looking to get into the utility game by offering us the Azure platform. They already have the complicated billing process nailed down perfectly.</p>
<p>It just makes no sense. If I buy the car, I should be able to pop the hood from time to time and not be forced to pay extra.</p>
<p>Unless, of course, you have something to hide.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=7xWcSl-_Rrg:JkmPuOIQ4no:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=7xWcSl-_Rrg:JkmPuOIQ4no: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=7xWcSl-_Rrg:JkmPuOIQ4no:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=7xWcSl-_Rrg:JkmPuOIQ4no:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=7xWcSl-_Rrg:JkmPuOIQ4no:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/7xWcSl-_Rrg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/would-you-pay-extra/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/would-you-pay-extra/</feedburner:origLink></item>
		<item>
		<title>SQL Saturday #51 Nashville Recap</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/CaLdfz4NAzo/</link>
		<comments>http://thomaslarock.com/2010/08/sql-saturday-51-nashville-recap/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 19:23:00 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[PASS]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4678</guid>
		<description><![CDATA[I returned from Nashville yesterday, having been there for four days to take part in SQL Saturday as well as the most recent in-face PASS Board meetings. This was my first ever trip to Nashville and I had really just one goal in mind as a tourist: to find some good music. I managed to [...]]]></description>
			<content:encoded><![CDATA[<p>I returned from Nashville yesterday, having been there for four days to take part in SQL Saturday as well as the most recent in-face PASS Board meetings. This was my first ever trip to Nashville and I had really just one goal in mind as a tourist: to find some good music. I managed to find some music every night, and some good BBQ one night as well. I even saw Elvis and a picture of <a href="http://twitpic.com/2h1eak">Buck Woody on the wall</a> in some honky tonk. By the time my visit was over I learned why Nashville is often called Nash-Vegas as well as the Music City. I mean, where else can you have the band call out the bouncer to come on stage to sing the next song? I bet they could have called up just about anyone in the crowd and that person could have sang or played an instrument. Everyone just seems&#8230;so&#8230;musical.</p>
<p>While I was in Nashville for two events, but this post is a recap for SQL Saturday so I am going to keep my focus on that event for now.</p>
<h3><a href="http://www.youtube.com/watch?v=jcJz-x6idd8">Diane debutante backseat of Jacky&#8217;s car&#8230;</a></h3>
<p>I have been employed by Confio since June 7th, but in many ways this was my first real event as their Padawan. I spent a good chunk of time putting together my talk (&#8220;What Are You Waiting For?&#8221;) and even had the chance to rehearse it for two local user groups prior to presenting it in Nashville. In other words, I did everything possible to hit a home run for this talk. I treated this like my job, and my reputation, were on the line. I revamped how I built my slide decks, tossing out ideas I had used in the past. I changed my speaking style to be more interactive than previously (mostly because I knew I needed to keep people awake at 3:30PM on a Saturday).</p>
<p>The result say I had some success, I think. I had about 30 people attend, and 21 of them took the time to fill out a short sessions evaluation. The scale was from 1 (very poor) to 5 (great) in terms of quality and there was also a section for expectations (did not meet | met | exceeded). The people were also asked to leave their name and additional comments. Out of 21 tickets I received two &#8216;met&#8217; and five &#8216;exceeded&#8217; for expectations (including one person who wrote exceeded ++). For quality I received two 4&#8242;s and 19 5&#8242;s, giving me an average of 4.9 for the talk. I also had nine people take the time to write something to me personally, here are some of the quotes:</p>
<p><em>Good, practical, immediately usable solution to query tuning.</em></p>
<p><em>Very informative and entertaining, thanks!</em></p>
<p><em>Not a DBA, but thought this was helpful to create &#8216;structure&#8217;. Will share with my DBA!</em></p>
<p><em>Tom is a solid presenter.</em></p>
<p><em>You kept me awake!</em></p>
<p>Not sure, but since the person I kept awake gave me a 5 I am guessing that is a good thing.</p>
<p>And, if I go by the evaluations, I would like to think I had a good first showing as a representative of Confio Software. I&#8217;d also like to think I helped people become a little better at being a database professional.</p>
<h3><a href="http://www.youtube.com/watch?v=5t99bpilCKw">Ain&#8217;t no rest for the wicked&#8230;</a></h3>
<p>I was involved in other parts of SQL Saturday as well. I was asked to do an introductory DBA session at 8:30AM in the cafeteria. About 25 people showed up to listen to me talk about being a DBA Survivor. There was not a lot of code or examples in my talk, it is more of career advice. I often tell people how the book was written with the idea that I wish someone else would have written the book and handed it to me on the day I became a DBA. One person left the talk a bit disappointed because they were looking for more examples of (or about) code, but still took the time to tell me that I was a great presenter. So, mixed emotions there, I guess.</p>
<p>I was also invited to participate in the keynote along with Kevin Kline. This was my first keynote ever and probably the best one since I got to insult Kevin&#8217;s mom not once, but twice. (Hey, don&#8217;t look at me that way, she&#8217;s been asking for it!) I never got much feedback on the keynote but a few people told me it went well enough. I didn&#8217;t have much time to prepare for that one so a lot of my comments were really off-the-cuff. I did my best to keep my parts quick and concise, not sure if I succeeded in getting my points across in a short amount of time or not.</p>
<p>[The last time I had to speak to a group of adults in a cafeteria I was telling the parents of my basketball players that they were not allowed to ever question their son's playing time until they had watched a full week of practice. That crowd reaction was a bit, well, different than this one.]</p>
<p>My last event for the day was sitting as part of the &#8220;Stump the Experts&#8221; panel. I think most people were stumped by my being included in the panel, but I was the only person present that knew you could create 999 non-clustered indexes on a table. No, you don&#8217;t want to know how I know that trivial bit of SQL knowledge.</p>
<h3><a href="http://www.youtube.com/watch?v=JY7Hh5PzELo">Anything you can do, I can do better&#8230;</a></h3>
<p>This is my third SQL Saturday event, and my second as a speaker. I&#8217;d like to take a moment to post some suggestions for people looking to organize future SQL Saturday events.</p>
<p>First, figure out a way to welcome people to your city and event that is unique. Meeting in a restaurant is fairly ordinary. For Nashville we met at Kevin Kline&#8217;s house and had a cookout. It was amazing for Kevin to invite us into his home and watch him eat barefoot on his living room floor (nothing says &#8220;upscale hillbilly&#8221; quite like that image, right?). I was accosted by Tamara Clark who ran up and said &#8220;Hi, I&#8217;m Tamera, as in camera.&#8221; It was like some odd family reunion as everyone gathered around inside of someone&#8217;s house to talk food and SQL.</p>
<p>And it was awesome. Every other SQL Saturday organizer should take note. I&#8217;m looking at you, Kansas City, and I am hoping you can put together a &#8220;rib crawl&#8221; on Friday for lunch/dinner. I&#8217;ll fly in early on Thursday to eat my weight in meat-like products and mingle with other SQL geeks. Other cities should find something else that is fairly unique about them and look to incorporate that into the event. Raleigh could do a pig roast or show us how to chew tobacco. Orlando could show us why it&#8217;s called the Magic Kingdom. Lots of things make your city or region unique, find a way to showcase whatever that may be and help create a shared experience for everyone.</p>
<p>Next, when a person get&#8217;s his/her packet, they should be given instructions on what the packet contains. Walk me through everything I need to know, or point to a piece of paper that has all the important information. Point out where the speakers room is, and where the restrooms are. Tell people where the food is located, and what time the first event starts. Assume that the person in front of you knows nothing and is lost. Don&#8217;t assume that we are smart enough to figure it all out on our own. We aren&#8217;t.</p>
<p>Lastly, if you are doing a raffle at the end, you should make it clear at the very start if a person is allowed to win multiple prizes. I would rather spread the wealth as much as possible. If someone wins an MSDN subscription I don&#8217;t think they should also win addition software. But that&#8217;s just me. If you want to allow someone to walk away with more than one prize, that&#8217;s fine, just set your raffle up in a way that goes along with what your rules are.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=CaLdfz4NAzo:ToJ2_kEq2VA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=CaLdfz4NAzo:ToJ2_kEq2VA: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=CaLdfz4NAzo:ToJ2_kEq2VA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=CaLdfz4NAzo:ToJ2_kEq2VA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=CaLdfz4NAzo:ToJ2_kEq2VA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/CaLdfz4NAzo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/sql-saturday-51-nashville-recap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/sql-saturday-51-nashville-recap/</feedburner:origLink></item>
		<item>
		<title>This Blog Post Won’t Explain Anything</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/5TLQ7f3Qi7U/</link>
		<comments>http://thomaslarock.com/2010/08/this-blog-post-wont-explain-anything/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 22:14:54 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[PASS]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4669</guid>
		<description><![CDATA[This week the PASS Board voted on and accepted the slate of candidates that was put forth by the Nominations Committee and I can&#8217;t get the image of Colonel Jessup out of my mind. People want answers. People want the truth.

But the funny part about all of that is when they do get the truth, [...]]]></description>
			<content:encoded><![CDATA[<p>This week the PASS Board voted on and accepted the slate of candidates that was put forth by the Nominations Committee and I can&#8217;t get the image of Colonel Jessup out of my mind. People want answers. People want the truth.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/5j2F4VcBmeo?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/5j2F4VcBmeo?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>But the funny part about all of that is when they do get the truth, they don&#8217;t always believe it. Even when Jessup admits to ordering the Code Red everyone in the courtroom is stunned. And when people don&#8217;t like the truth they start to dig deeper (or go off the deep end) and suspect that there is another reason to explain everything. Conspiracy theories abound on lots of topics:</p>
<p><em>We never landed on the moon.</em></p>
<p><em>Must have been a second shooter, no way one guy could pull that off alone. </em></p>
<p><em>A missile hit the Pentagon, not a plane.</em></p>
<p><em>The PASS Board meets at Area 51 and doesn&#8217;t like people who are critical of them.</em></p>
<p>I&#8217;ve been evaluating my peers in one form or another since I was 18 years old. It is never an easy thing. When someone gets turned down for anything they will want answers. They will want the truth.</p>
<p>Details for the PASS Election process can be found at <a href="http://elections.sqlpass.org/">http://elections.sqlpass.org/</a>, and about the only thing you won&#8217;t find there are the transcripts/recordings of the phone interviews. When I first ran for the board in 2007 no such portal existed. Much of what you see there is the result of a lot of hard work that has been done very recently in an effort to be as transparent as possible about the process. Funny thing is the more information we are able to provide, the more information people want.</p>
<p>But the trouble we have here isn&#8217;t with the details included at that portal. The trouble here is that a line was drawn. And people want to know why the line was drawn. They want answers. They want the truth.</p>
<p>I have not had an opportunity to speak with the two candidates that were not included on the slate this year. The announcements came out yesterday and myself and the rest of the board were in transit to Nashville for a scheduled meeting. When we arrived in Nashville we didn&#8217;t turn on our laptops and start blogging. Instead we sat down and started having a very healthy discussion on &#8220;just what the hell happened&#8221;. Our conclusion? Our process isn&#8217;t perfect, but it also isn&#8217;t all that bad. We all agree that we can make improvements, but we haven&#8217;t agreed on what steps to take yet.</p>
<p>When you serve on the Nomination Committee, if you put forward a person&#8217;s name as a candidate then you do so with the assumption that they will be elected. So in order to get your name on the slate you must convince a majority of the committee members that you are able to effectively serve as a Director. It&#8217;s that simple, really. There is no mandate that a line must be drawn, it is just a matter of reviewing the candidates and answering this question: &#8220;Is this the right person at this time?&#8221; The scores help us see where the candidates rank against each other and help spawn conversations about the candidates, but in the end the answer to that question has to be &#8220;yes&#8221; by a majority.</p>
<p>Fail to convince a majority, and you fail to have your name on the slate. But that&#8217;s not the answer people want to hear right now. People want to know about how one particular candidate did not advance. And they are asking us to provide proof or evidence for why that candidate was not advanced. And we have to some extent. Have our efforts so far been perfect? Apparently not. The original emails to those two candidates were not well received, for example. But those emails also show that we have tried. Personally I believe that we shouldn&#8217;t send an email, we should place a phone call to the person and have a conversation.</p>
<p>And that&#8217;s where we are right now. I feel it would be *very* unprofessional for me to air any dirty laundry without talking to the candidates personally. So far one of the candidates has contacted me and asked for some feedback. I hope to speak with him next week. I don&#8217;t know if the other one will contact me, but I suspect we will talk at some point in the future. After those conversations happen, and if the people are willing to have all the sordid details posted on a blog for everyone to see, then I&#8217;ll do exactly that.</p>
<p>But what I will not do is simply post something as a knee-jerk reaction to events or be dragged out into an argument on the internet regarding what I believe to be a conversation that is best held in private first. I&#8217;m sorry if that doesn&#8217;t please all of you who want answers right now.</p>
<p>But after serving on the Board for the past two years I&#8217;d like to think that you want me on this wall.</p>
<p>We are human, and like all humans we are far from perfect. We are happy to learn from our actions and improve. And we are more than happy to listen to all recommendations for improvement.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=5TLQ7f3Qi7U:NihBCZwEyTU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=5TLQ7f3Qi7U:NihBCZwEyTU: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=5TLQ7f3Qi7U:NihBCZwEyTU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=5TLQ7f3Qi7U:NihBCZwEyTU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=5TLQ7f3Qi7U:NihBCZwEyTU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/5TLQ7f3Qi7U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/this-blog-post-wont-explain-anything/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/this-blog-post-wont-explain-anything/</feedburner:origLink></item>
		<item>
		<title>How To Find Duplicate Indexes</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/L3H-LFaz768/</link>
		<comments>http://thomaslarock.com/2010/08/how-to-find-duplicate-indexes/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 14:17:58 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[SQL MVP]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4641</guid>
		<description><![CDATA[I&#8217;ve had this script in my toolbox for a few years now. I didn&#8217;t create it initially, and I have no idea who did. This script helps you to identify duplicate indexes. Why is that important? I&#8217;m glad you asked, mostly because I&#8217;m tired of answering my own questions and it&#8217;s good to have someone [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had this script in my toolbox for a few years now. I didn&#8217;t create it initially, and I have no idea who did. This script helps you to identify duplicate indexes. Why is that important? I&#8217;m glad you asked, mostly because I&#8217;m tired of answering my own questions and it&#8217;s good to have someone to talk with.</p>
<p>As I progressed through my DBA career (and continue to progress, I might add) I came to realize that a LOT of issues are caused by problems that I usually equate with stubbing your big toe on something. In other words, a lot of issues can be cleared up with a few simple remedies. One of those remedies happens to be duplicate indexes. See, over time a database will get used and abused by a lot of people. Some of those people have an idea of what they are doing and some will not. And at some point everyone will think &#8220;hey, if I add some indexes then this thing will run faster.&#8221; So they go off and create some indexes, their particular query or statement runs faster for the time being, and they are happy.</p>
<p>Unfortunately they never see the likely side effects of the additional indexes. Possible side effects include, but are not limited to, the following:</p>
<ul>
<li>nausea</li>
<li>loss of vision</li>
<li>slower DUI (Delete, Update, Inserts) statements</li>
<li>slower batch loads</li>
<li>renal failure (from drinking heavily)</li>
<li>nightly phone calls (problems sleeping)</li>
<li>longer maintenance windows (increased appetite)</li>
<li>larger databases and backups (weight gain)</li>
<li>dizziness</li>
<li>increased transaction log size (constipation)</li>
<li>hiccups</li>
</ul>
<p>OK, so maybe I exaggerated a bit there, I doubt you&#8217;ll get hiccups from adding more indexes. The main point here is that blindly adding indexes to your database is not always the right thing to do. And that is especially true if indexes already exist for you to use (or reuse). Years ago I had under my care a 300GB database that had roughly 45GB of space wasted by duplicate indexes alone. That&#8217;s a lot of additional overhead and cost for little to no benefit. And that&#8217;s when I came across the script I am sharing with you here. It helped us to identify duplicate indexes (BTW, wouldn&#8217;t it be nice if SQL Server <em>didn&#8217;t allow</em> for duplicate indexes to even be created?)</p>
<p>I normally don&#8217;t share scripts on this blog but I may start posting more of them in the future. For now I&#8217;ll share the standard disclaimer that Buck Woody (<a href="http://blogs.msdn.com/b/buckwoody/">blog</a> | <a href="http://twitter.com/buckwoody" target="_blank">twitter</a>) uses:</p>
<p><span style="color: #ff0000;"><strong><em>Script Disclaimer, for people who need to be told this sort of thing: </em></strong></span></p>
<p><span style="color: #ff0000;"><em>Never  trust any script, including those that you find here, until you  understand exactly what it does and how it will act on your systems.  Always check the script on a test system or Virtual Machine, not a  production system. Yes, there are always multiple ways to do things, and  this script may not work in every situation, for everything. It’s just a  script, people. All scripts on this site are performed by a  professional stunt driver on a closed course. Your mileage may vary.  Void where prohibited. Offer good for a limited time only. Keep out of  reach of small children. Do not operate heavy machinery while using this  script. If you experience blurry vision, indigestion or diarrhea during  the operation of this script, see a physician immediately.</em></span></p>
<p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10045936" alt="" width="1" height="1" /></p>
<pre>/* This script will generate 3 reports that give an overall or high level
view of the indexes in a particular database. The sections are as follows:
1.  Lists ALL indexes and constraints along with the key details of each
2.  Lists any tables with potential Redundant indexes
3.  Lists any tables with potential Reverse indexes
*/
--  Create a table variable to hold the core index info
DECLARE @AllIndexes TABLE (
 [Table ID] [int] NOT NULL,
 [Schema] [sysname] NOT NULL,
 [Table Name] [sysname] NOT NULL,
 [Index ID] [int] NULL,
 [Index Name] [nvarchar](128) NULL,
 [Index Type] [varchar](12) NOT NULL,
 [Constraint Type] [varchar](11) NOT NULL,
 [Object Type] [varchar](10) NOT NULL,
 [AllColName] [nvarchar](2078) NULL,
 [ColName1] [nvarchar](128) NULL,
 [ColName2] [nvarchar](128) NULL,
 [ColName3] [nvarchar](128) NULL,
 [ColName4] [nvarchar](128) NULL,
 [ColName5] [nvarchar](128) NULL,
 [ColName6] [nvarchar](128) NULL,
 [ColName7] [nvarchar](128) NULL,
 [ColName8] [nvarchar](128) NULL,
 [ColName9] [nvarchar](128) NULL,
 [ColName10] [nvarchar](128) NULL
)

--  Load up the table variable with the index information to be used in follow on queries
INSERT INTO @AllIndexes
 ([Table ID],[Schema],[Table Name],[Index ID],[Index Name],[Index Type],[Constraint Type],[Object Type]
 ,[AllColName],[ColName1],[ColName2],[ColName3],[ColName4],[ColName5],[ColName6],[ColName7],[ColName8],
 [ColName9],[ColName10])
SELECT o.[object_id] AS [Table ID] ,u.[name] AS [Schema],o.[name] AS [Table Name],
 i.[index_id] AS [Index ID]
 , CASE i.[name]
 WHEN o.[name] THEN '** Same as Table Name **'
 ELSE i.[name] END AS [Index Name],
 CASE i.[type]
 WHEN 1 THEN 'CLUSTERED'
 WHEN 0 THEN 'HEAP'
 WHEN 2 THEN 'NONCLUSTERED'
 WHEN 3 THEN 'XML'
 ELSE 'UNKNOWN' END AS [Index Type],
 CASE
 WHEN (i.[is_primary_key]) = 1 THEN 'PRIMARY KEY'
 WHEN (i.[is_unique]) = 1 THEN 'UNIQUE'
 ELSE '' END AS [Constraint Type],
 CASE
 WHEN (i.[is_unique_constraint]) = 1
 OR (i.[is_primary_key]) = 1
 THEN 'CONSTRAINT'
 WHEN i.[type] = 0 THEN 'HEAP'
 WHEN i.[type] = 3 THEN 'XML INDEX'
 ELSE 'INDEX' END AS [Object Type],
 (SELECT COALESCE(c1.[name],'') FROM [sys].[columns] AS c1 INNER JOIN [sys].[index_columns] AS ic1
 ON c1.[object_id] = ic1.[object_id] AND c1.[column_id] = ic1.[column_id] AND ic1.[key_ordinal] = 1
 WHERE ic1.[object_id] = i.[object_id] AND ic1.[index_id] = i.[index_id]) +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 2) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id],2) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 3) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],3) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 4) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],4) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 5) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],5) END  +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 6) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],6) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 7) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 7) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],8) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],8) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 9) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],9) END +
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 10) IS NULL THEN ''
 ELSE ', '+INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],10) END  AS [AllColName],
 (SELECT COALESCE(c1.[name],'') FROM [sys].[columns] AS c1 INNER JOIN [sys].[index_columns] AS ic1
 ON c1.[object_id] = ic1.[object_id] AND c1.[column_id] = ic1.[column_id] AND ic1.[key_ordinal] = 1
 WHERE ic1.[object_id] = i.[object_id] AND ic1.[index_id] = i.[index_id])   AS [ColName1],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 2) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],2) END AS [ColName2],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 3) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],3) END AS [ColName3],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 4) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],4) END AS [ColName4],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 5) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],5) END AS [ColName5],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 6) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],6) END AS [ColName6],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id], 7) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],7) END AS [ColName7],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id],8) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],8) END AS [ColName8],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 9) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],9) END AS [ColName9],
 CASE
 WHEN INDEX_COL('[' + u.[name] + '].['+ o.[name] + ']', i.[index_id], 10) IS NULL THEN ''
 ELSE INDEX_COL('[' + u.[name] + '].[' + o.[name] + ']', i.[index_id],10) END AS [ColName10]
FROM [sys].[objects] AS o WITH (NOLOCK)
 LEFT OUTER JOIN [sys].[indexes] AS i WITH (NOLOCK)
 ON o.[object_id] = i.[object_id]
 JOIN [sys].[schemas] AS u WITH (NOLOCK)
 ON o.[schema_id] = u.[schema_id]
WHERE o.[type] = 'U' --AND i.[index_id] &lt; 255
 AND o.[name] NOT IN ('dtproperties')
 AND i.[name] NOT LIKE '_WA_Sys_%'

-----------
SELECT 'Listing All Indexes' AS [Comments]

SELECT I.*
 FROM @AllIndexes AS I
 ORDER BY [Table Name]

-----------
SELECT 'Listing Possible Redundant Index keys' AS [Comments]

SELECT DISTINCT I.[Table Name], I.[Index Name] ,I.[Index Type],  I.[Constraint Type], I.[AllColName]
 FROM @AllIndexes AS I
 JOIN @AllIndexes AS I2
 ON I.[Table ID] = I2.[Table ID]
 AND I.[ColName1] = I2.[ColName1]
 AND I.[Index Name] &lt;&gt; I2.[Index Name]
 AND I.[Index Type] &lt;&gt; 'XML'
 ORDER BY I.[Table Name], I.[AllColName]

----------
SELECT 'Listing Possible Reverse Index keys' AS [Comments]

SELECT DISTINCT I.[Table Name], I.[Index Name], I.[Index Type],  I.[Constraint Type], I.[AllColName]
 FROM @AllIndexes AS I
 JOIN @AllIndexes AS I2
 ON I.[Table ID] = I2.[Table ID]
 AND I.[ColName1] = I2.[ColName2]
 AND I.[ColName2] = I2.[ColName1]
 AND I.[Index Name] &lt;&gt; I2.[Index Name]
 AND I.[Index Type] &lt;&gt; 'XML'
</pre>
<p>And there you go. When you come across a system that is having performance problems, use this script to help you locate possible duplicate indexes and see if removing them helps you to improve performance. Of course you need to perform some analysis on the indexes, their usage, the system, etc., before you just removing indexes without notice, but at the very least you are doing your part to help someone who just stubbed their big toe.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=L3H-LFaz768:2L9CXM6y37E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=L3H-LFaz768:2L9CXM6y37E: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=L3H-LFaz768:2L9CXM6y37E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=L3H-LFaz768:2L9CXM6y37E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=L3H-LFaz768:2L9CXM6y37E:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/L3H-LFaz768" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/how-to-find-duplicate-indexes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/how-to-find-duplicate-indexes/</feedburner:origLink></item>
		<item>
		<title>Is It A Problem?</title>
		<link>http://feedproxy.google.com/~r/SQLRockstar/~3/ohsGzL9EhB0/</link>
		<comments>http://thomaslarock.com/2010/08/is-it-a-problem/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 13:30:42 +0000</pubDate>
		<dc:creator>Thomas LaRock</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[PASS]]></category>
		<category><![CDATA[SQL MVP]]></category>
		<category><![CDATA[SQLServerPedia Wiki]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://thomaslarock.com/?p=4645</guid>
		<description><![CDATA[Last week I used some local user group meetings as tune-ups for my talk that I am giving this Saturday in Nashville.
[Sorry that you had to find out this way Seacoast and SNESSUG. It's not easy finding out you were being used, but you were. And thanks for the bacon pizza, I can let myself [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I used some local user group meetings as tune-ups for my talk that I am giving this Saturday in Nashville.</p>
<p>[Sorry that you had to find out this way <a href="http://seacoastsql.sqlpass.org/">Seacoast</a> and <a href="http://snessug.reservoirsw.com/">SNESSUG</a>. It's not easy finding out you were being used, but you were. And thanks for the bacon pizza, I can let myself out. Can we stay friends?]</p>
<p>Anyway, part of my talk has to do with how you define if something is a problem. Let&#8217;s take a quick example from my travels last week: You have a query that joins eleven tables and views. The code for this join is about as easy to read as anything written by <a href="http://en.wikipedia.org/wiki/Atlas_Shrugged">Ayn Rand</a>. The query takes 15 seconds to complete and while it is running it consumes memory and CPU resources. The question becomes: is this a problem?</p>
<p>Is it? Assuming that Paul Randal (<a href="http://www.sqlskills.com/BLOGS/PAUL/">blog</a> | <a href="http://twitter.com/PaulRandal" target="_blank">twitter</a>) has convinced so many of you to answer everything with &#8220;it depends&#8221; allow me to interject right here and now and say &#8220;fine, what does it depend on?&#8221; And yes, there is only one right answer here. And rather than make you <a href="http://sqlsaturday.com/51/schedule.aspx">wait until Saturday to find out</a>, I&#8217;ll go ahead and give you a sample of the knowledge I intend to share with you during my talk.</p>
<p><em>It depends on your definition of a problem</em>.</p>
<p>Sit down and stop yelling at me. I don&#8217;t care about any technical details about what is going on under the hood. I don&#8217;t care about how eleven table joins are probably a good indication that the database needs some design work. I don&#8217;t care about writing T-SQL in a way that <a href="http://en.wikipedia.org/wiki/Dr._Seuss">Dr. Seuss himself would be proud</a>. None of that matters. Why? Because nobody knows if any of that is a problem unless it has been defined to be a problem. It&#8217;s that simple, people. Really.</p>
<p>An eleven table join is only a problem if you have it written down somewhere that eleven table joins are a problem. A query that takes 15 seconds to execute is only a problem if the end user doesn&#8217;t want to wait 15 seconds for the results. An unreadable T-SQL statement is only a problem if someone comes along and documents how to properly write and format T-SQL statements.</p>
<p><a href="http://thomaslarock.com/wp-content/uploads/2010/08/DonAdamsPicture.jpg"><img class="size-medium wp-image-4649 alignleft" style="margin-right: 5px;" title="Would you believe that query uses views on top of views?" src="http://thomaslarock.com/wp-content/uploads/2010/08/DonAdamsPicture-237x300.jpg" alt="Would you believe that query uses views on top of views?" width="237" height="300" /></a>Without definitions for such things then all you have is Chaos. And that means <a href="http://en.wikipedia.org/wiki/Don_Adams">Don Adams</a> is your DBA. Nobody wants that.</p>
<p>Imagine if everyone just sat around and complained about things simply because <em>they felt</em> that it was a problem. But they have no evidence to back up their feelings, so they just complain about time, resources, unreadable code, etc. Wait, did I just describe every code review you have ever taken part in? Are you having flashbacks? Next time be prepared for your meetings. Find out if the customer thinks 15 seconds is too long, for example. Start with the user experience because that is always going to play a big part in how problems are defined. In fact, in my talk I list three common sources for definitions:</p>
<p><strong>Performance benchmarks</strong> &#8211; Quest released a great poster to help you understand many of these benchmarks and you can get it at <a href="http://www.quest.com/backstage/images/promotions/SQLServer-Perfmonance-Poster.pdf">http://www.quest.com/backstage/images/promotions/SQLServer-Perfmonance-Poster.pdf</a>. You&#8217;re welcome.</p>
<p><strong>User experience</strong> &#8211; This is when the user doesn&#8217;t want to wait 15 seconds for the results and they tell you as much. Write down what they tell you is acceptable and not, and use that as how to define if something is a problem or not.</p>
<p><strong>Business requirements</strong> &#8211; For when those rare moments when business requirements change, you have the opportunity to document them and refer to them as how to define if something is a problem or not.</p>
<ol></ol>
<p>This means that you already have three sources for how problems are defined in your shop. And if no one is complaining about that query taking 15 seconds then you may want to just close your eyes and believe that a problem doesn&#8217;t exist. After all, how long will it take you to redesign the database in order to write a more efficient join? And will that time (and expense) be worth the (at most) 15 second gain in run time?</p>
<p>Well&#8230;it depends&#8230;right?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=ohsGzL9EhB0:c1LOXV0xrD4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=ohsGzL9EhB0:c1LOXV0xrD4: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=ohsGzL9EhB0:c1LOXV0xrD4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SQLRockstar?a=ohsGzL9EhB0:c1LOXV0xrD4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/SQLRockstar?i=ohsGzL9EhB0:c1LOXV0xrD4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SQLRockstar/~4/ohsGzL9EhB0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://thomaslarock.com/2010/08/is-it-a-problem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://thomaslarock.com/2010/08/is-it-a-problem/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.040 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-09-07 07:37:53 --><!-- Compression = gzip -->
