<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ian Kirk - SQL DBA</title>
	<atom:link href="http://ilkirk.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ilkirk.wordpress.com</link>
	<description>One more DBA in the pool</description>
	<lastBuildDate>Fri, 20 Jan 2012 15:04:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ilkirk.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ian Kirk - SQL DBA</title>
		<link>http://ilkirk.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ilkirk.wordpress.com/osd.xml" title="Ian Kirk - SQL DBA" />
	<atom:link rel='hub' href='http://ilkirk.wordpress.com/?pushpress=hub'/>
		<item>
		<title>PGP Universal Server and Intermediate Certificates</title>
		<link>http://ilkirk.wordpress.com/2011/03/23/pgp-universal-server-and-intermediate-certificates/</link>
		<comments>http://ilkirk.wordpress.com/2011/03/23/pgp-universal-server-and-intermediate-certificates/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 16:00:27 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=62</guid>
		<description><![CDATA[So this topic is pretty far off the path of SQL server, but it&#8217;s something that I spent a lot of time trying to get resolved over the past couple of weeks.  It drained a lot of my time, my colleagues, as well as Symantec / PGP technical support.  I couldn&#8217;t find any clear information [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=62&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So this topic is pretty far off the path of SQL server, but it&#8217;s something that I spent a lot of time trying to get resolved over the past couple of weeks.  It drained a lot of my time, my colleagues, as well as Symantec / PGP technical support.  I couldn&#8217;t find any clear information from their forums or knowledge base, so I figured I&#8217;d get it out in a form that I would have appreciated.</p>
<p>PGP Universal Server is an email (and other stuff) encryption application, primarily for enterprise use.  One component of PGP Universal Server is the Web Messenger.  Now, you might have seen the functionality of the web messenger before.  We (the corporate empire that has your personal information) want to email you about something pretty private and want to send you an encrypted email.  However, you quite likely don&#8217;t have any sort of encryption routine for your personal email, so instead we ask you to visit a server in our DMZ to read your email over a secure connection.  In this manner we&#8217;re doing a bit of CYA and protecting your private information.</p>
<p>Well in order for you to visit our DMZ server and read your email securely, we&#8217;ll need to drop an SSL certificate out there on the web server.  Sounds simple, right?  Not always.</p>
<p>In our particular case we were using a 2048 bit certificate issued by Entrust in order to create the security for the HTTPs connection.  Adding the certificate was not particularly hard (disregard the firewall hell I ended up in), but we continued to receive errors about the certificate not being trusted.  Digging around a bit, it was clear that we needed to get the root and intermediate certificate for Entrust installed onto the web server in order to provide the browser with the entire certificate chain.  While this isn&#8217;t a particularly difficult thing to accomplish on a normal server, Windows or Linux, it proved quite tough when we didn&#8217;t have access to the Linux operating system for the PGP server.</p>
<p>We tried exporting the certificate from PGP and into IIS, then back out of IIS with the PFX option to &#8220;include all certificates in the chain,&#8221; and finally into PGP.  That didn&#8217;t change anything.  We called technical support and stumped them for several hours until they gave us the glimmer of a solution that eventually got us into place.  That solution?</p>
<ol>
<li>Log into PGP Universal Server with administrative rights (I was superuser, I don&#8217;t know what least permissions for this might be)</li>
<li>Go to the Keys &gt; Trusted Keys tab</li>
<li>At the bottom of the list, choose &#8220;Add a trusted key&#8221;</li>
<li>Import / Paste your root certificate and select the top two check boxes: &#8220;Trust for TLS&#8221; and &#8220;Trust for SSL&#8221;</li>
<li>Repeat the process for the intermediate certificate</li>
<li>Go to the Services &gt; Web Messenger tab</li>
<li>Disable the Web Messenger service, and once it refreshes, re-enable Web Messenger</li>
<li>Test your SSL connection via a new browser window to see if your error has gone away</li>
</ol>
<p>An interesting observation was that while Entrust was already listed on the Trusted Keys screen, that certificate was for the 1024 bit chain, whereas the ones that I needed to import were for the 2048 bit certificates.</p>
<p>I would wager that this scenario would be the same for most any other intermediate certificate you need to add to PGP Universal Server.  It&#8217;s unfortunate that there isn&#8217;t anything clearly documented about where to go for this functionality, as it seems like plenty of people will (or do) stray from their default list of trusts.</p>
<p>I may take some time and share a few other exciting items from our recent trials with PGP&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=62&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2011/03/23/pgp-universal-server-and-intermediate-certificates/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>In place SQL Upgrade error &#8211; 2005 to 2008</title>
		<link>http://ilkirk.wordpress.com/2011/03/07/in-place-sql-upgrade-error-2005-to-2008/</link>
		<comments>http://ilkirk.wordpress.com/2011/03/07/in-place-sql-upgrade-error-2005-to-2008/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 16:00:12 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL2008]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=45</guid>
		<description><![CDATA[No, I don&#8217;t keep my blog updated.  Not stressing about it either.  I&#8217;ve got a forum to post my issues so that perhaps if others face them, they won&#8217;t repeat history. I was working on an in place upgrade from SQL 2005 to SQL 2008.  The default instance&#8217;s upgrade ran just fine &#8211; a bit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=45&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No, I don&#8217;t keep my blog updated.  Not stressing about it either.  I&#8217;ve got a forum to post my issues so that perhaps if others face them, they won&#8217;t repeat history.</p>
<p>I was working on an in place upgrade from SQL 2005 to SQL 2008.  The default instance&#8217;s upgrade ran just fine &#8211; a bit lengthy, but fine.  I restarted the server and everything was peachy.</p>
<p>I moved on to upgrading the named instance and wasn&#8217;t nearly as paranoid about the process.  It seemed to run a little faster than the default instance did &#8211; I put that to the fact the perhaps some shared files were already done in the earlier effort.  Eventually, though, the installed finished and showed failure.  Not cool, but I figured good ol&#8217; Google would take care of me.</p>
<p>Wrong.</p>
<p>When you Google for my error code from the install logs:</p>
<blockquote><p>Wait on the Database Engine recovery handle failed.</p></blockquote>
<p>You get a number of results, but none of them addressed my <em>specific</em> error, which was:</p>
<blockquote><p>Script level upgrade for database &#8216;master&#8217; failed because upgrade step &#8216;provisionsystemaccounts.sql&#8217; encountered error 15151, state 1, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the &#8216;master&#8217; database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.</p></blockquote>
<p>This business of the &#8220;provisionsystemaccounts.sql&#8221; script error had only <strong>one </strong>result in Google and it didn&#8217;t help me.  I couldn&#8217;t find the script hidden on the computer.  I opened FileMon and couldn&#8217;t see it being referenced.</p>
<p>All of the results I did find talked about having changed the sa account to a different name and that you&#8217;ll need to rename it back to make things work.  They walked me through starting the SQL services without letting the upgrade scripts execute, and that was a significant help in the end.</p>
<p>Let me walk you through the solution and then I&#8217;ll explain what I think happened.</p>
<ol>
<li>First, open your most recent SQL Error Log file</li>
<li>Look for &#8220;Starting provisionsystemaccounts.sql &#8230;&#8221;</li>
<li>Following that string will be a &#8220;Cannot find the user&#8221; value &#8211; this is your key</li>
</ol>
<p>Using the following steps, start SQL and create the user / group:</p>
<ol>
<li>Start SQL Services avoiding the upgrade scripts:<br />
net start mssqlserver /f /T3608<br />
<em>Note: I would wager you actually want to start a named instance, so replace &#8216;mssqlserver&#8217; with &#8216;mssql$&lt;instancename&gt;</em></li>
<li>Connect to SQL using the DAC.  The following command will get you to a sqlcmd prompt via a trusted connection:<br />
sqlcmd -E -A</li>
<li>Issue a &#8216;create login&#8217; command to create the user / group you&#8217;re missing, followed by the all important GO</li>
<li>Type &#8216;exit&#8217; in the sqlcmd prompt to return to the command line</li>
<li>Stop the SQL Server services you started earlier with:<br />
net stop mssqlserver <em>(insert appropriate service name)</em></li>
<li><em> </em>Run the Repair from the SQL 2008 installation media</li>
</ol>
<p>The repair <em>should</em> run right along and fix everything for you.  If you encounter another error I suppose you can check to see if there is another &#8220;missing&#8221; login or you&#8217;ve run into something I didn&#8217;t see.</p>
<p>Now &#8211; why did this happen?  Well, in my situation it seems to be related to the fact that I upgraded the default instance first which also upgraded the Full Text Engine.  That, in turn, removed the Full Text Engine user group from the local groups.  In particular, I was missing &#8220;&lt;ServerName&gt;\SQLServer2005MSFTEUser$&lt;ServerName&gt;$MSSQLSERVER&#8221;.  Note the fact that it mentions the default instance, not the named instance!</p>
<p>The SQLServer2005MSFTEUser login refers to a local Windows group that is used for controlling access to the Full Text Engine.  I suspect that when I upgraded the default instance, the installer removed the group from Windows, but not necessarily from the named instance of SQL.  Once I recreated the group, granted my service account access to mirror the other similar groups, and added that login back into SQL via the DAC, everything went fine from there.</p>
<p>This took me 4 hours and I nearly did a full rebuild of the system databases, which would have set me back by a day or two.  I hope that I&#8217;ve saved you a few minutes or a few gray hairs with this one&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=45&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2011/03/07/in-place-sql-upgrade-error-2005-to-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>What did SQL Saturday 51 do for you?</title>
		<link>http://ilkirk.wordpress.com/2010/08/25/what-did-sql-saturday-51-do-for-you/</link>
		<comments>http://ilkirk.wordpress.com/2010/08/25/what-did-sql-saturday-51-do-for-you/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 15:00:38 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=28</guid>
		<description><![CDATA[As I had mentioned, I’ve been a little out of touch with the SQL scene for a while. Significant changes at work, combined with major changes to my responsibilities kept me from keeping up. Combine that with a baby growing into a toddler into… a walking, talking, full-fledged KID and, well, I shifted my priorities. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=28&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="P1012053 by nolifeik, on Flickr" href="http://www.flickr.com/photos/nolife/4576155683/"><img class="alignright" style="margin:5px;" src="http://farm4.static.flickr.com/3333/4576155683_6975a69af5_m.jpg" alt="P1012053" width="199" height="150" /></a>As I had mentioned, I’ve been a little out of touch with the SQL scene for a while.  Significant changes at work, combined with major changes to my responsibilities kept me from keeping up.  Combine that with a baby growing into a toddler into… a walking, talking, full-fledged KID and, well, I shifted my priorities.</p>
<p>So, getting to the point, I recall the concept of SQL Saturday coming to Nashville slid into my knowledge sometime months prior to the actual date.  The idea floated about, given that I still sit near the DBA team, and they are friendly enough continue to treat me as one of their own, despite my conversion to management.  It wasn’t until the week of the event that I actually allowed it to materialize, and I registered.</p>
<p>From that moment, a re-awakening began.  I downloaded the all-powerful TweetDeck and all those people I followed long ago gave the little bird inside it the breath of life, allowing it to chirp… constantly.  I immediately scrambled to turn off the notifications to give myself a little bit of control.</p>
<p>As things cooled off a bit, I got back into a little rhythm sorting out who was who again.  It wasn’t too tough – Brent Ozar (<a href="http://www.brentozar.com/" target="_blank">blog </a>| <a href="https://twitter.com/BrentO" target="_blank">twitter</a>) and Thomas LaRock (<a href="http://thomaslarock.com/" target="_blank">blog </a>| <a href="https://twitter.com/SQLRockstar" target="_blank">twitter</a>) were there, of course.  Those two were the pushers of the tweet-drug that got me into this whole thing 2 long years ago at the ’08 Summit.   I spotted Michelle Ufford (<a href="http://sqlfool.com/" target="_blank">blog </a>| <a href="https://twitter.com/sqlfool" target="_blank">twitter</a>) who I’d collaborated with on a cool little stored procedure that tracks the latency on a replication subscription using tracer tokens.  I was able to pull out those stats just recently to help prove a point!  There were the MVPs that I’ve not met, but listened to intently like Buck Woody (blog | <a href="https://twitter.com/buckwoody" target="_blank">twitter</a>) and Denny Cherry (<a href="http://itknowledgeexchange.techtarget.com/sql-server/" target="_blank">blog </a>| <a href="http://twitter.com/mrdenny" target="_blank">twitter</a>).  I got to see that like Mr Rockstar, Jeremiah Peschka (<a href="http://facility9.com/" target="_blank">blog </a>| <a href="https://twitter.com/peschkaj" target="_blank">twitter</a>) was mysteriously changing jobs… to then discover Brent had changed jobs, too… and Jeremiah had taken Brent’s.  Ugh… my head hurts.</p>
<p>I also noticed I was following one of the best tweeters – Adam Savage (@<a href="https://twitter.com/donttrythis" target="_blank">DonTryThis</a>) from the Mythbusters!</p>
<p><a title="on my way by nolifeik, on Flickr" href="http://www.flickr.com/photos/nolife/4647230313/" target="_blank"><img class="alignleft" style="margin-left:5px;margin-right:5px;" src="http://farm5.static.flickr.com/4046/4647230313_a883756326_m.jpg" alt="Ian's motorcycle" width="240" height="179" /></a>Sorry – I veered off from SQL Saturday, the point of this.  When Saturday finally arrived, I was a bit put off by “losing” the day with my family, but I took it as an opportunity to get out on my motorcycle as well as to get re-acquainted with SQL Server.  I arrived, got signed-in and worked out a game-plan with my co-worker Bill.  It was clear we’d be side-by-side most, if not all of the day, as we had similar interests throughout the program.  We went through back-to-back PowerShell sessions, learned about the internals of SQL server, DMVs, a first look at Data Collector, and then a nice framework for performance tuning.</p>
<p>In the midst of all that, it was a re-introduction to the people that put their knowledge out in front of everyone so we can all be better DBAs, no matter the scale of our environment, our seniority in an organization, or if we’re Ops or Dev.  The camaraderie was fantastic, and it was a great to find a new set of faces to drop into Twitter so that annoying little TweetDeck bird can chirp a little more often – Glenn Berry (<a href="http://glennberrysqlperformance.spaces.live.com/" target="_blank">blog </a>| <a href="http://twitter.com/GlennAlanBerry" target="_blank">twitter</a>), Kendra Little (<a href="http://littlekendra.com/" target="_blank">blog </a>| <a href="http://twitter.com/Kendra_Little" target="_blank">twitter</a>), and Aaron Nelson (<a href="http://sqlvariant.com/wordpress/" target="_blank">blog </a>| <a href="http://twitter.com/SQLvariant" target="_blank">twitter</a>).</p>
<p><a title="DSC_6371 by nolifeik, on Flickr" href="http://www.flickr.com/photos/nolife/265638971/" target="_blank"><img class="alignright" style="margin-left:5px;margin-right:5px;" src="http://farm1.static.flickr.com/80/265638971_709ac78770.jpg" alt="Ian in a kilt" width="173" height="260" /></a></p>
<p>Amongst those 500 words above, I’m not sure if I said much, but take this from them: SQL Saturday isn’t a ‘lost’ Saturday.  If anything, it’s a great kick in the pants to get back to your database servers and make them bigger, stronger, faster.  It’s an awesome way to see a larger population of database geeks and find out that a bunch of them stay in <em>continual</em> contact via the intertubes.  And even better, because they are in such good contact, they’ll be in good contact if you need help with something.</p>
<p>So here’s hoping I can get the funds approved for the 2010 Summit, because there was this really interesting hashtag I saw on twitter and I really want to join in.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=28&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2010/08/25/what-did-sql-saturday-51-do-for-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3333/4576155683_6975a69af5_m.jpg" medium="image">
			<media:title type="html">P1012053</media:title>
		</media:content>

		<media:content url="http://farm5.static.flickr.com/4046/4647230313_a883756326_m.jpg" medium="image">
			<media:title type="html">Ian&#039;s motorcycle</media:title>
		</media:content>

		<media:content url="http://farm1.static.flickr.com/80/265638971_709ac78770.jpg" medium="image">
			<media:title type="html">Ian in a kilt</media:title>
		</media:content>
	</item>
		<item>
		<title>Detaching databases in SQL 2005 &#8211; A little catch</title>
		<link>http://ilkirk.wordpress.com/2009/01/27/detaching-databases-in-sql-2005-a-little-catch/</link>
		<comments>http://ilkirk.wordpress.com/2009/01/27/detaching-databases-in-sql-2005-a-little-catch/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 21:45:44 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=41</guid>
		<description><![CDATA[Continuing a bit of a theme in my recent posts, I ran into an item today that caused me to pause and make sure I&#8217;d shared it with the rest of the DBA team &#8211; something I&#8217;m trying to be a little better about doing, as sometimes I&#8217;ll just drop my head and go headlong [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=41&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Continuing a bit of a theme in my recent posts, I ran into an item today that caused me to pause and make sure I&#8217;d shared it with the rest of the DBA team &#8211; something I&#8217;m trying to be a little better about doing, as sometimes I&#8217;ll just drop my head and go headlong into a task.  Now, not only will I make sure those around me know what I know, I&#8217;ll go ahead and make a mental note to share with everyone else, too.</p>
<p>I initially encountered this &#8220;problem&#8221; at 3am in the middle of a high visibility database re-host where I had to relocate the data files from one server to another using a detach / attach process.  After detaching the database through Management Studio, I remoted into the server to copy the file, only to receive the error &#8220;Access is denied. You don&#8217;t have permissions or the file is in use.&#8221;  I thought to myself, of course I have permissions &#8211; I&#8217;m a local administrator on this server.  Next, I thought why would the file be in use &#8211; I just detached it!</p>
<p>After about 30 minutes of chasing our tails, we discovered that with SQL Server 2005, when you detach a database, the file system object will have its NTFS security changed so that only the Windows account you used to detach the database will have any access to the file.  This becomes an issue for my team because we log into the SQL engine through SSMS using one account, but when using remote desktop, we use a different individual account.</p>
<p>The fix, so long as you <em>are</em> a local administrator, is to right click on the file(s) and alter the security to re-grant the appropriate (likely administrators) Windows group(s) full access to the file.  At that point, you&#8217;ll be able to perform the necessary actions like deleting, copying or moving the file(s).</p>
<p>I can&#8217;t say I have any idea what happens when you do this using SQL authentication, nor can I speak to whether or not this occurs in SQL Server 2008.</p>
<p>Anyone else experience this one?  Does anyone know about SQL authentication?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=41&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2009/01/27/detaching-databases-in-sql-2005-a-little-catch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>Policy Based Management – Link Compilation</title>
		<link>http://ilkirk.wordpress.com/2009/01/16/policy-based-management-%e2%80%93-link-compilation/</link>
		<comments>http://ilkirk.wordpress.com/2009/01/16/policy-based-management-%e2%80%93-link-compilation/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 22:59:54 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=31</guid>
		<description><![CDATA[No – I haven’t gotten into Policy Based Management (PBM) as much as I really want to, especially after seeing so much of it at PASS this last November. And no, I’m not going dedicate this blog post to lots of first-hand information that will help you get further in using it. This is, for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=31&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No – I haven’t gotten into Policy Based Management (PBM) as much as I really want to, especially after seeing so much of it at PASS this last November.  And no, I’m not going dedicate this blog post to lots of first-hand information that will help you get further in using it.  This is, for all intents and purposes, a really big tweet to @SQLBatman.</p>
<p>First, the <a href="http://blogs.msdn.com/sqlpbm/default.aspx" target="_blank">MSDN PBM blog</a> that isn’t updated too often, but the (current) top post for “complex” policies seems pretty helpful.</p>
<p>Next, <a href="http://sqlblog.com/blogs/lara_rubbelke/default.aspx" target="_blank">Lara Rubbelke</a>, who had a presentation at PASS that I missed.  She’s been working with Policies, PowerShell, and built an entire <a href="http://www.codeplex.com/EPMFramework" target="_blank">framework</a> to help you get it done.</p>
<p>Third, <a href="http://blogs.msdn.com/buckwoody/" target="_blank">Buck Woody</a>, who seems to be a lot more of PowerShell kind of guy, but knowing PowerShell, I think, is going to be key to automating policy evaluation across your enterprise.  (Of course Lara may have taken care of that for us…).  Buck offers an awesome PowerShell <a href="http://blogs.msdn.com/buckwoody/archive/2008/11/21/pass-2008-conference-day-five.aspx" target="_blank">framework </a>that he presented at PASS on his blog as well.</p>
<p>As for my first hand experience, it came before PASS and it was a great experience.  I used a policy stored on my sandbox SQL 2008 server and evaluated 8 instances that were a mix of SQL 2000 and SQL 2005.  I had that policy check specific server configuration items (such as Max DOP) and correct the instances that didn’t meet the stated policy.  After creating the policy, it was just a click of the mouse to evaluate.  Like I said earlier, though, to automate, you’re going to need to know a scripting language like PowerShell.</p>
<p>As a final link, I’ll send you to the <a href="http://www.softconference.com/pass/slist.asp?C=2057" target="_blank">PASS Presentation Decks</a>, where you can search through for the presentations and find a number of slide decks regarding PBM.  Specifically:</p>
<ul>
<li>DBA-320-M</li>
<li>DBA-412</li>
<li>AD-301-M</li>
</ul>
<p>Enjoy – and be sure to let me know if you figure it all out because learning PBM is high on my personal list… it’s just that I haven’t had any time to devote to that particular list!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=31&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2009/01/16/policy-based-management-%e2%80%93-link-compilation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>Wow – what was that?</title>
		<link>http://ilkirk.wordpress.com/2009/01/06/wow-%e2%80%93-what-was-that/</link>
		<comments>http://ilkirk.wordpress.com/2009/01/06/wow-%e2%80%93-what-was-that/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:00:40 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=25</guid>
		<description><![CDATA[The past few weeks have been a whirlwind of activity, both professional and personal.  In that whirlwind, I completely left the blog behind, languishing in inactivity. So in the final days of 2008, we had plenty of scrambling within the company to meet deadlines before the big production freeze.  This lead to plenty of late [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=25&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The past few weeks have been a whirlwind of activity, both professional and personal.  In that whirlwind, I completely left the blog behind, languishing in inactivity.</p>
<p>So in the final days of 2008, we had plenty of scrambling within the company to meet deadlines before the big production freeze.  This lead to plenty of late night, last minute code reviews and releases.  Beyond that, we had several long-running critical incidents crop up – one associated with the MS CRM app we’re using, so not exactly a great place to see slowdowns.</p>
<p>Things kept quiet, though, on the final day of the year and I was able to finish my on-call cycle with a quiet night on the couch.</p>
<p>As 2009 starts, pretty official today, what with it being the first Monday, I’ve got plenty of things to stare down.</p>
<p>Biggest on the plate is a SQL 2008 cluster – 5 nodes using Veritas Clustering technology.  The business wants to see data from all over the enterprise in several different places as quickly as they can get it.  As such, we’re going to stand up a very sizable set of replication distributors so we can stop worrying about it.  Right now a lot of the work is done through self-distributors, but that’s only because one of the remote distributors is a Pentium III server.  Let’s just say that isn’t exactly speed demon these days.</p>
<p>While I’m waiting for all the infrastructure to get in place, I’ll be testing VCS with SQL 2008 in the lab.  I don’t expect much to happen there – the VCS SQL Agent doesn’t seem to be the most complex piece of work, but maybe I’m overlooking something.</p>
<p>I’m just polishing off a little C# applet to dig through the enterprise and collect physical configuration data about our servers.  Things like physical memory, vendor, etc.  This way we can identify the servers that aren’t meeting our standard and work toward bringing them in line.  We realized the other day that one of our clusters is operating with a lot less RAM than we thought… oops!</p>
<p>We’ve got a big datacenter move coming along, so I’ll play a role in all that planning.  We’ve got a server exhibiting CPU pressure issues, but I’ve deferred a lot of that to my teammates, since I think I’ve got plenty of things hanging around and I can’t dedicate myself appropriately.  Of course we still need to sort out this database mirroring problem – that hasn’t gone anywhere for weeks and we’ve just been running with log shipping as the alternative.</p>
<p>The boss is in town this week, too, so we’ll all get a little time to get the feel of things from him, which is nice.</p>
<p>I’m not really one for resolutions, but I do know that I’m going to re-dedicate myself to the blog, keeping it updated better.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=25&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2009/01/06/wow-%e2%80%93-what-was-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Quiz: Toughest challenges</title>
		<link>http://ilkirk.wordpress.com/2008/12/22/sql-quiz-toughest-challenges/</link>
		<comments>http://ilkirk.wordpress.com/2008/12/22/sql-quiz-toughest-challenges/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 15:00:51 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=37</guid>
		<description><![CDATA[Chris Shaw posted a SQL Quiz, setting it up as a game of tag, and I got my tag from SQL Fool (@SQLFool on Twitter) when she answered the question -“What are the largest challenges that you have faced in your career and how did you overcome those?” I got tagged while I was standing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=37&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrisshaw.wordpress.com/2008/12/09/sql-quiz-part-2-2/">Chris Shaw posted a SQL Quiz</a>, setting it up as a game of tag, and I got my tag from <a href="http://sqlfool.com/2008/12/sql-quiz-part-2-toughest-challenges/" target="_blank">SQL Fool</a> (<a href="http://twitter.com/sqlfool" target="_blank">@SQLFool</a> on Twitter) when she answered the question -“What are the largest challenges that you have faced in your career and how did you overcome those?”</p>
<p>I got tagged while I was standing in the middle of the Magic Kingdom in Florida with my family.  I briefly considered answering the call, but realized I’d better focus on the Mouse first.  I’ve been back for a week and I’ve still not gotten my head back 100%, so the reply just hasn’t come up until now.</p>
<p><strong>Database Administration – isn’t that a little twisted?</strong></p>
<p>I think the first challenge simply has to be my choice to take this career path, and the process of getting to where I am today.</p>
<p>From the age of 13, I knew for absolute certain that I would be a police officer.  I was consumed by the culture and the idea.  I bought a radio scanner and listened to their communication.  I played every one of the <a href="http://en.wikipedia.org/wiki/Police_Quest" target="_blank">Police Quest </a>games on my computer.  I even got a four year Criminal Justice degree because my parents told me I couldn’t skip college to take my “dream job.”</p>
<p>So many seeds of my current path had been sewn during that time without my quite realizing it.  First, I was on or around a computer all the time.  My grandfather had my parents drive to his office and pick up the Apple IIe each weekend for us to have around the house.  I was five years old and from this point forward I was surrounded by computer technology.</p>
<p>My father ran an IT based small business from home when he was laid off from his engineering job.  My grandfather and uncle amassed a collection of both Apple and IBM machines.  I went to BASIC programming camp at least one summer.  Yet the entire time I was growing up, I actively rebuffed people’s ideas that I would take a job in IT.  I was going to be a cop and that was that.</p>
<p>Fast forwarding many years, I find myself in the middle of the 6 month long police academy in my hometown – my life’s goal achieved – and I realize that it isn’t anything like what I had dreamed of.  While I had thoroughly enjoyed the people I worked with as a civilian there (doing, what else, Access database work), the daily grind of an officer was looking less appealing.  The people were different here, and I looked inside myself to find that this <em>was not</em> my dream job.</p>
<p>I pulled out of the academy, an immensely difficult thing for me to admit, and I went back to my job at the mall – selling computer software and games – that I had done for more than 8 years prior to now.  I dove into the certification process, grabbing up every book I could find for an alphabet soup of certifications.  I self studied my way to an A+, I-Net+, Server+, MCSE, MCSA, and finally, the last one, a MCDBA.  This was over a six month period of time where I balanced moving in with my younger sister, doing the mall gig and building a solution in MS Access for a family friend’s business.</p>
<p>I knew going in that despite a litany of certifications, I wasn’t going to get in anyplace with some experience.   Luck, though, was on my side.  I got a call one day at work about a 3 week contract with a local manufacturer – their DBA was going on vacation and they needed someone to cover for a week.  To this day, I have no idea how <strong>I</strong> got the call, but I took it.  I worked with their guy for a week, learning the environment as much as possible, and then it was mine for a week.  I had backup from non-SQL DBAs, but it was basically mine.  The third week, he came back and we reviewed what had gone on.  They called me two weeks later and asked me to do another three weeks so they could speed up a project – I’d made an impression.</p>
<p>I can’t say that I was suddenly on board with this place, but I finally had my foot in doors – I finally had <em>some</em> experience.  From there I landed a gig an old friends from my mall job… which leads me to the next challenge.</p>
<p><strong>Repl-what?</strong></p>
<p>Several months into this gig with a small business where we did bench work for a few other computers, they decided to take on developing software for the retail stores of our major customer.  It was going to be backed out of SQL Server, and I was the DBA.  Long story short – we decided that we’d drop a SQL Server into each of the 80 stores and replicate, over the public network, the data back to the home office.</p>
<p>Yeah – the public network.  Cost savings.  And the “cost savings” continued into the fact that we didn’t get static IP addresses on the end points in the retail stores.  I fought for weeks to sort out merge replication, passing out ID seeds, and working with FTP replication in SQL 2000.  We tested in the “lab” and when the day came, we all drove out to our first stores to set everything up.</p>
<p>There were problems – the app wasn’t quite right, our store setup routine was brand new and clunky, and then the replication <em>just wasn’t working</em>.  At this point, remember, I’m the guy.  We’re 10 hours from home, sitting in a retail store for 14 hours, a few days in a row, while the app code is tweaked and I hammer my head against the desk over replication.</p>
<p>Eventually we pulled the plug on the replication.  It just wasn’t going to happen in the time frame we had, and we had to start moving forward.  The first three stores were allotted more time than the others, and that time was running out.  We sorted out a routine of seeding all the tables’ ID columns with the store ID and decided to figure out how to get the data centralized later.</p>
<p>All I know is that I was in the hot seat, pushing the very edge of my abilities and I had to make a nasty decision to say, I’m sorry – I can’t do what we wanted to do, but we can do [X] instead.  I was lucky and my boss was understanding.  She was technically oriented, understood the situation, and we moved on.</p>
<p>Once we got out of those first stores, my buddy Paul and I ended up working (or driving) for nearly 40 hours straight.  I will never forget that whole process, and the lessons learned.</p>
<p><strong>Into the shark tank</strong></p>
<p>Eventually the retail business worked on my nerves, and I found a new job out of town.  This was a relative start up and they had big contracts in the pipe.  I was part of a two man team preparing to handle a good bit of health care data for some big customers.  My partner was an experienced DBA and I felt very comfortable.  I learned a tremendous amount from him about the day-to-day maintenance of servers.</p>
<p>Being a start-up with big ideas, things eventually unwound and I was in the market.  Luck shone upon me once again and I had stumbled into a contact through playing ice hockey.  This guy, a substitute player on my team, was a DBA manager in town and he was looking for somebody.  I’d turned him down once, with the promise of the start-up still gleaming in my eye, but when I came back a couple of months later, he was still in the market.</p>
<p>I joined up, despite hearing stories of <strong>long</strong> hours, and I quickly realized I was going to get run over by six runaway trains if I didn’t get moving fast.  I dove in, tearing through the ticket queue, learning about the hundreds of SQL instances in the environment, and generally flying low, but steady while I learned.</p>
<p>Eventually the team shrank, we changed directors and even managers, but by then, I realized I’d positioned myself pretty well.  I suddenly found myself full of institutional knowledge – people on the team would ask about X job on Y server and I could tell them who requested, why they wanted it, what it did and when it ran.  I knew the outage windows for dozens of servers by heart.</p>
<p>I worked really hard to be outgoing, friendly and approachable – something I’d wanted to do from the very start of working in IT.  I never wanted to be the guy to push the user away from the mouse and do the work.  This paid off – I got noticed, and I got added to critical support teams with huge visibility.</p>
<p>At this point, I’m a Senior DBA at this job and I’m working hard to be the mentor that the former teammates were to me.  We pull some long weeks, but I’m working with technology and processes that I just don’t see being used around me.  I’ll trade a few extra hours at work for the experience I’m gaining.</p>
<p>While we were discussing his interview process, I told the former manger, who is now an architect with the company, that I realized I never could have passed his interview.  If I had walked in and faced him, I wouldn’t have seen past the interview room.  His reply?  “I have a greater faith in potential than I do experience.  I knew from talking with you that you had a great potential and I wanted that on my team.”</p>
<p>OK… I was a little late to the party, and I was a lot long winded.  Thanks to all that, I’m not sure that there is anybody left to tag… so – if you’ve read this far and haven’t been tagged, then I tag YOU.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=37&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2008/12/22/sql-quiz-toughest-challenges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>Database mirroring errors, part two</title>
		<link>http://ilkirk.wordpress.com/2008/12/08/database-mirroring-errors-part-two/</link>
		<comments>http://ilkirk.wordpress.com/2008/12/08/database-mirroring-errors-part-two/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 16:00:31 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Database Mirroring]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=22</guid>
		<description><![CDATA[(Yes, I’m on vacation.  No, I’m not writing this while I’m on vacation – I scheduled it in advance.) Amongst plenty of other things, Kristine and I spent the week trying to re-create the errors we saw in our production environment.  (Giving credit, where credit is due – this was mostly Kristine’s work)  To our [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=22&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(Yes, I’m on vacation.  No, I’m not writing this while I’m on vacation – I scheduled it in advance.)</p>
<p>Amongst plenty of other things, Kristine and I spent the week trying to re-create the errors we saw in our production environment.  (Giving credit, where credit is due – this was mostly Kristine’s work)  To our dismay, we haven’t been able to reproduce the errors!</p>
<p>According to Microsoft Support and to the previously mentioned forum post, the culprit is the sp_getapplock / sp_releaseapplock being used within the database.  However, we’ve identified the two stored procedures in the production database that make this call, and we’ve executed them multiple times.  The lock procedure have to be executed within a transaction, so we left a few transaction open, and ran our tests to see if this might help – not at all.</p>
<p>We’ve tried with an empty database, we’ve tried with a restore of the original database.  We’ve tried with manual tests via SSMS and we’ve tried to create the error with people using the application – absolutely no combination of tricks has given us the results we want / expect.  At this point we’re stuck wondering if CU10 will or will not fix our problem.</p>
<p>While I’m away, maybe Kristine will find the magic test that gives us a chance to confirm the fix as well as test the application and then we’ll be ready to move on the patch before the holidays are upon us.  Maybe.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=22&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2008/12/08/database-mirroring-errors-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>Database Mirroring errors, part one</title>
		<link>http://ilkirk.wordpress.com/2008/12/01/database-mirroring-errors-part-one/</link>
		<comments>http://ilkirk.wordpress.com/2008/12/01/database-mirroring-errors-part-one/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 04:02:18 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Database Mirroring]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=17</guid>
		<description><![CDATA[So a week or so ago one of my coworkers stumbled into the fact that we had a database mirroring session that was broken.  We won&#8217;t discuss why someone had to stumble into it &#8211; that&#8217;s being resolved elsewhere. Anyway, this session had broken, but the log was still building, so it wasn&#8217;t the end [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=17&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So a week or so ago one of my coworkers stumbled into the fact that we had a database mirroring session that was broken.  We won&#8217;t discuss why someone had to stumble into it &#8211; that&#8217;s being resolved elsewhere.</p>
<p>Anyway, this session had broken, but the log was still building, so it wasn&#8217;t the end of the world &#8211; let&#8217;s just start it back up.  No &#8211; we couldn&#8217;t be so lucky.  Instead, we found on the target side a log full of minidumps and errors.  Now, for the Googlers (which included me and my teammate!), the errors:</p>
<pre>Error: 17066, Severity: 16, State: 1
SQL Server Assertion: File: &lt;loglock.cpp&gt;, line=818 Failed Assertion = 'result == LCK_OK'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.

Error: 3624, Severity: 20, State: 1
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.

Error: 1454, Severity: 16, State: 1
While acting as a mirroring partner for database '&lt;DBName&gt;', server instance '&lt;ServerInstanceName&gt; encountered error 3624, status 1, severity 20. Database mirroring will be suspended.  Try to resolve the error and resume mirroring.</pre>
<p>Of course, with a database mirroring target, you can&#8217;t fire of a DBCC CHECKDB command &#8211; it&#8217;s a database in recovery!  Further, as I mentioned earlier, simply restarting database mirroring didn&#8217;t change a thing.</p>
<p>Amusingly, this was about 3 days after we&#8217;d returned from Seattle, so my first thought was to send out a plea for help from the twitter gang, but after no response, we turned to calling Microsoft.  Actually, most of the work from this point goes to my co-worker Kristine.  She spoke to support, passed the mini dumps and got confirmation of what we&#8217;d found in <a href="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3474555&amp;SiteID=17" target="_blank">the one reasonable result</a> of our Google search &#8211; the use of &#8220;<span><span><a href="http://msdn.microsoft.com/en-us/library/ms178602(SQL.90).aspx" target="_blank">sp_releaseapplock</a>&#8221; in the source database.</span></span></p>
<p><span><span>Our source database is a third-party, shrinkwrap peice of sofware for Workforce Management named Aspect.  In a recent upgrade, one or more of the stored procedures for this applicaiton included the use of this particular command.  In turn, that command wrecked our mirroring process. </span></span></p>
<p><span><span>Just like the Google result above, Microsoft has suggested that CU8 will resolve the issue, but we were already looking for CU10 for this same server, for a different problem, so we&#8217;re headed down the route of testing CU10.  Once we&#8217;ve confirmed we can make the mirror break happen in test, we&#8217;ll see if CU10 is the fix, and I&#8217;ll post an update.<br />
</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=17&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2008/12/01/database-mirroring-errors-part-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
		<item>
		<title>Knowledge sharing</title>
		<link>http://ilkirk.wordpress.com/2008/11/28/knowledge-sharing-2/</link>
		<comments>http://ilkirk.wordpress.com/2008/11/28/knowledge-sharing-2/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 07:09:38 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilkirk.wordpress.com/?p=34</guid>
		<description><![CDATA[It’s obvious I’m still on what has been dubbed the “PASS high” and I certainly hope it doesn’t wear off any time soon. It’s a great feeling, having so many new ideas and techniques at your fingertips. Meeting all these new people then realizing how much I’ve been missing and diving in – that’s been [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=34&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It’s obvious I’m still on what has been dubbed the “PASS high” and I certainly hope it doesn’t wear off any time soon.  It’s a great feeling, having so many new ideas and techniques at your fingertips.  Meeting all these new people then realizing how much I’ve been missing and diving in – that’s been a blast.</p>
<p>At the same time, it’s made me reflect on the things happening in my own team.  Here I sit, technically on Thanksgiving Day, on my laptop, winding down from cleaning house, and I get a ping in IM from our DBA in Japan.  It’s late in the afternoon for him and I know he was called in early.  Beyond that, I know this guy is a really sharp DBA and if he’s asking for something, it certainly isn’t trival.  I hesitate slightly, but I respond.</p>
<p>He’s hit a snag with replication – the distributor is complaining about the system generated replication procedures being missing on the target.  Amusingly, I’d spent the plane rides from Nashville to Seattle typing up some internal training materials on replication (which I’m realizing are <em>way</em> too in depth for a start) and I knew exactly what he needed to do.</p>
<p>Unfortunately, I explained it in way too little detail, and he didn’t grab it right away.  He toiled for a few minutes and I checked back in.  I knew from his response that my answer hadn’t made sense.  Suddenly I launched into a paragraph explaination of replication distribution and how to re-generate the procs that were missing.  He plugged away for a minute and came out victorious.  He was extremely thankful, given the time of night, and I told him it was pleasure enough knowing that I’d been able to teach him a bit more about replication.  This is the spirit of PASS – sharing with your fellow DBA as peers.</p>
<p>So – if you didn’t already know, here’s (my take on) the short version:</p>
<p>Replication transfers data uses parametered stored procedures and these stored procedures are system generated by the snapshot agent.  The snapshot agent leverages the system stored procedure <strong>sp_scriptpublicationcustomprocs </strong>to generate those procedures.  It then applies that script only to the target environment and at a later time the distribution agent, when attempting to transfer data, calls these procedures with the appropriate parameters.</p>
<p>Since the distribution agent is complaining that these specific table’s stored procedures are missing, all you need to do is to run that system stored procedure which will generate a script for you.  That script will have  all of the replication stored procedures for every published table in the publication you indicate.  From that large system generated script, you must locate the 3 procedures associated with the specific table that is creating errors and then run those procs on the target environment.</p>
<p>Those procs, for reference, are the sp_MSins_&lt;tablename&gt;, sp_MSupd_&lt;tablename&gt;, sp_MSdel_&lt;tablename&gt;, for INSERT, UPDATE, DELETE respectfully.  Also, the<strong> </strong>procedure <a href="http://msdn.microsoft.com/en-us/library/ms187946.aspx" target="_blank">sp_scriptpublicationcustomprocs</a> needs to be executed in the publishing database and it takes a single parameter of the publication name.</p>
<p>Our little hang up came when we changed the primary key constraint on a published table, but the snapshot agent didn’t run to replace the procs.</p>
<p>If you see anything I’ve stated wrong, feel free to correct me!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ilkirk.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ilkirk.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ilkirk.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ilkirk.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ilkirk.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ilkirk.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ilkirk.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ilkirk.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ilkirk.wordpress.com&amp;blog=5616947&amp;post=34&amp;subd=ilkirk&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ilkirk.wordpress.com/2008/11/28/knowledge-sharing-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f9856239dfef50db62716d7dcff6633?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nolife</media:title>
		</media:content>
	</item>
	</channel>
</rss>
