<?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>Home Of The Scary DBA</title>
	
	<link>http://www.scarydba.com</link>
	<description>Intimidating Databases and Code</description>
	<lastBuildDate>Thu, 09 May 2013 15:15:46 +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/HomeOfTheScaryDba" /><feedburner:info uri="homeofthescarydba" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Book Review: Business in the Trenches</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/eqL8rUOhi1I/</link>
		<comments>http://www.scarydba.com/2013/05/09/book-review-business-in-the-trenches/#comments</comments>
		<pubDate>Thu, 09 May 2013 15:15:46 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Great War]]></category>
		<category><![CDATA[improve]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[professional development]]></category>
		<category><![CDATA[World War I]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2372</guid>
		<description><![CDATA[I&#8217;m trying to improve. That&#8217;s at just about everything too. I know I don&#8217;t know enough or have enough skills to always get things done in an efficient manner, so I&#8217;m trying to learn more. One way is by reading, a lot. I&#8217;ve read a number of management and leadership books, many of them reviewed on [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/05/09/book-review-business-in-the-trenches/", "Book Review: Business in the Trenches" );
		</script></span><p>I&#8217;m trying to improve.</p>
<p>That&#8217;s at just about everything too. I know I don&#8217;t know enough or have enough skills to always get things done in an efficient manner, so I&#8217;m trying to learn more. One way is by reading, a lot. I&#8217;ve read a number of management and leadership books, many of them reviewed on this web site. I just finished the book <a href="http://www.amazon.com/Business-Trenches-Win-Using-Lessons/dp/0982882904/ref=cm_cr_pr_product_top">Business in the Trenches</a>. I really enjoyed it. It combined two of my passions, self-improvement and history, specifically history of World War I. Now, this is a tech, community and business blog, so I won&#8217;t go on &amp; on about the Great War (although I could if you wanted). Instead, I simply want to provide you a link to <a href="http://www.amazon.com/Business-Trenches-Win-Using-Lessons/product-reviews/0982882904/ref=cm_cr_dp_synop?ie=UTF8&amp;showViewpoints=0&amp;sortBy=bySubmissionDateDescending#RGPY7VQA7Q9G3">my review of this book</a>. It really is a worthy read that teaches important lessons in a fun and interesting way. That made me want to be sure that you all had the opportunity to learn about it.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/eqL8rUOhi1I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/05/09/book-review-business-in-the-trenches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/05/09/book-review-business-in-the-trenches/</feedburner:origLink></item>
		<item>
		<title>How to Tell Your Windows Azure SQL Database Moved</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/1tHJkiQFT0w/</link>
		<comments>http://www.scarydba.com/2013/05/07/how-to-tell-your-windows-azure-sql-database-moved/#comments</comments>
		<pubDate>Tue, 07 May 2013 15:33:49 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[sql azure]]></category>
		<category><![CDATA[wasd]]></category>
		<category><![CDATA[windows azure sql database]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2367</guid>
		<description><![CDATA[The very concept of the Windows Azure SQL Database (WASD) is predicated on the up-time created by having three active copies of your database. Should there be a hardware or software failure that would cause the primary replica to go down, your database gets moved to one of the secondary replicas which has been maintaining a [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/05/07/how-to-tell-your-windows-azure-sql-database-moved/", "How to Tell Your Windows Azure SQL Database Moved" );
		</script></span><p>The very concept of the Windows Azure SQL Database (WASD) is predicated on the up-time created by having three active copies of your database. Should there be a hardware or software failure that would cause the primary replica to go down, your database gets moved to one of the secondary replicas which has been maintaining a copy of the data from the primary replica. In theory, the worst thing that happens is that you have to retry a query. In fact, building that sort of resilience into your code is a pretty fundamental aspect of working with WASD.</p>
<p>I was asked the question, how do you tell if your database has been moved between replicas. I didn&#8217;t have a complete answer, so I set out to find one. The first, more obvious part of the answer, is that you&#8217;ll receive a connection error to your app while this event is occurring. Microsoft has a very solid white paper on how to deal with your connections, <a href="http://social.technet.microsoft.com/wiki/contents/articles/1541.windows-azure-sql-database-connection-management.aspx#Soft_throttling">Windows Azure SQL Database Connection Management</a>. Scrolling down you can see that you&#8217;ll receive a very specific error number depending on why you lost your connection. These errors include 40197, which is the number you&#8217;ll receive during any of the events that trigger a failover to the secondary replicas. Answer done, right? Well, not exactly.</p>
<p>I knew about the error code, but the real question is, how do you tell if the move occurred while you weren&#8217;t connected? Is there a dynamic management object or system view that shows this information? The first thing I thought of is <a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj819229.aspx">sys.event_log</a>. That&#8217;s because it stores aggregated information about connectivity and errors such as deadlocks and throttling. Surely, if you were moved it would be there. But, reading through the documentation there&#8217;s no indication of it. And, it looks like that information is stored within the database and is therefore going to be moved (unlike all the information in cache which just goes away).</p>
<p>Speaking of cache, you could try running queries against <a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh977102.aspx">sys.dm_exec_query_stats </a>to see when the oldest compile time of any given query might be. But, remember, we&#8217;re on a shared server with a hundred other databases. Cache is highly volatile. I don&#8217;t think I&#8217;ve ever seen more than about one day&#8217;s worth of information within the cache dependent set of DMOs. In fact, I seldom see more than about an hours worth there and sometimes quite a bit less. So that&#8217;s not a possibility unless you set up a mechanism for monitoring your servers and can see a massive delta in what&#8217;s in cache between one look at the query stats to the next. But that could still be cache volatility.</p>
<p>Looking through the rest of the DMOs and system views I couldn&#8217;t identify anything that definitively answers this question. So, at this point, I&#8217;d say, if you don&#8217;t get the error, there is no real indication that you&#8217;ve moved from a primary to a replica. On the one hand, it concerns me that I don&#8217;t know. On the other, who cares. The whole idea behind this approach to development is that the guts of the things are handled by others allowing you to concentrate on building the database and the app code appropriately.</p>
<p>For lots more about Windows Azure SQL Database, sign up for the pre-conference seminar, <a href="http://northamerica.msteched.com/PreCons#fbid=wtb_FPmp0MG">How to be a Successful DBA in the Changing World of Cloud and On-Premise Data</a>, at Tech Ed 2013 in <a href="http://northamerica.msteched.com/Content#fbid=wtb_FPmp0MG">New Orleans</a> or Tech Ed Europe in <a href="http://europe.msteched.com/#fbid=YhXTj1riV5N">Madrid</a>.</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/1tHJkiQFT0w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/05/07/how-to-tell-your-windows-azure-sql-database-moved/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/05/07/how-to-tell-your-windows-azure-sql-database-moved/</feedburner:origLink></item>
		<item>
		<title>Windows Azure SQL Database Backups</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/wZPgWxRCYTI/</link>
		<comments>http://www.scarydba.com/2013/04/04/windows-azure-sql-database-backups/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 19:08:53 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[SQL Server 2012]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2363</guid>
		<description><![CDATA[You can get backups of your WASD databases. But, if you want them to be transactionally consistent, you need to do a little extra work. This video (with bad lighting at the start) shows how to get the job done.]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/04/04/windows-azure-sql-database-backups/", "Windows Azure SQL Database Backups" );
		</script></span><p>You can get backups of your WASD databases. But, if you want them to be transactionally consistent, you need to do a little extra work.<a href="http://www.youtube.com/watch?v=sF10wAgrnbI"> This video </a>(with bad lighting at the start) shows how to get the job done.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/wZPgWxRCYTI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/04/04/windows-azure-sql-database-backups/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/04/04/windows-azure-sql-database-backups/</feedburner:origLink></item>
		<item>
		<title>Execution Plans in Azure SQL Database</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/hThdASUeKpk/</link>
		<comments>http://www.scarydba.com/2013/03/25/execution-plans-in-azure-sql-database/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 12:45:58 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure sql database]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[execution plan]]></category>
		<category><![CDATA[query tuning]]></category>
		<category><![CDATA[teched]]></category>
		<category><![CDATA[teched 2013]]></category>
		<category><![CDATA[wasd]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2350</guid>
		<description><![CDATA[Microsoft has stated pretty clearly that they&#8217;re putting code on Azure first, ahead of the desktop. Which makes one wonder when we&#8217;re going to start to see some of this cool stuff within SSMS. What cool stuff you ask? Well, let me explain. Let&#8217;s start with a query: SELECT m.MovieName, msd.MovieStageName, st.StageTypeDesc FROM dbo.Movie AS [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/03/25/execution-plans-in-azure-sql-database/", "Execution Plans in Azure SQL Database" );
		</script></span><p>Microsoft has stated pretty clearly that they&#8217;re putting code on Azure first, ahead of the desktop. Which makes one wonder when we&#8217;re going to start to see some of this cool stuff within SSMS. What cool stuff you ask? Well, let me explain. Let&#8217;s start with a query:</p>
<pre class="brush: sql; gutter: true">SELECT	m.MovieName,
		msd.MovieStageName,
		st.StageTypeDesc
FROM	dbo.Movie AS m
		JOIN dbo.MovieStage AS ms
		ON m.MovieId = ms.MovieID
		JOIN dbo.MovieStageDefinition AS msd
		ON ms.MovieStageDefinitionId = msd.MovieStageDefinitionId
		JOIN dbo.StageType AS st
		ON msd.StageTypeId = st.StageTypeId
WHERE	m.MovieId = 42;</pre>
<p>When I run this on Windows Azure SQL Database (WASD) I get the following execution plan:</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanFull.png"><img class="alignnone size-medium wp-image-2351" alt="Azure Execution Plan" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanFull-300x185.png" width="300" height="185" /></a></p>
<p>Kind of weird, kind of useful, right? First thing new that I can do is zoom in using that slider bar you seen in the lower left and then graphical part of the plan looks like this:</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanZoom.png"><img class="alignnone size-medium wp-image-2352" alt="Azure Execution Plan Zoomed In" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanZoom-300x145.png" width="300" height="145" /></a></p>
<p>The icons have shifted into the corner and you get the costs of every operator. You also get text describing what the operator does. You can scroll around to see the other operators. Pretty cool stuff. Yeah, I know you can zoom in &amp; out on SSMS, but it doesn&#8217;t modify the icons in any way, making viewing it zoomed out all but useless. WASD gets better. Notice the tool bar on the left. I have it here in full size so you can see everything:</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureToolBar.png"><img class="alignnone size-full wp-image-2353" alt="AzureToolBar" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureToolBar.png" width="82" height="538" /></a></p>
<p>Now things get fun. First, at the top, there is a little arrow pointing to the left. You can hide this tool bar by clicking anywhere within it that&#8217;s not on one of the icons. The arrow is indicating the possibility of hiding the toolbar. Once hidden, the arrow changes to pointing to the right. Clicking again expands the toolbar. Immediately below that arrow, you see the really fun stuff: Sort by:. You&#8217;ll notice that Total is currently selected. This shows me the total estimated cost for each operator within the plan. But, I can modify the display of the plan so that I only see estimated CPU cost or estimated IO cost. The following graphic shows the same plan with CPU selected. See how the estimated cost percentages have all shifted to show the different highlights?</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanSorted.png"><img class="alignnone size-medium wp-image-2354" alt="AzureExecPlanSorted" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanSorted-300x138.png" width="300" height="138" /></a></p>
<p>This is a great way to rearrange the view of the plan, bringing out different information. The only beef I have with it is that it doesn&#8217;t really sort the operators so much as change the display. I understand what they mean, but I think it&#8217;s misleading. Anyway, useful, but I&#8217;ve got more. Moving down the tool bar we find the great part: Find by:. Currently on the plans above you can see that None is selected. But what if I select a different operator such as Seek:</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanFind.png"><img class="alignnone size-medium wp-image-2355" alt="AzureExecPlanFind" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanFind-300x144.png" width="300" height="144" /></a></p>
<p>Now, each instance of the operator type I selected is highlighted in blue, but, the sort totals for estimated costs are still displaying the numbers in red, so I haven&#8217;t lost any of the display that I&#8217;ve set up so far. This is wonderful stuff. As you can see, you only get a few operator types, Warnings, Scan, Seek, Merge Join, Hash Match, Nested Loops and Sort. But it&#8217;s a great way to begin to explore the plan in ways that we can&#8217;t currently within SSMS.</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureIcons.png"><img class="alignleft size-full wp-image-2356" alt="AzureIcons" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureIcons.png" width="94" height="28" /></a>Let&#8217;s also note the little icons in the upper right of the plan, displayed to the left in full size. Clicking on these completely changes what&#8217;s represented to us from the execution plan. First the little grid looking icon results in this execution plan:</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanGrid.png"><img class="alignnone size-medium wp-image-2357" alt="AzureExecPlanGrid" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanGrid-300x74.png" width="300" height="74" /></a></p>
<p>You can click on the graphic to make it bigger so you can see everything. What we have are the operator nodes, listed by Node ID order, showing some of the interesting information from the properties in a grid format. And yeah, because it&#8217;s a grid, I can click on any of the column headers and get different sort order for the data. For large plans, this can be a quick and easy way to find the highest estimated cost, or the largest number of actual rows. The grid isn&#8217;t a text plan. The grid is just the same XML data that makes up the execution plan laid out slightly differently. Great stuff indeed. What if we click on the little bullet list looking icon?</p>
<p><a href="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanBullets.png"><img class="alignnone size-medium wp-image-2358" alt="AzureExecPlanBullets" src="http://www.scarydba.com/wp-content/uploads/2013/03/AzureExecPlanBullets-300x76.png" width="300" height="76" /></a></p>
<p>Now we have a sort of nested display, almost like a human-readable XML. And the little blue icons next to the operator names do allow you to expand and collapse the layout. I haven&#8217;t decided how excited I am by this layout because I&#8217;m just not sure how I would use it. You can&#8217;t resort on the columns even though this looks like a grid. It&#8217;s just a way to simplify the display with the collapsible nesting. Still, another tool in the toolbox.</p>
<p>Microsoft is doing some really cool stuff out there on WASD, making the portal there functional and useful.Let&#8217;s hope that some of this translates down to the core product.</p>
<p>If you&#8217;re interested in learning more about this kind of thing, you should take a look at the pre-conference seminar at <a href="http://www.msteched.com/">TechEd 2013</a> that I&#8217;ll be putting on with Thomas LaRock (<a href="http://sqlrockstar.com">b</a>|<a href="http://twitter.com/sqlrockstar">t</a>) and Dandy Weyn (<a href="http://blogs.technet.com/b/ilikesql_by_dandyman/">b</a>|<a href="http://twitter.com/ilikesql">t</a>) in New Orleans and Madrid, Spain. It&#8217;s called <a href="http://northamerica.msteched.com/PreCons#fbid=B0jVnc-HYXW">How to be a Successful DBA in the Changing World of Cloud and On-Premise Data</a>. We&#8217;ll spend all day getting you deep into the guts of Azure SQL Database showing how to administer it, tune it, grow it, and make it work. You don&#8217;t want to miss it. Click <a href="http://northamerica.msteched.com/Registration">here for New Orleans</a> or <a href="http://europe.msteched.com/Registration">here for Madrid</a> to register for this and TechEd 2013.</p>
<p>I promise you, with Tom, Dandy and I all talking at once, this will be informative and entertaining.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/hThdASUeKpk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/03/25/execution-plans-in-azure-sql-database/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/03/25/execution-plans-in-azure-sql-database/</feedburner:origLink></item>
		<item>
		<title>Laws You Break at Your Peril</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/s_XkH-oXsv4/</link>
		<comments>http://www.scarydba.com/2013/03/20/laws-you-break-at-your-peril/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 12:30:08 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[tanstaafl]]></category>
		<category><![CDATA[thermodynamics]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2348</guid>
		<description><![CDATA[Laws of Thermodynamics TANSTAAFL Gods of the Copybook Headings All magic comes with a price Winter Is Coming My adult years started with a pretty thorough education in physics thanks to Uncle Sugar and the Navy Nuclear Power School. The laws of thermodynamics were carved into our brains (along with Baumgart&#8217;s Law*). Experience has taught [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/03/20/laws-you-break-at-your-peril/", "Laws You Break at Your Peril" );
		</script></span><p><a href="http://en.wikipedia.org/wiki/Laws_of_thermodynamics">Laws of Thermodynamics</a></p>
<p><a href="http://en.wikipedia.org/wiki/There_ain%27t_no_such_thing_as_a_free_lunch">TANSTAAFL</a></p>
<p><a href="http://en.wikipedia.org/wiki/The_Gods_of_the_Copybook_Headings">Gods of the Copybook Headings</a></p>
<p><a href="http://en.wikipedia.org/wiki/Rumplestiltskin_(Once_Upon_a_Time)">All magic comes with a price</a></p>
<p><a href="http://en.wikipedia.org/wiki/Winter_Is_Coming">Winter Is Coming</a></p>
<p>My adult years started with a pretty thorough education in physics thanks to Uncle Sugar and the Navy Nuclear Power School. The laws of thermodynamics were carved into our brains (along with Baumgart&#8217;s Law*). Experience has taught me that all these other statements are more or less riffs on the concepts put forward by the fundamentals of the laws of thermodynamics. They&#8217;re just applications of the same within social spheres. In short, if you have a physical engineering background, you tend to be a realist. But note, I&#8217;m not a pessimist. I just recognize a simple thing. No matter how positive my thoughts are, no matter my belief in the righteousness of our application or business, no matter the utterly sublime nature of our offerings, I can&#8217;t make an electron travel more than about 18 inches in one millisecond.</p>
<p>Sorry.</p>
<p>What am I talking about? I&#8217;m talking about trade-offs. I&#8217;m talking about the fact that you really can&#8217;t get a free lunch, that you have to be prepared to pay the piper, that water is wet and fire does burn, that preparations for winter are not crazy. I&#8217;m talking about dealing with physical reality as it is, not how we&#8217;d wish it to be.</p>
<p>I was talking to a group of people about checking the consistency of your database. I made the suggestion that you should be checking that consistency as frequently as is practical within your system. If it wasn&#8217;t problematic for a whole slew of reasons, I&#8217;d probably run the check 3-5 times a day. Why? Because, when you get database inconsistencies, it almost always leads to data loss. So, the more frequently you can check, the better. I acknowledge, for most of us, that means we&#8217;re probably only checking once a day or once a week. Some of us are checking even less than that, for, debatable, but, probably, sound reasons relating to the nature of the business, the size of the database and the type of data. And, it&#8217;s worth noting, I&#8217;ve only had about five instances of corrupt databases over a long career.</p>
<p>But, one person from the audience disagreed. This person had systems that required up-time above everything. While he did run consistency checks, he would try to fix errors by deleting &amp; modifying data rather than going to a restore. Up-time was everything. And, while he had more frequent inconsistencies in his databases, by and large he worked around the problems rather than taking the system offline and he saw zero problem with that.</p>
<p>You know what, I&#8217;m not going to argue. That may be an acceptable approach for that person, their data and the business they support. But, you need to make that kind of decision with all those sayings above in your mind. Because if you leave a corrupted page in your database, you&#8217;re right, it&#8217;s no big deal. Until that page gets split or rearranged or something else happens that your corruption suddenly grows. And now it&#8217;s not one page (remember, up to 8k worth of rows) but several (all with 8k worth of rows) and the likelihood of additional splits along with additional corruption grows. You can take risks, but you better be prepared for what might follow on to those risks.</p>
<p>You don&#8217;t think you&#8217;ll ever need to recover to a point in time, so you think log backups are crazy. Cool. Until you need it. Winter is coming. Doing data loads to your system is taking too long, so you turn off automated statistics updates. Saves you time, but you might notice a change in how queries run. TANSTAAFL. No need to run backups because your system is running a on a RAID 5 set of disks. Excellent until your database is corrupted. All magic comes with a price. You think all this crazy talk about storing relational data in a relational fashion is just job insurance for the lazy and incompetent you can force any kind of behavior you need into your SQL Server instance.  And it works great with one row:</p>
<blockquote><p>And that after this is accomplished, and the brave new world begins<br />
When all men are paid for existing and no man must pay for his sins,<br />
As surely as Water will wet us, as surely as Fire will burn,<br />
The Gods of the Copybook Headings with terror and slaughter return!</p></blockquote>
<p>In short, you can ignore stuff only so long. Sooner or later, entropy wins. Because of that, you need to make active decisions that bring order out of chaos, not lead to more and more chaos. And, no matter what, you can&#8217;t wish stuff into being. You have to do the work to prepare your systems, repair your systems, or maintain your systems.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span id="more-2348"></span></p>
<p>* Lt. Baumgart was one of our instructors (Heat Transfer and Fluid Flow) and a total geek on horror films. Time permitting, we could get a good horror film conversation started. During those conversations, Baumgart&#8217;s Law was created. Baumgart&#8217;s Law states: In every horror film, there&#8217;s at least one incredibly stupid person. To explain, they usually announce themselves, &#8220;I don&#8217;t want to go up into the attic where I&#8217;ve heard all those horrific noises,&#8221; just before they do their incredibly stupid maneuver. This doesn&#8217;t always lead to their demise, but they are always there. It holds fairly true.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/s_XkH-oXsv4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/03/20/laws-you-break-at-your-peril/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/03/20/laws-you-break-at-your-peril/</feedburner:origLink></item>
		<item>
		<title>Star Trek and the Death of IT</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/ZC9JPJzZjJ0/</link>
		<comments>http://www.scarydba.com/2013/03/18/star-trek-and-the-death-of-it/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 12:55:04 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[information technology]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[star trek]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2346</guid>
		<description><![CDATA[GAAAAAAAHHHHH!!!! I feel slightly better, but only slightly. I started watching Star Trek: The Next Generation on Netflix just to unwind my brain and relax a little. Instead of relaxation I found myself pacing back and forth in front of the television, gesticulating wildly, with a string expletives coming out of my mouth in a [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/03/18/star-trek-and-the-death-of-it/", "Star Trek and the Death of IT" );
		</script></span><p>GAAAAAAAHHHHH!!!!</p>
<p>I feel slightly better, but only slightly.</p>
<p>I started watching Star Trek: The Next Generation on Netflix just to unwind my brain and relax a little. Instead of relaxation I found myself pacing back and forth in front of the television, gesticulating wildly, with a string expletives coming out of my mouth in a torrential flood (yeah, my kids loved it). What happened in the 24th century? Did the entire race of IT Pros die out in the 23rd? Because there sure as heck is no evidence that they are ANYWHERE to be found. Episode after episode there are computer problems. And episode after episode my blood pressure is rising. I can&#8217;t believe what I&#8217;m seeing.</p>
<p>For example, in one episode they get an alien computer virus (firewall, checksums, anti-virus, hell, common communication protocols, nah) that&#8217;s going to cause the ship to run into a star or something. OK. No big deal right. Shut everything down, format the system, reinstall the OS, restore the last good backup, open the Romulan Ale. No, we go through the episode basically ringing our hands and running around in circles, and that&#8217;s the engineering crew. The bridge crew just sat there slack-jawed. Then finally some magic is injected into the computer or something and everything is fixed. WHAT!!!??!!ELEVENTY!!!???! Come on. Where was the 19 hour meeting after the episode where the captain goes on and on at the engineering staff about how &#8220;We can never let this happen again.&#8221;</p>
<p>Nope. That didn&#8217;t occur. Instead, in the next episode (or maybe it was a previous one, I really don&#8217;t care at this point), a couple of verbal commands from within the holodeck (and what military in history&#8230; scratch that, just been reading about the Austro-Hungarian army in WWI&#8230; what COMPETENT military anywhere in history would allow that horror device to remain on board ship past the first time it kidnapped a crew member or whatever other tortures it inflicted, but I digress) allows a piece of one of the programs from the holodeck to take over the entire ship. Everything. Everywhere. Oh, they notice that there&#8217;s a lot of memory &amp; cpu power going to the holodeck, but evidently the on-call rotation is in the hands of a junior ensign or something because they don&#8217;t DO anything about it. Nope, one program is allowed to rewrite all the other programs. And then, it somehow goes away because they ask it to. Again, no one had to restore any of the memory or storage that was wiped because this thing took over everything.</p>
<p>Look, I get it. It&#8217;s fiction. Not only that, it&#8217;s fantasy (no, it&#8217;s not science fiction, not with all the magical crap injected into the show, sorry, you lose there) so anything can happen. But please, can&#8217;t we at least have some internal consistency? Can&#8217;t we have a little logic. Couldn&#8217;t just one of the screenwriters talk to someone in IT, or barring that, someone in the military. Because, funny thing about the military, and IT, it only takes one serious slip-up before the competent do a review to determine what went wrong, why, and fix it. So, no more insane computer breaches. No more trainees, however smart they are, being given full admin privileges to production (just because their mom once slept with the Captain/CEO, oh, shut up, she did too). We&#8217;re going to start running backups. We&#8217;re going to test them. We&#8217;ll keep an owner&#8217;s manual around. We&#8217;ll put new programs through a thorough test environment before we plug them into the ship and wind up flying to the far side of the universe (oops, sorry). We&#8217;ll keep an original copy of the OS somewhere we can get at it because clearly, the 24th century has more viruses flying around than most free porn sites. We&#8217;ll start doing reviews of the ever-lovin engineering staff so that maybe, just maybe, we can make it so the holodeck can&#8217;t do ANYTHING to the rest of the ship, EVER. And if we can&#8217;t do that, great, we&#8217;re getting a squash-ball court or something where the holodeck used to be and I&#8217;m ejecting that thing out the nearest airlock (because I wouldn&#8217;t trust the thrice-damned transporter to move it successfully off the ship without beaming it inside someone&#8217;s head, to another dimension, or creating an evil holodeck with a cool beard).</p>
<p>The 24th century knows more about the evils of the 20th than most of us knows about the evils of the 15th (Crusades &amp; Burning Times for those who aren&#8217;t history nerds) but somehow, all we can get are hectoring lectures about how morally backward we all are. Well, I&#8217;m here to tell you, maybe we are morally backward, but I sure as heck could revamp your IT department and turn the Federation into a force to be reckoned with, because you don&#8217;t want to get me started on just how bad the competing organizations IT work seems to be.</p>
<p>Rant over, I feel a little better. Oh, but if your IT department resembles the one on Star Trek, time to get to work.</p>
<p>I&#8217;m going to go watch Babylon 5.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/ZC9JPJzZjJ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/03/18/star-trek-and-the-death-of-it/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/03/18/star-trek-and-the-death-of-it/</feedburner:origLink></item>
		<item>
		<title>Time to Chat</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/d1SE9IwwO14/</link>
		<comments>http://www.scarydba.com/2013/03/11/time-to-chat/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 12:45:06 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Red Gate Software]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[travelling]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2344</guid>
		<description><![CDATA[The greatest part of my job is that I get to travel all over the world to present different technical sessions. But, it&#8217;s not the presentations that make it cool. It&#8217;s the fact that I get to meet people. I get a chance to hang out with my #sqlfamily. I get a chance to make [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/03/11/time-to-chat/", "Time to Chat" );
		</script></span><p>The greatest part of my job is that I get to travel all over the world to present different technical sessions. But, it&#8217;s not the presentations that make it cool. It&#8217;s the fact that I get to meet people. I get a chance to hang out with my #sqlfamily. I get a chance to make new friendships. Those contacts are amazing. I love the opportunity to sit down and talk to people about what they&#8217;re doing with technology, the challenges they face, what&#8217;s common with my own experience, what&#8217;s different. From all that, I get a chance to grow and learn. Sometimes I even get the chance to help people.</p>
<p>I&#8217;m going to be all over the place between now and June. I&#8217;d love to get the opportunity to talk with you. If you&#8217;d like the same, check out one of these spots.</p>
<p>In just three weeks time, April 6 2013, I&#8217;ll be at the <a href="http://www.sqlsaturday.com/203/eventhome.aspx">Boston SQL Saturday</a> event. I think they&#8217;re full on registrations, but you can always get on the waiting list.</p>
<p>Right after that, April 8-11 2013, I&#8217;ll be at a new event, <a href="http://www.sqlintersection.com/">SQL Intersection</a>, in Las Vegas. This one is looking like an event you don&#8217;t want to miss. Some of the smartest and most helpful people I know will be there. That list includes, but isn&#8217;t limited to, Paul Randal, Joe Sack, Paul White, Kim Tripp. If that&#8217;s not enough incentive to get you there, then allow me to add a little more. If you register for the show package, you get a Microsoft Surface tablet. All right, let me sweeten the pot just a little, register with my code: &#8216;Fritc&#8217;, and you get $50 off. This is going to be one heck of a great event with the chance to learn from and network with some truly amazing people. And I&#8217;ll be there too. Don&#8217;t miss this. <a href="https://www.devintersection.com/shows/april13/register.aspx?s=2">Register now</a> and use my code, &#8216;Fritc&#8217;.</p>
<p>Don&#8217;t want to go to Vegas? Live on the other side of the pond somewhere in Europe. Fine. I&#8217;m on my way over there too. The first time this year will be at SQLBits in Nottingham, UK. It&#8217;s my first time at <a href="http://sqlbits.com/">SQLBits</a> and I&#8217;m really looking forward to it. That&#8217;s May 2-4 2013. I&#8217;m speaking on Saturday, but I&#8217;ll be there Friday too. Let&#8217;s talk.</p>
<p>After that, we&#8217;re back to this side of the pond and my side of the continent to <a href="http://www.sqlsaturday.com/209/eventhome.aspx">SQL Saturday Rochester</a>, May 11 2013. It was a simply amazing event last year, so I don&#8217;t think you want to miss it this year. If you&#8217;re anywhere close to the area, get registered. There are great people lining up to speak at this one. You will be happy you visited.</p>
<p>Then we&#8217;re going way down South to New Orleans for <a href="http://northamerica.msteched.com/#fbid=B0jVnc-HYXW">TechEd North America 2013</a>. That&#8217;s June 3-6. But, before all the fun of TechEd really gets going, I&#8217;m helping Thomas LaRock and Dandy Weyn put on a pre-conference, all day long, seminar on <a href="http://northamerica.msteched.com/PreCons#fbid=B0jVnc-HYXW">How to be a Successful DBA in the Changing World of Cloud and On-Premises Data</a> on June 2. This is going to be one heck of a great session. If you&#8217;re at all wondering what the fuss is about with all this Azure stuff, come to this event and we will absolutely let you know why you should be adding this tool to your toolbox and we&#8217;ll show you how. Remember, you don&#8217;t want to move everything you have to the cloud, you want to learn how to mix this in at the right points with your existing infrastructure in order to maximise the opportunities of both environments. <a href="http://northamerica.msteched.com/Registration#fbid=B0jVnc-HYXW">Register here</a> for this amazing opportunity. And then I&#8217;ll presenting during the rest of TechEd. Track me down in the teaming hords and say hello.</p>
<p>Then we&#8217;re going back across the Atlantic again. June 21st I&#8217;m going to have the great privilege to once again speak to you in London at <a href="http://red-gate.com">Red Gate&#8217;s</a> own <a href="http://sqlinthecity.red-gate.com/">SQL in the City</a> event. I love that my company puts one one of the great events of the year. If you haven&#8217;t been to one yet, you need to find your way to this one. It&#8217;s going to be worth your time and trouble, guaranteed. Registration opens on March 21st.</p>
<p>Since I&#8217;m already over there, I guess I meander south to take part in <a href="http://europe.msteched.com/#fbid=sWfgIFXOgMR">TechEd Europe</a>. This will be in Madrid, Spain, June 25-28. I&#8217;ll be presenting the same sessions as New Orleans. Register now to get early bird savings. They expire really soon. Tom, Dandy and I are working hard on putting together the best information and the best presentation. You&#8217;re going to love it and learn from it.</p>
<p>Boston, Las Vegas, Nottingham, Rochester, New Orleans, London, Madrid. Guys, I&#8217;m trying hard to get within reach of as many of you as I can. Find your way to an event and let&#8217;s have a chat.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/d1SE9IwwO14" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/03/11/time-to-chat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/03/11/time-to-chat/</feedburner:origLink></item>
		<item>
		<title>Pro SQL Server 2012 Practices: Chapter 17</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/5bTr_mih8Wc/</link>
		<comments>http://www.scarydba.com/2013/03/04/pro-sql-server-2012-practices-chapter-17/#comments</comments>
		<pubDate>Mon, 04 Mar 2013 13:50:32 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[HDInsight]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[hdinsight]]></category>
		<category><![CDATA[pro sql server 2012 practices]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2340</guid>
		<description><![CDATA[I jumped at the opportunity to write a chapter for this book, Pro SQL Server 2012 Practices, because of all the fantastic people writing and the topics that were covered. I reviewed Chapter 12 a few weeks ago and I&#8217;ve been meaning to get this chapter, Big Data for the SQL Server DBA, read &#38; [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/03/04/pro-sql-server-2012-practices-chapter-17/", "Pro SQL Server 2012 Practices: Chapter 17" );
		</script></span><p><a href="http://www.scarydba.com/wp-content/uploads/2013/01/A9781430247708-3d_1.png"><img class="alignright size-thumbnail wp-image-2308" alt="A9781430247708-3d_1" src="http://www.scarydba.com/wp-content/uploads/2013/01/A9781430247708-3d_1-150x150.png" width="150" height="150" /></a>I jumped at the opportunity to write a chapter for this book, <a href="http://www.amazon.com/gp/product/B00A26MEYW/ref=as_li_ss_tl?ie=UTF8&amp;tag=chaosinmoti00-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00A26MEYW">Pro SQL Server 2012 Practices</a>, because of all the fantastic people writing and the topics that were covered. I reviewed <a href="http://www.scarydba.com/2013/01/21/pro-sql-server-2012-practices-chapter-12/">Chapter 12 a few weeks ago</a> and I&#8217;ve been meaning to get this chapter, Big Data for the SQL Server DBA, read &amp; reviewed but I&#8217;ve just been sidetracked. I finally noticed it on my Trello board, weeks out of date, and decided to finally get the job done.</p>
<p>Carlos Bossy (<a href="http://carlosbossy.wordpress.com/">b</a>|<a href="http://twitter.com/carlosbossy">t</a>) is a great guy and a part of my <a href="http://thomaslarock.com/sql-family/">SQL Family</a>. We run into each other all the time at SQL Saturday&#8217;s and other events. I&#8217;ve never listened to him present before, and now, after reading his chapter in the book, I&#8217;m very sorry. I&#8217;ll fix that at my first opportunity.</p>
<p>Carlos starts off nicely, getting a reasonable definition of &#8220;big data.&#8221; It&#8217;s not merely about size, although that has to play a part. He breaks it down to the three &#8220;Vs&#8221; volume, variety and velocity. It makes sense. Just having a big database is not the same thing as dealing with big data. He takes the time to differentiate between the structures of a relational system, that work just fine, and the needs of big data, which just don&#8217;t fit well in relational storage. It&#8217;s as clear a delineation as I&#8217;ve seen on this topic.</p>
<p>The big data management system that Carlos then focuses on is Hadoop. Which makes sense again. If you&#8217;re already working within the Microsoft stack, they&#8217;re moving on Hadoop with the HDInsight servers and stuff on Azure. So learning how the Hadoop File System (HDFS) and MapReduce work together to provide you with massive data movement and storage keeps you within the set of tools with which you&#8217;re already familiar (although there is a ton of learning to do here). Carlos covers MapReduce in quite a lot of detail because it really is the driving force behind Hadoop and how you&#8217;re going to get your big data into the system. He covers the topic by explaining in general terms how things will work, then walks you through an example with additional detail and then walks you through another example with a lot more detail. The accumulative effect works well. The core concepts generally start to stick.</p>
<p>I really like how Carlos addresses the technology from a business solution perspective. It&#8217;s not that any one technology is a glorious thing, let&#8217;s go use it. It&#8217;s that certain business problems require certain tools in order to solve them most efficiently. He makes an excellent case for DBAs understanding technologies like Hadoop in order to implement them where they are appropriate. It&#8217;s the kind of arguments I&#8217;ve always tried to support. The concepts for management of big data are both simple and really complex and Carlos attacks them both in order to educate. I&#8217;ve learned a lot from reading this chapter.</p>
<p>He then walks through different aspects of the type of work you&#8217;ll need to support as a DBA using a Hadoop server. There&#8217;s going to be some pretty major work around import/export of the data, into and out of Hadoop yes, but into and out of other types of storage, such as good old fashioned relational SQL Server, data warehouses, cubes, and Excel/Sharepoint. Carlos takes us through a detailed examination of the primary tool for this function within the HDInsight/Hadoop infrastructure in Azure, squoop. It&#8217;s a great way to learn how this stuff works.</p>
<p>Finally, Carlos goes over some pieces of the future of big data, again focusing primarily on the Microsoft/SQL Server stack and how it relates to Hadoop, but also SSRS and all the tools with which you&#8217;re already familiar.</p>
<p>Overall, it&#8217;s a great chapter. It&#8217;s very solid introduction to a topic that I&#8217;m just starting to really wrestle with myself, so I&#8217;m happy to have it as a reference.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/5bTr_mih8Wc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/03/04/pro-sql-server-2012-practices-chapter-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/03/04/pro-sql-server-2012-practices-chapter-17/</feedburner:origLink></item>
		<item>
		<title>It Is Your Fault</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/_Hdva3Lui4k/</link>
		<comments>http://www.scarydba.com/2013/02/27/it-is-your-fault/#comments</comments>
		<pubDate>Wed, 27 Feb 2013 15:56:26 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[No Excuses]]></category>
		<category><![CDATA[NoDBA]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2339</guid>
		<description><![CDATA[I earned my nickname. I&#8217;m proud of it. I am the Scary DBA. I don&#8217;t really like to advertise my other nickname, Rant (get it, Grant shortened to another word). I earned that one too. I&#8217;m not proud of it at all. I got that one because I sometimes don&#8217;t listen as much as I [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/02/27/it-is-your-fault/", "It Is Your Fault" );
		</script></span><p>I earned my nickname. I&#8217;m proud of it. I am the Scary DBA. I don&#8217;t really like to advertise my other nickname, Rant (get it, Grant shortened to another word). I earned that one too. I&#8217;m not proud of it at all. I got that one because I sometimes don&#8217;t listen as much as I should and, because I tend to be more than a little passionate about my job and my databases, I would go off on a rant. And yeah, I stood in the way of some development processes and approaches that I shouldn&#8217;t have. Instead of facilitating the development team and trying to understand their problems and issues, I just said &#8220;No.&#8221; Usually at length.</p>
<p>I just finished <a href="http://martinfowler.com/bliki/NoDBA.html">reading this post from Martin Fowler</a>, whose work I&#8217;ve  enjoyed, about what he&#8217;s calling the NoDBA movement. It&#8217;s not so much a &#8220;movement&#8221; as it&#8217;s a by-product of the NoSQL movement, ORM tools, and other developer-centric/code-centric approaches to managing data. Some of these are natural, and appropriate, rejections of the relational storage engine. Let&#8217;s face it, it doesn&#8217;t work very well at all for some types of data collection. You should be using &#8220;pick your favorite&#8221; NoSQL storage engine for some types of code. But, there are two problems here. The first, Mr. Fowler mentions in passing, just because there are places where NoSQL works well doesn&#8217;t mean it works well in all places. Humans very much tend to fall into a mode where &#8220;I have a beautiful hammer. Look at all the lovely nails&#8221; becomes how we work. There are nails that need that NoSQL hammer, but there are screws and bolts and other types of fasteners out there that using the NoSQL hammer on will not work terribly well. Same as if you have a big data hammer or a structured storage hammer or a relational storage hammer or an object storage hammer or whatever kind of hammer you are currently enamored with. I am not casting aspersions on your very fine hammer to suggest that it&#8217;s probably not going to be efficient at pounding in screws. And, I&#8217;m telling you flat out, your ID value pair data collection engine which is great for pulling in &#8220;web scale&#8221; data is going to blow serious chunks when it comes to business reporting. It just will. That&#8217;s not questioning it&#8217;s utility for data collection, but just as the hammer-to-screw mechanism doesn&#8217;t work well, the collection-to-reporting mechanism doesn&#8217;t work well either.</p>
<p>The second thing that Mr. Fowler mentions is the social aspects of what&#8217;s going on here. It&#8217;s &#8220;Rant&#8221; that is causing the developer to try to find a way around the DBA team. In short, it&#8217;s my fault. It&#8217;s your fault. We have not been listening. We have not been communicating. We&#8217;ve been at war. And that&#8217;s just stupid. There are very sound, technical reasons for using an ORM. Standing in front of your developers with a furrowed brow and your arms crossed saying &#8220;no&#8221; without a full understanding of those reasons just gets you kicked out of the room. Then, of course, the development team goes off and makes some of the classic implementation errors that can be done with ORM tools. But, because you weren&#8217;t in the room because you became &#8220;Rant&#8221; instead of trying to engage and understand, those errors grew and were standardized within the app. It&#8217;s your fault. When the developers proposed changes to the structures of the database under development, instead of whining that it was going to take time and that they needed to fill out paperwork and get approval from fifty people, you could have listened and understood what they were proposing and why and then you could have either done the work, or showed them a better way to do the work, or proposed a different solution, or even suggested that maybe they&#8217;d be better off with a NoSQL solution. Instead, you became &#8220;Rant&#8221; and they bypassed you. That&#8217;s your fault too.</p>
<p>Now, the really fun part is, that even though you&#8217;ve been bypassed, in most organizations I&#8217;ve been in or worked with, inevitably the data has to be reported on and it has to be backed up and it has to go through a DR process. Then, suddenly, you get handed the mess. And it is a mess because no one even thought about reporting on the data collected or backups or the ability to get the site back on it&#8217;s feet in the event of a fire/flood/meteor strike. And this is not the mess that those nasty developers created. Oh no. It&#8217;s the mess you, &#8220;Rant,&#8221; created. Fault yours.</p>
<p>Yes, I&#8217;m off on a tear, a rant. Initially because after reading what Mr. Fowler wrote I was quite upset with him and his attitude. Then I recognized that at least half the problem lay at my own feet. And while I hope, to some degree, I&#8217;ve learned some lessons from being &#8220;Rant&#8221; a little too often, I feel I&#8217;m still seeing way too much of &#8220;Rant&#8221; in my peers. I see the outright rejection of Azure SQL Database. I see the scoffing at HDInsight. I watch people trying to block the adoption of ORM tools. I see data professionals unwilling to engage with their development teams in areas like source control, continuous integration, testing, agile processes, new deployment processes and more. All this is hurting our ability to influence, in a positive manner, the products delivered by development teams. Further, it&#8217;s hurting the businesses that we, data pro&#8217;s and developers alike, are supposed to support. Yes, the development teams are going to need to meet us halfway on this stuff, but I don&#8217;t see why we can&#8217;t be the first ones to offer a hand, to acknowledge our past misdeeds, to stop being &#8220;Rant&#8221; and get out there and help the people and the businesses we support. If you don&#8217;t, it&#8217;s your fault.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/_Hdva3Lui4k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/02/27/it-is-your-fault/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/02/27/it-is-your-fault/</feedburner:origLink></item>
		<item>
		<title>SQL Saturday #187 Richmond And More</title>
		<link>http://feedproxy.google.com/~r/HomeOfTheScaryDba/~3/BZxJgmveh4c/</link>
		<comments>http://www.scarydba.com/2013/02/25/sql-saturday-187-richmond-and-more/#comments</comments>
		<pubDate>Mon, 25 Feb 2013 13:45:41 +0000</pubDate>
		<dc:creator>Grant Fritchey</dc:creator>
				<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Red Gate Software]]></category>
		<category><![CDATA[instruction]]></category>
		<category><![CDATA[red gate]]></category>
		<category><![CDATA[sql saturday]]></category>
		<category><![CDATA[sql saturday #187]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://www.scarydba.com/?p=2338</guid>
		<description><![CDATA[In just a couple of weeks I&#8217;ll be flying down to Richmond, VA to speak at SQL Saturday #187. I&#8217;ll be presenting two topics, Backups for the Accidental DBA and Query Tuning in the Clouds. It&#8217;s going to be a great event with a bunch of excellent speakers. If you&#8217;re in the area, come on [...]]]></description>
				<content:encoded><![CDATA[<span class="pocket_read_it_later"><script type="text/javascript">
			RIL_button( "http://www.scarydba.com/2013/02/25/sql-saturday-187-richmond-and-more/", "SQL Saturday #187 Richmond And More" );
		</script></span><p>In just a couple of weeks I&#8217;ll be flying down to Richmond, VA to speak at SQL Saturday #187. I&#8217;ll be presenting two topics, Backups for the Accidental DBA and Query Tuning in the Clouds. It&#8217;s going to be a great event with a <a href="http://www.sqlsaturday.com/187/schedule.aspx">bunch of excellent speakers</a>. If you&#8217;re in the area, come on down and say hello.</p>
<p>And, if you have some time on Friday before the event, Red Gate Software is hosting a <a href="http://www.sqlservercentral.com/articles/Events/97155/">special 1/2 day seminar</a> targeting the database professional just getting started with their career. There are only a few seats left, so if you&#8217;re interested, sign up quick. Steve Jones and I will be presenting on several topics from monitoring to backups, database corruption and indexing. It&#8217;ll be great way to learn, network, see some Red Gate Software and then share a tasty beverage afterwards. Instruction and networking the Red Gate way.</p>
<img src="http://feeds.feedburner.com/~r/HomeOfTheScaryDba/~4/BZxJgmveh4c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scarydba.com/2013/02/25/sql-saturday-187-richmond-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.scarydba.com/2013/02/25/sql-saturday-187-richmond-and-more/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.728 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-18 18:53:47 --><!-- Compression = gzip -->
