<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Thu, 23 Feb 2012 08:07:57 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>English To SQL</title><subtitle>English To SQL - Blog</subtitle><id>http://www.englishtosql.com/english-to-sql-blog/</id><link rel="alternate" type="application/xhtml+xml" href="http://www.englishtosql.com/english-to-sql-blog/"/><link rel="self" type="application/atom+xml" href="http://www.englishtosql.com/english-to-sql-blog/atom.xml"/><updated>2012-01-03T16:27:32Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.11.81 (http://www.squarespace.com/)">Squarespace</generator><entry><title>MSDTC Failing In A Cluster</title><id>http://www.englishtosql.com/english-to-sql-blog/2011/6/16/msdtc-failing-in-a-cluster.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/6/16/msdtc-failing-in-a-cluster.html"/><author><name>Nic</name></author><published>2011-06-16T12:30:10Z</published><updated>2011-06-16T12:30:10Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>I&rsquo;m <span style="text-decoration: line-through;">merrily</span> working away on installing SQL 2008R2 on a bunch of new clusters. The SQL installs have gone fine and I&rsquo;m getting set to install MSDTC, one for each SQL instance (<em><a href="http://blogs.msdn.com/b/cindygross/archive/2009/02/22/how-to-configure-dtc-for-sql-server-in-a-windows-2008-cluster.aspx" target="_blank">read the awesome post by Cindy Gross on this</a></em>).</p>
<p>The install of MSDTC went smoothly and it seemed very happy. Then I failed over the cluster&hellip;</p>
<p>MSDTC failed.</p>
<p>It wouldn&rsquo;t restart.</p>
<p>I failed back to the original node and it wouldn&rsquo;t start there either.</p>
<p>&nbsp;</p>
<h4>What&rsquo;s the error?</h4>
<p>I dumped the last few minutes of the cluster log by opening a <span style="text-decoration: line-through;">dos box</span> command prompt and running&hellip;</p>
<blockquote>
<p>cluster log /gen /span:5</p>
</blockquote>
<p>This dumps the last five minutes of cluster logs into C:\Windows\Cluster\cluster.log</p>
<p>I scrolled through to get to the MSDTC error piece:</p>
<blockquote>
<p>INFO&nbsp; [RES] Physical Disk: Failed to get vol MP root for path \\?, status 123      <br />ERR&nbsp;&nbsp; [RHS] Error 123 from ResourceControl for resource &lt;instance&gt;_MSDTC.       <br />WARN&nbsp; [RCM] ResourceControl(STORAGE_IS_PATH_VALID) to &lt;instance&gt;_MSDTC returned 123.</p>
</blockquote>
<p>&nbsp;</p>
<p><em><strong><a href="http://sirsql.net/blog/2011/6/16/msdtc-failing-in-a-cluster.html">read the rest on my sirsql.net blog</a></strong></em></p>]]></content></entry><entry><title>T-SQL Tuesday #19–What A Disaster</title><id>http://www.englishtosql.com/english-to-sql-blog/2011/6/14/t-sql-tuesday-19what-a-disaster.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/6/14/t-sql-tuesday-19what-a-disaster.html"/><author><name>Nic</name></author><published>2011-06-14T12:30:10Z</published><updated>2011-06-14T12:30:10Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Allen Kinsel (<a href="http://www.allenkinsel.com/" target="_blank">blog</a>|<a href="http://www.twitter.com/sqlinsaneo" target="_blank">twitter</a>) is running this months T-SQL Tuesday and <a href="http://www.allenkinsel.com/archive/2011/06/invitation-for-t-sql-tuesday-19-disasters-recovery/" target="_blank"><img style="display: inline; float: right;" src="http://sirsql.squarespace.com/storage/TSQL2sDay150x150.jpg" alt="" align="right" /></a>wanted to know about preparing or recovering from a disaster. I thought this might be a good opportunity to tell a little story of how a disaster sucked up around three weeks of my life a couple of years ago.</p>
<p>&nbsp;</p>
<p>It was a normal day, I was sitting and quietly going through a small staging release when my director asked me to come into his office. Instantly I started wondering &ldquo;what did I do?&rdquo;</p>
<p>Not being able to come up with anything egregious I settled down the stomach gurgles and went wandering in. That I walked in and was offered a seat I got nervous again, this was not a good sign with this director. Now I was really curious as to what could be up.</p>
<h4>&nbsp;</h4>
<p><em><a href="http://sirsql.net/blog/2011/6/14/t-sql-tuesday-19what-a-disaster.html"><strong>Read the rest over at my new sirsql.net blog</strong></a></em></p>]]></content></entry><entry><title>Speakers Third Rule</title><id>http://www.englishtosql.com/english-to-sql-blog/2011/6/13/speakers-third-rule.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/6/13/speakers-third-rule.html"/><author><name>Nic</name></author><published>2011-06-13T12:30:22Z</published><updated>2011-06-13T12:30:22Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>You&rsquo;ve mastered the first rule and have submitted a session to present at a SQLSaturday, local user group or at your office, excellent. Your presentation is written, all the details are there&hellip;slides, demos and you&rsquo;ve got your patter. You&rsquo;ve followed the second rule and the presentation is all you. What&rsquo;s next?</p>
<p>&nbsp;</p>
<p><strong><em><a href="http://sirsql.net/blog/2011/6/13/speakers-third-rule.html">Read the rest over at my sirsql.net blog</a></em></strong></p>]]></content></entry><entry><title>Speakers Second Rule</title><category term="presenting"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/6/10/speakers-second-rule.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/6/10/speakers-second-rule.html"/><author><name>Nic</name></author><published>2011-06-10T12:30:22Z</published><updated>2011-06-10T12:30:22Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>After writing a post for <em><a href="http://sirsql.net/blog/2011/6/8/un-sql-friday-004speakers-first-rule.html" target="_blank">Un-SQL Friday on the first rule of speaking</a></em> I decided that it would make quite a good series of posts, so here&rsquo;s my second rule of speaking:</p>
<p>&nbsp;</p>
<p><em><a href="http://sirsql.net/blog/2011/6/10/speakers-second-rule.html">Read the rest over at my new sirsql.net blog</a></em></p>]]></content></entry><entry><title>Un-SQL Friday #004–Speakers First Rule</title><category term="Presenting"/><category term="UnSQL Friday"/><category term="presenting"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/6/8/un-sql-friday-004speakers-first-rule.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/6/8/un-sql-friday-004speakers-first-rule.html"/><author><name>Nic</name></author><published>2011-06-08T12:30:02Z</published><updated>2011-06-08T12:30:02Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p><a href="http://sirsql.squarespace.com/storage/UNSQL.png" target="_blank"><img style="display: inline; float: right;" src="http://sirsql.squarespace.com/storage/UNSQL.png" alt="" align="right" /></a>I may be a day late and a dollar short for<em> <a href="http://www.midnightdba.com/Jen/2011/06/un-sql-friday-speaker-lessons-learned/" target="_blank">Un-SQL Friday #004: Speaker Lessons Learned</a></em> but still felt I had something to share.</p>
<p>One of my favorite book series is <em><a href="http://en.wikipedia.org/wiki/The_Sword_of_Truth" target="_blank">The Sword of Truth</a></em> by <em><a href="http://www.terrygoodkind.com" target="_blank">Terry Goodkind</a></em>. The first of the 11 book series is called <a href="http://amzn.com/0765362643" target="_blank"><em>Wizards First Rule</em></a><em>. </em>It&rsquo;s one of those oft rehashed tales of someone ordinary who turns out to be anything but. One of the things passed along was the first of a series of rules about magic. It made me think of speaking and the rules around that.</p>
<p>There are numerous rules (sure, you could call them guidelines or pieces of advice but we&rsquo;re playing semantics here so go with it).</p>
<p>&nbsp;</p>
<p><em><a href="http://sirsql.net/blog/2011/6/8/un-sql-friday-004speakers-first-rule.html">...read the rest over at sirsql.net</a></em></p>]]></content></entry><entry><title>Be Careful Installing Windows Features</title><category term="Installing"/><category term="SQL"/><category term="SQL"/><category term="Windows"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/5/26/be-careful-installing-windows-features.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/5/26/be-careful-installing-windows-features.html"/><author><name>Nic</name></author><published>2011-05-26T12:30:01Z</published><updated>2011-05-26T12:30:01Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Did you know that installing certain Windows features could impact the way that SQL gets installed on your server? Me either.</p>
<p>When performing some installs recently I came across a problem whereby I was not able to change the shared tools location. The option was greyed out. This didn&rsquo;t make any sense to me. The install was happening on a new server, there had been no previous SQL installs on the machine and so no problems with installed components preventing those kinds of problems.</p>
<p><img src="http://englishtosql.squarespace.com/storage/Cannot%20Change%20Shared%20Location.png" alt="" width="610" height="115" /></p>
<p>&nbsp;</p>
<p>Digging through the filesystem I found a C:\Program Files\Microsoft SQL Server folder. That didn&rsquo;t make any sense to me at all, I&rsquo;d not installed anything.</p>
<p>I could not even find anything that might be using this folder when looking through the installed software and yet I couldn&rsquo;t delete the folder as there were files in use.</p>
<p>After much head scratching I finally found the problem.</p>
<p>&nbsp;</p>
<p>I had installed the <em>Windows System Resource Manager</em> feature to help manage resources, which is very useful when running more than one instance of SQL on a machine, or if you have multiple software installs and want to keep control of your CPU and memory. This feature uses (and so automatically installs) another feature called the <em>Windows Internal Database </em>which it says is a relational data store.</p>
<p><img src="http://englishtosql.squarespace.com/storage/WindowsFeatures.png" alt="" width="702" height="517" /></p>
<p>&nbsp;</p>
<p>By the looks of things the <em>Windows Internal Database</em> is based around the SQL 2005 engine, this gets installed into C:\Program Files\Microsoft SQL Server.</p>
<p>When performing the new SQL install it went out and identified that SQL components were already installed and forced installation of the shared tools into that same location.</p>
<p>&nbsp;</p>
<p>After removing the <em>Windows System Resource Manager </em>and <em>Windows Internal Database</em> features I was able to move the shared tools install to another location.</p>
<p>Be very aware of what features and roles might be install on your machines, it might bite you when you least expect it.</p>]]></content></entry><entry><title>How To Interview–A Quick Guide</title><category term="interviewing"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/5/24/how-to-interviewa-quick-guide.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/5/24/how-to-interviewa-quick-guide.html"/><author><name>Nic</name></author><published>2011-05-24T12:30:03Z</published><updated>2011-05-24T12:30:03Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>This post was originally going to be called &ldquo;<em>Interview Dos and Don&rsquo;ts</em>&rdquo; but I didn&rsquo;t want it to get confused with interviewing on DOS, or to start a grammar war on the use of <em>Do&rsquo;s </em>or <em>Dos</em>.</p>
<p>I had the chance to interview a couple of candidates for a senior developer position today. Each one of the interviewees had greater than 12 years experience in developing for SQL Server. Each one of the interviewees had different styles in the interview process.</p>
<p>Rather than focus on specific questions and answers in this post I actually want to look at how each candidate handled themselves in general and in response to questions. All the interviews here were performed by our DBA team of three people.</p>
<p>&nbsp;</p>
<h4>Candidate 1</h4>
<p>The first interviewee had a great deal of experience and was already seated when we walked in the room. Rather than stand and greet everyone the candidate stayed in his chair and just reached out his hand. Not a good start.</p>
<p>I figure that everyone has a quick 30 second <em>&ldquo;this is what I can do&rdquo;</em> spiel, and so that was the first thing asked. In that situation I would expect someone to give a very brief overview of their knowledge and experience. For some unknown reason this person decided to give a life biography in a rather condescending manner.</p>
<p>Technical questions followed. Each one of those was met with the kind of attitude that indicated <em>&ldquo;I&rsquo;m better than you&rdquo;</em>. Many of the answers were wrong. When asking for clarification on answers we were frequently met with a wave of the hand and <em>&ldquo;I don&rsquo;t really know&rdquo;.</em></p>
<p>At one point a question was asked and the follow up used some obvious logic to disprove the original answer. At this point I would expect the candidate to change one of the answers. They didn&rsquo;t. A new and third answer appeared that completely (apparently) disproved the logic. Pretty stunning.</p>
<p>After what was an all too long period of interviewing this person, we let them go and moved on to the next person.</p>
<p>&nbsp;</p>
<h4>Candidate 2</h4>
<p>Our second <span style="text-decoration: line-through;">victim</span> interviewee immediately stood and greeted us when we walked in. He had a nervous smile on his face as he shook hands and introduced himself.</p>
<p>The elevator pitch went ok and there was none of the obnoxious behavior the first candidate. Then we started in on the tech questions and things started going a little sour.</p>
<p>I can understand folks getting a little nervous when interviewing but this candidate seemed to go to pieces. <img style="display: inline; float: right;" src="http://sirsql.squarespace.com/storage/post-images/howtointerview/DontCry.jpg" alt="" width="99" height="132" align="right" />Questions were frequently answered with <em>&ldquo;I know this, but I can&rsquo;t remember&rdquo;</em> and a panicked look. With this person being so obviously flustered we tried to get them back on track by throwing over a couple of softball questions. At this point I think we&rsquo;d lost the candidate entirely and brain panic took over.</p>
<p>At the end of the interview he almost seemed on the verge of tears and it seemed to us that he started trying to play the emotional angle to try and have us feel sorry for him in an effort to have us walk away with a good impression.</p>
<p>We&rsquo;re DBAs, empathy is bred out of us so this didn&rsquo;t work.</p>
<p>&nbsp;</p>
<h4>Candidate 3</h4>
<p>The final candidate greeted us with a warm friendly smile as he stood, shook everyone&rsquo;s hand and introduced himself. He repeated back out names to be sure that he had heard them correctly and settled into his seat.</p>
<p>The elevator pitch was spot on. We got a very quick overview of his skills and what he&rsquo;d been working on recently.</p>
<p>When we started in on the technical questions he gave obvious consideration of what we were asking, looked for clarifying points for some things and provided concise answers. By no means was he able to answer each and every question, however when he did not know he was quick to admit as such, provide what he felt would be the answer and a pointer to where he would look for a definitive answer.</p>
<p>This prompted a question around community involvement in which he mentioned that he liked to attend events like SQLSaturday and read blogs. When asked about favorite blogs he was able to provide a few and name the sessions and speakers from the most recent local SQLSat event. This was a huge plus as this candidate obviously enjoys working with SQL Server enough to spend time and effort outside to increase his knowledge outside of regular work activities.</p>
<p>When a couple of questions were answered incorrectly and we questioned the responses we were met with a genuine interest in getting the correct information and were able to build conversation around those items.</p>
<p>We were sad when time was up and we had a great time sitting and interviewing this person.</p>
<p>&nbsp;</p>
<h4>So which one would you choose?</h4>
<p>If you were an interviewer, technical responses aside, which one of these candidates would be at the top of your list?</p>
<p>Captain Obnoxious?    <br />Nervously Tearful?     <br />Quietly Comfortable?</p>
<p>I know which one was at the top of ours.</p>]]></content></entry><entry><title>Central Auditing Of SQL Permissions Scripts</title><category term="Powershell"/><category term="Presenting"/><category term="SQL"/><category term="SQL"/><category term="powershell"/><category term="presenting"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/5/19/central-auditing-of-sql-permissions-scripts.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/5/19/central-auditing-of-sql-permissions-scripts.html"/><author><name>Nic</name></author><published>2011-05-19T12:30:22Z</published><updated>2011-05-19T12:30:22Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Yesterday I gave a presentation for the PASS PowerShell Virtual Chapter on central auditing of SQL permissions with PowerShell and TSQL. For those that attended feel free to <a href="http://englishtosql.squarespace.com/storage/PASS%20PS%20VC%20-%20Permissions%20on%20Servers.zip">download the scripts</a> I used in my presentation. For those that didn&rsquo;t&hellip;well you can still <a href="http://englishtosql.squarespace.com/storage/PASS%20PS%20VC%20-%20Permissions%20on%20Servers.zip">download</a> them but this picture may not apply to you&hellip;</p>
<p><span class="full-image-inline ssNonEditable"><span><a href="http://whosawesome.com/" target="_blank"><img src="http://englishtosql.com/resource/Windows-Live-Writer-bcc3d2c28a03_10D79-?fileId=12289343&amp;__SQUARESPACE_CACHEVERSION=1305771824632" alt="" /></a></span><span class="thumbnail-caption" style="width: 473px;">Image from whosawesome.com</span></span></p>]]></content></entry><entry><title>Don’t Shrink TempDB!</title><category term="SQL"/><category term="SQL"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/5/18/dont-shrink-tempdb.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/5/18/dont-shrink-tempdb.html"/><author><name>Nic</name></author><published>2011-05-18T12:30:16Z</published><updated>2011-05-18T12:30:16Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>As a general practice don&rsquo;t shrink any databases. Every once in a while there is a need to do so. I had one of those needs today.</p>
<p>&nbsp;</p>
<h4>My disk is full</h4>
<p>Thanks to a cumulative effect of a misconfigured SQL install, incorrect location of TempDB and the server pagefile combined with a user running a huge query joining 20+ tables with no where clause we had a drive run out of disk space. Unfortunately this caused another process to break which needed to grow the transaction log on another database.</p>
<p>I contacted the business owner immediately explaining how we needed to move TempDB to another drive and restart SQL (in fact I&rsquo;d already performed the alter statement to move TempDB off to it&rsquo;s own LUN where it should have been all along). The business owner stated that we could not restart SQL until after the evening so we were left in a situation where certain things were failing.</p>
<p>&nbsp;</p>
<h4>Why not shrink TempDB?</h4>
<p>That was my feeling. TempDB was 18GB larger than it had ever needed to be so I figured I could just shrink the data file (there was just one) and reclaim 50% of the difference to keep things chugging along until the restart. I attempted to perform the shrink on the file and it did nothing. I checked TempDB and nothing was using it, but still the shrink failed.</p>
<p>Interesting problem. Argenis Fernandez (<a href="http://www.sqlps.com/blog/" target="_blank">blog</a>|<a href="https://twitter.com/afernandez" target="_blank">twitter</a>) just joined my team and he came over to try and help. He suggested running DBCC FREEPROCCACHE and DBCC DROPCLEANBUFFERS given that the user impact would be minimal given the servers usage patterns.&nbsp;</p>
<p>After running the DBCC commands I was able to perform the shrink, clean up the space and keep everything running.</p>
<p>&nbsp;</p>
<h4>Corruption &ndash; that&rsquo;s why</h4>
<p>Curious as to why running those DBCC commands allowed me to shrink the file I posted to #sqlhelp on Twitter asking why.</p>
<p>Pretty much immediately I got a reply from Paul Randal (<a href="http://www.SQLskills.com/blogs/paul" target="_blank">blog</a>|<a href="https://twitter.com/PaulRandal" target="_blank">twitter</a>) that made my stomach churn:</p>
<p><a rel="lightbox" href="http://englishtosql.com/resource/Windows-Live-Writer-Dont-Shrink-TempDB_109A9-?fileId=12269925"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Dont Shrink Tempdb" src="http://englishtosql.com/resource/Windows-Live-Writer-Dont-Shrink-TempDB_109A9-?fileId=12269926" border="0" alt="Dont Shrink Tempdb" width="321" height="102" /></a></p>
<p>&nbsp;</p>
<p>Paul and Aaron Bertrand (<a href="http://sqlblog.com/blogs/aaron_bertrand/" target="_blank">blog</a>|<a href="https://twitter.com/AaronBertrand" target="_blank">twitter</a>) sent me links to a <a href="http://support.microsoft.com/kb/307487" target="_blank">Microsoft KB article</a> that clearly explains this.</p>
<p>From Paul I bring you the KB in a nutshell: <em><strong>unless you quiesce SQL Server, a TempDB data file shrink can cause corruption.</strong></em></p>
<p><strong><em>&nbsp;</em></strong></p>
<p>This post brought to you by yet another reason not to perform a shrink.</p>]]></content></entry><entry><title>Presenting For The PASS PowerShell Virtual Chapter</title><category term="PASS"/><category term="PASS"/><category term="Powershell"/><category term="Presenting"/><category term="SQL"/><category term="SQL"/><category term="powershell"/><category term="presenting"/><id>http://www.englishtosql.com/english-to-sql-blog/2011/5/16/presenting-for-the-pass-powershell-virtual-chapter.html</id><link rel="alternate" type="text/html" href="http://www.englishtosql.com/english-to-sql-blog/2011/5/16/presenting-for-the-pass-powershell-virtual-chapter.html"/><author><name>Nic</name></author><published>2011-05-16T14:55:46Z</published><updated>2011-05-16T14:55:46Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>A quick note, on Wednesday at 1PM EST I'll be giving an online presentation on one of the two topics I submitted for the PASS Summit this year.</p>
<p>&nbsp;The presentation will be heavy on the demo side of things and I'll cover the basics of querying SQL Server using PowerShell, running scripts against multiple machines quickly and easily as well as bulk loading data into SQL.</p>
<p>Please check out <a href="http://www.powershell.sqlpass.org/">http://www.powershell.sqlpass.org/</a>&nbsp;for a link to the livemeeting.</p>
<p>&nbsp;</p>
<h4>Central auditing of SQL permissions with PowerShell &amp; TSQL</h4>
<p>Description: As a DBA it can be a challenge to know who has permissions to what SQL instances and what objects. The more instances you have the more complex that task. In this presentation I'll share a method using PowerShell and TSQL that can be used to capture permissions from all of your SQL instances and load them into a centralized location. We'll even take it a step further by auditing those permissions so that we can quickly and easily identify any that might have changed.</p>
<p>&nbsp;</p>]]></content></entry></feed>
