<?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>tenbulls.co.uk</title>
	<atom:link href="http://tenbulls.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://tenbulls.co.uk</link>
	<description>attaining enlightenment with sql server, .net, biztalk, windows and linux</description>
	<lastBuildDate>Thu, 24 May 2012 14:50:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tenbulls.co.uk' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>tenbulls.co.uk</title>
		<link>http://tenbulls.co.uk</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tenbulls.co.uk/osd.xml" title="tenbulls.co.uk" />
	<atom:link rel='hub' href='http://tenbulls.co.uk/?pushpress=hub'/>
		<item>
		<title>Change and make a difference</title>
		<link>http://tenbulls.co.uk/2012/05/04/change-and-make-a-difference/</link>
		<comments>http://tenbulls.co.uk/2012/05/04/change-and-make-a-difference/#comments</comments>
		<pubDate>Fri, 04 May 2012 18:03:49 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[personaldevelopment]]></category>
		<category><![CDATA[publicspeaking]]></category>
		<category><![CDATA[sqlpass]]></category>
		<category><![CDATA[sqlrally]]></category>
		<category><![CDATA[sqlsaturday]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[summit]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=3151</guid>
		<description><![CDATA[Let me tell you a story&#8230; It is a drizzly night in November and I am sat with a bunch of people I have never met before. They are all eating and I am not (one too many Whiskys the &#8230; <a href="http://tenbulls.co.uk/2012/05/04/change-and-make-a-difference/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3151&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Let me tell you a story&#8230;</p>
<p><a href="http://www.sqlsaturday.com/162/eventhome.aspx"><img class="size-full wp-image-3178 alignleft" title="sqlsat162_print_small" src="http://retracement.files.wordpress.com/2012/05/sqlsat162_print_small.jpg?w=640" alt=""   /></a>It is a drizzly night in November and I am sat with a bunch of people I have never met before. They are all eating and I am not (one too many Whiskys the night before). They all appear to know each other and are vigorously moving from subject to subject with enthusiasm and I am listening intently to the conversation but not really saying too much. I am probably the only Englishman in the entire bar -or at least, if I am not alone, there can&#8217;t be many of us there. To be honest I am not even sure whether that would really make a difference, for I am still relatively poor at introducing myself to strangers and, as I sit there feeling a little bit like a fish out of water everyone else <em>is</em> a fish <em>in</em> water. The date is Sunday 7th November 2010 and I am sitting in a bar called <a title="Lowell's" href="http://www.eatatlowells.com/" target="_blank">Lowell&#8217;s</a> in a place known as <a title="Pikes Place Market" href="http://www.pikeplacemarket.org/" target="_blank">Pike&#8217;s Place Market</a> in a city called Seattle for a convention called the <a title="PASS Summit" href="http://www.sqlpass.org/" target="_blank">PASS Summit</a>.</p>
<div id="attachment_3166" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-3166" title="pikes2" src="http://retracement.files.wordpress.com/2012/05/pikes2.jpg?w=640" alt=""   /><p class="wp-caption-text">Going to Lowell&#8217;s</p></div>
<p>The fact that I am even sat here is a minor miracle, and really completely out of character but this is going to be the start of something I tell myself -the new me, and I am going to start to learn to socialize (like a human being) -like everyone else seems to do &#8230;effortlessly. I had registered for the &#8220;Sunday Night Meetup&#8221; hosted by Andy Warren (<a title="Andy Warren Blog" href="http://www.sqlandy.com/" target="_blank">blog</a>|<a title="Andy Warren Twitter" href="https://twitter.com/#!/sqlandy" target="_blank">twitter</a>) and am intent on using the opportunity for a new beginning and actually making the effort to meet new people rather than let them be the ones to approach me whilst I hide behind my hard exterior. As Sunday evening drew nearer I started to get cold feet. &#8216;Why it&#8217;s only an <a title="Eventbrite" href="http://www.eventbrite.com" target="_blank">Eventbrite </a>ticket, it doesn&#8217;t really matter to anyone if I don&#8217;t come&#8217; I told myself -&#8217;Besides, I&#8217;d have an even better time by myself stuck at the hotel bar on my own (at worst) or have a talkative stranger drop by and chat for a bit (hopefully)&#8217;.</p>
<p>The depressing reality of that sunk in. &#8216;NO I AM GOING!&#8217; I decided. I will go, have something to eat, maybe have a couple of drinks and perhaps even learn the skills of communication like I always wished I could. In the worst case scenario, if it didn&#8217;t really go to plan, I could make my excuses and leave early with the added bonus that I would have eaten and had a drink&#8230; So I went.</p>
<p><img class="aligncenter size-full wp-image-3164" title="ticket" src="http://retracement.files.wordpress.com/2012/05/ticket.png?w=640&h=328" alt="" width="640" height="328" /></p>
<p>Whilst sat there listening, on my right I had a young lady called Jessica Moss (<a title="Jessica Moss Blog" href="http://www.jessicammoss.com/" target="_blank">blog</a>|<a title="Jessica Moss Twitter" href="https://twitter.com/#!/jessicammoss/" target="_blank">twitter</a>) and on my opposite right a lady called Pam Shaw (<a title="Pam Shaw Blog" href="http://sqlpam.wordpress.com/" target="_blank">blog</a>|<a title="Pam Shaw Twitter" href="https://twitter.com/#!/pamshaw" target="_blank">twitter</a>). Pam was talking about the <a title="SQLSaturday" href="http://www.sqlsaturday.com/" target="_blank">SQLSaturday </a>movement, how it all began, where it is all going and what things need to change. Her enthusiasm and passion for SQLSaturdays immediately raised my interest and I soaked up the conversation. Whilst I sat there my mind wandered and I started to wonder if this could ever work in the U.K. and decided there and then that I wanted to host one. However there was only one small problem in my eyes. Even though several weeks ago I had just given my first ever presentation to a major event prior to heading off to the <a title="PASS Summit" href="http://www.sqlpass.org/" target="_blank">PASS Summit</a>, for me the experience was a rather insular and miserable affair in that I didn&#8217;t really know anyone and they didn&#8217;t know me. In short I felt very lost as a speaker. I didn&#8217;t really know what to expect and the way the events work from a speaker&#8217;s perspective. I remember walking into the &#8220;Speaker room&#8221; for the very first time and it felt very much like I had entered the Slaughtered Lamb (from the American Werewolf in London film) and felt very much like the person I really was &#8211; a nobody. I digress slightly, but the point is that in Seattle, having listened to the conversation for a while I realised that in order for me to really be able to host one of these events I would have to have a slightly bigger profile than I had (something &gt; zero) and so on my return back to the U.K. I didn&#8217;t mention my ambitions again to anyone and patiently waited.</p>
<p><img class="aligncenter size-full wp-image-3168" title="slaughtered-lamb2" src="http://retracement.files.wordpress.com/2012/05/slaughtered-lamb2.jpg?w=640" alt=""   /></p>
<p>Over the next year or so I worked very hard on my &#8220;social self&#8221; and made it my goal to present as much as possible to work on this side of me, share knowledge with others and to gain knowledge in the process. It was a win-win situation all around.  I have since gone on to present at many major and small events over the last couple of years and now feel completely at home just arriving in a new City of a new Country, giving a presentation, talking and socialising with people and returning home again. My self-development is certainly not <em>fait accompli</em> but I believe I have made significant progress. Even more importantly I have got to know who are the right people to ask for things and I eventually submitted my desire to host a SQLSaturday for Cambridge. Unfortunately when I did so the timing was not quite right it and I was asked to patiently wait on the wings until it would be possible to give it the green light. I will confess that at this stage I gave up all hope and as months passed by I believed it would not happen.</p>
<p>Then&#8230; joy of joys&#8230; several months ago an email arrived in my Inbox asking me if I still wanted to host an event. The reply probably took me around 10 seconds to send. It was of course a massive &#8216;YES!&#8217;.</p>
<p>I want you to know that by one simple action (going to Lowell&#8217;s) set off a chain of events and you could do the same. I am no longer &#8220;afraid&#8221; to approach you if you are a stranger and say hello or talk about the Weather, I have realised that ambitions can be fulfilled and today feel like almost anything is possible if you work hard enough for it.</p>
<p>If you are able to, I really hope to see you at SQLSaturday #162 Cambridge and if not then please make sure you say hello to me at <a title="SQLRally Dallas" href="http://www.sqlpass.org/sqlrally/2012/dallas/" target="_blank">SQLRally Dallas</a>, the SQL 2012 Summit in Seattle, SQLBits or many of the other SQLSaturdays and user groups that I hope to be at. I would also like to extend a huge thank you Pam Shaw whose enthusiasm and continued support for the SQL Community has been the spark for something new and exciting and to Niko Neugebauer (<a title="Niko Blog" href="http://www.nikoport.com/" target="_blank">blog</a>|<a title="Niko Twitter" href="https://twitter.com/#!/nikoneugebauer" target="_blank">twitter</a>) and his <a title="SQLSaturday 115" href="http://www.sqlsaturday.com/115/eventhome.aspx" target="_blank">SQLSaturday #115 Lisbon</a> team for giving me a huge welcome and amazing insight into the running of his event which inspired me and provided a template model that I hope to replicate where possible. I would also like to thank SQLSaturday and SQLPASS for allowing me to do this, but most of all I want to thank Karla Landrum (<a title="Karla Twitter" href="https://twitter.com/#!/karlakay22" target="_blank">twitter</a>|<a title="Karla Blog" href="http://karlalandrum.wordpress.com/" target="_blank">blog</a>) for her unwavering support and dedication to the task in hand. Thank you all!</p>
<p>Remember that everything you do, everything you say, everyone you meet and everywhere you go has the power to touch and change your and other peoples lives. Be mindful of this and once in a while try to change a little!</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/personaldevelopment/'>personaldevelopment</a>, <a href='http://tenbulls.co.uk/category/publicspeaking/'>publicspeaking</a>, <a href='http://tenbulls.co.uk/category/sqlpass/'>sqlpass</a>, <a href='http://tenbulls.co.uk/category/sqlrally/'>sqlrally</a>, <a href='http://tenbulls.co.uk/category/sqlsaturday/'>sqlsaturday</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>, <a href='http://tenbulls.co.uk/category/summit/'>summit</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/3151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/3151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/3151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/3151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/3151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/3151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/3151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/3151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3151&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/05/04/change-and-make-a-difference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/05/sqlsat162_print_small.jpg" medium="image">
			<media:title type="html">sqlsat162_print_small</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/05/pikes2.jpg" medium="image">
			<media:title type="html">pikes2</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/05/ticket.png" medium="image">
			<media:title type="html">ticket</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/05/slaughtered-lamb2.jpg" medium="image">
			<media:title type="html">slaughtered-lamb2</media:title>
		</media:content>
	</item>
		<item>
		<title>Remember your OS when upgrading to SQL 2012</title>
		<link>http://tenbulls.co.uk/2012/04/24/remember-your-os-when-upgrading-to-sql-2012/</link>
		<comments>http://tenbulls.co.uk/2012/04/24/remember-your-os-when-upgrading-to-sql-2012/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 19:18:10 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[24HOP]]></category>
		<category><![CDATA[availability]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=3121</guid>
		<description><![CDATA[Probably as far back as the end of last year when I first started putting material together for my Enter the Dragon and Moves like Jagger presentations and giving very early mash up presentations of them combined together, I started &#8230; <a href="http://tenbulls.co.uk/2012/04/24/remember-your-os-when-upgrading-to-sql-2012/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3121&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Probably as far back as the end of last year when I first started putting material together for my Enter the Dragon and Moves like Jagger presentations and giving very early mash up presentations of them combined together, I started emphasising one very important upgrade consideration which is very often ignored. It is also a fact that is quite nicely touched upon by Glenn Berry (<a title="Glenn Berry" href="https://twitter.com/#!/glennalanberry" target="_blank">twitter</a>|<a title="Glenn Berry Blog" href="http://sqlserverperformance.wordpress.com/" target="_blank">blog</a>) in his excellent book <a title="SQL Server Hardware" href="http://www.amazon.com/SQL-Server-Hardware-Glenn-Berry/dp/1906434638/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1335294144&amp;sr=1-1" target="_blank">SQL Server Hardware</a> and if you have yet to discover its unique delights then I strongly advise you to check it out.</p>
<p>The consideration I am talking about is of course the mainstream support dates of our Hardware and Software but most specifically the Operating System (in our case Windows) which is the one of most concern.</p>
<div id="attachment_3123" class="wp-caption aligncenter" style="width: 530px"><img class="size-full wp-image-3123 " title="Mainstream_24HoursofPASSPPT_moves_like_jagger" src="http://retracement.files.wordpress.com/2012/04/mainstream_24hoursofpassppt_moves_like_jagger.jpg?w=640" alt=""   /><p class="wp-caption-text">Spot the problem?</p></div>
<p>During my Moves Like Jagger &#8211; Upgrading to SQL Server 2012 presentation (most recently given to <a title="Mark Broadbent 24HOP" href="http://www.sqlpass.org/24hours/spring2012/SessionsbySchedule/SessionDetails.aspx?sid=2562" target="_blank">24HOP</a>) I have discussed that should you decide to upgrade to SQL Server 2012 then you should watch out for the mainstream support end dates for Windows 2008 and Windows 2008 R2. If you are installing SQL 2012 to Windows Server Core then your only consideration anyway is Windows 2008 R2 (SP1) otherwise using Windows 2008 (SP2) is a supported Operating System. However from a mainstream support perspective the version of Windows you use is kind of irrelevant since (as you can see in the slide above) each expires on exactly the same date -surprisingly mid July next year!</p>
<p>Yes people you heard me right, should you choose to upgrade your environment to SQL 2012 today, tomorrow or have already done so, then I hope you have taken this into consideration -for if your company are not prepared to pay for Extended Support then you could be looking at yet another upgrade (this time the OS) sometime next year. This scenario is one very strong reason why if you have implemented SQL 2012 in an Availability Group or Clustered configuration you can probably give yourself a pat on the back right now. It is going to simplify your OS upgrade and maintain a level of High Availability where this is required.</p>
<div id="attachment_3130" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-3130" title="beautiful cottage" src="http://retracement.files.wordpress.com/2012/04/beautiful-cottage.jpg?w=640" alt=""   /><p class="wp-caption-text">Beautiful now, but rebuild costs could be large!</p></div>
<p>At the turn of the year I went slightly out on a limb by saying that because of the Mainstream Support expiry dates it was my firm belief that Microsoft would release their newest Operating System (I called it Windows 8 Server at the time <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) before mid July and that if you did not have a compelling reason to upgrade to SQL 2012 now, then it is probably a good idea to wait a while.</p>
<p>Well so far my guesstimate appears to be coming true. We now know that the next Server release of Windows is called Windows 2012 (I personally like the fact it is in-line with the Server based Application names) and  today I have seen the following url- <a title="Windows 2012 Release Candidate Timing" href="http://blogs.technet.com/b/windowsserver/archive/2012/04/24/windows-server-2012-release-candidate-timing.aspx?" target="_blank">Windows Server 2012 Release Candidate Timing</a>. So we know by the very name that the OS is coming this year and at the time of writing all indications point to an imminent release but let me stress that I have no inside knowledge and this is all guesswork so please don&#8217;t get upset if the release happens on the 31st of December 2012 -however unlikely!</p>
<p>In summary I believe you should take three approaches to implementing SQL Server 2012 at this present time :-</p>
<ol>
<li>The first and probably my most recommended option would be to wait for (hopefully only) a few more months if you can until the release of Windows 2012.</li>
</ol>
<p>The second and third options are to plan for the Mainstream Support end of Windows 2008/R2 by :-</p>
<ol start="2">
<li>Arranging and paying for Extended Support.</li>
<li>Implementing SQL 2012 in an HA configuration that enables you up blow away your base Operating System and start again (for instance using AlwaysOn or even Peer to Peer Replication are possible routes you can take).</li>
</ol>
<p>Whatever you do, don&#8217;t forget the obvious &#8230;and remember your dates.</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/24hop/'>24HOP</a>, <a href='http://tenbulls.co.uk/category/availability/'>availability</a>, <a href='http://tenbulls.co.uk/category/sql/'>sql</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/3121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/3121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/3121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/3121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/3121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/3121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/3121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/3121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3121&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/04/24/remember-your-os-when-upgrading-to-sql-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/mainstream_24hoursofpassppt_moves_like_jagger.jpg" medium="image">
			<media:title type="html">Mainstream_24HoursofPASSPPT_moves_like_jagger</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/beautiful-cottage.jpg" medium="image">
			<media:title type="html">beautiful cottage</media:title>
		</media:content>
	</item>
		<item>
		<title>Who&#8217;s active on SQL 2000</title>
		<link>http://tenbulls.co.uk/2012/04/17/whos-active-on-sql-2000/</link>
		<comments>http://tenbulls.co.uk/2012/04/17/whos-active-on-sql-2000/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 18:38:56 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[connectivity]]></category>
		<category><![CDATA[dmv]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[tsql]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=3084</guid>
		<description><![CDATA[Yes yes yes I *know* we are currently on SQL 2012 but just hear me out for a second&#8230; I think I am probably one of the only people on the planet who has not (yet) used Adam Machanic&#8217;s (blog&#124;twitter) &#8230; <a href="http://tenbulls.co.uk/2012/04/17/whos-active-on-sql-2000/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3084&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yes yes yes I <em>*know*</em> we are currently on SQL 2012 but just hear me out for a second&#8230;</p>
<p><img class="alignright size-full wp-image-3116" title="twitterwhois" src="http://retracement.files.wordpress.com/2012/04/twitterwhois.png?w=640" alt=""   />I think I am probably one of the only people on the planet who has not (yet) used Adam Machanic&#8217;s (<a title="Adam Machanic Blog" href="http://sqlblog.com/blogs/adam_machanic/default.aspx" target="_blank">blog</a>|<a title="Adam Machanic Twitter" href="https://twitter.com/#!/adammachanic" target="_blank">twitter</a>) <a title="who is active" href="http://sqlblog.com/blogs/adam_machanic/archive/2011/04/27/who-is-active-v11-00-a-month-of-activity-monitoring-part-27-of-30.aspx" target="_blank">whoisactive</a> Stored Procedure. One of the reasons for this is that going right back to the days of SQL Server 2000 I had rolled my own stored procedure which worked very nicely and did everything that I ever needed it to.</p>
<p>With the advent of SQL Server 2005 came the ever so useful DMOs and whilst these gave an even more insightful portal into the guts of SQL 2005 (and now all versions above) internals, my own Stored Procedure still gave me all the information I needed. If there was any extra information I needed to obtain, I would usually delve into the DMVs using code snippets taken primarily from Louis Davidson or Glenn Berry.</p>
<p>I&#8217;ll be honest. I never got around to rewriting the code I wrote -I got lazy people! I always intended on doing so, but never quite found the time or excuse.</p>
<p>Well today whilst monitoring Twitter&#8217;s #SQLHELP hashtag I came across a request for a SQL 2000 version of whoisactive. I offered up my dusty ol&#8217; proc and it was gratefully accepted&#8230;</p>
<hr />
<p>Please be aware the the following code has been provided as is, taken straight from my very own (old) scripted &#8216;dbaadmin&#8217; solution database targeted specifically towards SQL 2000 but has been tested and works up to (at least) SQL 2008R2 (I have not tested on SQL 2012). Because of this, my usp_activity Stored Procedure requires two prerequisites to work :-</p>
<ol>
<li>A dbaadmin database</li>
<li>An activity table created in the dbaadmin database</li>
</ol>
<p>I appreciate that in your environment, you may have your own administrative databases -but luckily I have extensively commented my code so it really shouldn&#8217;t be very difficult for you to do the switch. With respect to the activity table, that is simply needed for the capture parameter if you wish to persist activity statistics. If that is not something that you need, then again you can remove the code segment for that and therefore remove the dependency.</p>
<p>Before I give you the code let me tell you roughly how it works. In SQL 2000, in order to obtain the last executed statement for a SPID we would use <a title="DBCC INPUTBUFFER" href="http://msdn.microsoft.com/en-us/library/ms187730.aspx" target="_blank">DBCC INPUTBUFFER</a>(spidid). The other part of the equation is the querying of the master.dbo.sysprocesses  table to view all active SPIDs on our instance. Unfortunately, since the DBCC result set is being returned per SPID and not as a tabular result set for all, we are unable to join our last executed statement result to the sysprocesses result set. In addition, the second challenge is that in order to store the output of each DBCC INPUTBUFFER request (using the INSERT EXEC technique)  we must insert each item separately into a table as is. The output does not have a SPID id and therefore this means we are missing the join key in this table. To overcome this second challenge I simply perform the insert (into a table that has a column for a SPID id) and then update the SPID number as a separate operation. We perform our DBCC INPUTBUFFER for each SPID in succession using a cursor. Now we have our last executed statement table with respective SPID ids. More importantly we have also solved our first problem and are able to join our sysprocesses data (first captured into a temporary table)  against our statement data &#8230;who needs DMOs!</p>
<p>The stored procedure uses a selection of named parameters with defaults and the most important of these is the @help parameter.</p>
<p>If you execute the stored procedure as follows :-</p>
<p><pre class="brush: sql; gutter: false;">
exec dbo.usp_activity @help=1
</pre></p>
<p>Then you will receive the very useful help output :-</p>
<p><pre class="brush: plain; gutter: false;">
Help Specified.

	@dbname sysname = '', --optional option (if unspecified all activity is captured, otherwise only activity for specified database is captured)
	@capture bit = 0, --optional option (if unspecified results are not captured, otherwise enables capture process activity to dbaadmin..activity table)
	@show bit = 1, --optional option (show process list (default))
	@excludespid int = 0, --optional option (exclude spidid from process list (default))
	@filteronspid int = 0, --optional option (display only spid, 0 for all spids (default))
    @blockedonly int = 0, --optional option (display only spids participating in blocking, 0 for all active spids (default))
	@simple int = 0, --option option (display cut down column list for result set)
	@help bit = 0 --optional option (view help)
</pre></p>
<p>If you wish to return all current SPIDs then leave off all parameters OR if you wish to return all SPIDs currently running in a database context then specify the @dbname parameter. One parameter that comes in very useful is @blockedonly and will return only blockers or blocked SPIDs by specifying a value of 1 :-</p>
<p><pre class="brush: sql; gutter: false;">
exec dbo.usp_activity @blockedonly=1
</pre></p>
<p>This returns a very useful amount of information about our blockers and blocked SPIDs and has saved my bacon on many occasions (result set below has been condensed) :-<br />
<img class="size-full wp-image-3102 alignnone" title="spid1a" src="http://retracement.files.wordpress.com/2012/04/spid1a.png?w=640" alt=""   /><img class="size-full wp-image-3094 alignnone" title="spid2" src="http://retracement.files.wordpress.com/2012/04/spid2.png?w=640" alt=""   /><img class="size-full wp-image-3104 alignnone" title="spid3a" src="http://retracement.files.wordpress.com/2012/04/spid3a.png?w=640" alt=""   /><img class="size-full wp-image-3096 alignnone" title="spid4" src="http://retracement.files.wordpress.com/2012/04/spid4.png?w=640" alt=""   /><br />
<img class="size-full wp-image-3099 alignnone" title="spid5a" src="http://retracement.files.wordpress.com/2012/04/spid5a.png?w=640" alt=""   /></p>
<p>I shan&#8217;t go into any more detail about any of the other parameters or how you would use them since I think they are fairly obvious but if not they shouldn&#8217;t take you very long to figure them out. So for now I shall list the code that you will need to setup usp_activity.</p>
<p>First we create the dbaadmin database.</p>
<p><pre class="brush: sql; gutter: false;">
CREATE DATABASE dbaadmin
GO
</pre></p>
<p>Next we need to create the activity table within the dbaadmin database.</p>
<p><pre class="brush: sql; gutter: false;">
USE [dbaadmin]
GO
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
USE dbaadmin
GO
IF 'activity' IN (SELECT NAME FROM sysobjects WHERE TYPE = 'U')
BEGIN
PRINT 'Table activity already exists, dropping before executing create script...'
DROP TABLE activity
END
GO
-- =============================================
-- Author:        Mark Broadbent
-- Create date: 13/02/2001
-- Description:    Creates activity table to store results for stored procedure usp_activity
-- =============================================
CREATE TABLE [dbo].[activity](
[database] [nvarchar](128) NOT NULL,
[spid] [smallint] NOT NULL,
[kpid] [smallint] NOT NULL,
[blocked] [smallint] NOT NULL,
[waittype] [binary](2) NOT NULL,
[waittime] [bigint] NOT NULL,
[lastwaittype] [nchar](32) NOT NULL,
[waitresource] [nchar](256) NOT NULL,
[dbid] [smallint] NOT NULL,
[uid] [smallint] NOT NULL,
[cpu] [int] NOT NULL,
[physical_io] [bigint] NOT NULL,
[memusage] [int] NOT NULL,
[login_time] [datetime] NOT NULL,
[last_batch] [datetime] NOT NULL,
[ecid] [smallint] NOT NULL,
[open_tran] [smallint] NOT NULL,
[status] [nchar](30) NOT NULL,
[sid] [binary](86) NOT NULL,
[hostname] [nchar](128) NOT NULL,
[program_name] [nchar](128) NOT NULL,
[hostprocess] [nchar](8) NOT NULL,
[cmd] [nchar](16) NOT NULL,
[nt_domain] [nchar](128) NOT NULL,
[nt_username] [nchar](128) NOT NULL,
[net_address] [nchar](12) NOT NULL,
[net_library] [nchar](12) NOT NULL,
[loginame] [nchar](128) NOT NULL,
[context_info] [binary](128) NOT NULL,
[sql_handle] [binary](20) NOT NULL,
[stmt_start] [int] NOT NULL,
[stmt_end] [int] NOT NULL,
[request_id] [int] NULL,    --new column in sysprocesses in 2005
[eventtype] [nvarchar](30) NULL,
[parameters] [int] NULL,
[eventinfo] [varchar](4000) NULL,
[snaptime] [smalldatetime] NULL

) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

PRINT '======================================================================================================='
IF 'activity' IN (SELECT NAME FROM sysobjects WHERE TYPE = 'U')
BEGIN
PRINT 'Table activity successfully created...'
END

GO
</pre></p>
<p>And finally the Stored Procedure itself must be created.</p>
<p><pre class="brush: sql; gutter: false;">
USE [dbaadmin]
GO
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
USE dbaadmin
GO
IF 'usp_activity' NOT IN (SELECT NAME FROM sysobjects WHERE TYPE = 'P')
BEGIN
EXEC ('
CREATE PROCEDURE usp_activity AS
SELECT ''This is a stub procedure, implementation of it will be created by an ALTER statement''
')
PRINT 'Procedure usp_activity does not exists, creating a stub procedure before executing create script...'
END
GO
-- =============================================
-- Author:        Mark Broadbent
-- Create date: 13/02/2001
-- Description:    Procedure usp_activity captures current activity and respective executing/ed statements to a table called dbaadmin..activity (table is created if it does not exist). Table is refreshed whenever procedure is ran
-- Version: 0.9
-- Dependencies: NONE
-- Changes: Version 0.6 truncates the activity table when capture = 0
-- Changes: Version 0.7 added stub functionality
-- Changes: Version 0.8 added simple view
-- =============================================
ALTER PROC [dbo].[usp_activity]
@dbname sysname = '', --optional option (if unspecified all activity is captured, otherwise only activity for specified database is captured)
@capture bit = 0, --optional option (if unspecified results are not captured, otherwise enables capture process activity to dbaadmin..activity table. simple view cannot be captured.)
@show bit = 1, --optional option (show process list (default))
@excludespid int = 0, --optional option (exclude spidid from process list (default))
@filteronspid int = 0, --optional option (display only spid, 0 for all spids (default))
@blockedonly int = 0, --optional option (display only spids participating in blocking, 0 for all active spids (default))
@simple int = 0, --option option (display cut down column list for result set)
@help bit = 0 --optional option (view help)
AS
SET NOCOUNT ON

IF @help = 1
BEGIN
PRINT 'Help Specified.'
PRINT ''
GOTO printoptions
END

IF @dbname NOT IN (SELECT name FROM master..sysdatabases) AND LEN(@dbname) &gt; 0
BEGIN
PRINT @dbname + ' database specified cannot be found.'
PRINT ''
RETURN
END

--Create table #inputbuffer (EXEC cannot use table variables so that is why they are not used!)
CREATE TABLE #inputbuffer (
rowid INT IDENTITY,    --simply used to map on spid
spid INT,
EventType NVARCHAR(30),
Parameters INT,
EventInfo varchar(4000)
)

--Create table spids
SELECT d.name AS 'database',p.*
INTO #spids
FROM
Master..sysprocesses p
join master..sysdatabases d ON p.dbid = d.dbid
WHERE 1=0

DECLARE @SPID_id NVARCHAR(5)
DECLARE @statement NVARCHAR(300)

--declare and execute cursor
DECLARE SPIDCursor CURSOR FORWARD_ONLY FOR
SELECT p.spid
FROM
Master..sysprocesses p (NOLOCK)
join master..sysdatabases d  (NOLOCK) ON p.dbid = d.dbid
WHERE p.ecid=0 AND (@dbname = '' OR UPPER(d.name) = UPPER(@dbname))
AND (@filteronspid =0 OR p.spid = @filteronspid)
AND (@blockedonly = 0
OR p.spid IN (SELECT spid FROM Master..sysprocesses (NOLOCK) WHERE blocked &gt; 0)
OR p.spid IN (SELECT blocked FROM Master..sysprocesses (NOLOCK) WHERE blocked &gt; 0)
)
ORDER BY p.spid

OPEN SPIDCursor
FETCH NEXT FROM SPIDCursor INTO @SPID_id
WHILE @@fetch_status = 0
BEGIN
SET @statement ='INSERT #inputbuffer (eventtype,parameters,eventinfo) EXEC(''DBCC inputbuffer(' + ltrim(@SPID_id) + ') WITH NO_INFOMSGS'')'
--PRINT @statement

--Insert current running spids into table
INSERT INTO #spids
SELECT d.name AS 'database', p.*
FROM
Master..sysprocesses p (NOLOCK)
join master..sysdatabases d  (NOLOCK) ON p.dbid = d.dbid
WHERE p.ecid=0 and p.spid =@SPID_id
and p.spid &lt;&gt; @@spid  --exclude running spid
and p.spid &lt;&gt; @excludespid

EXEC (@statement)
--Update #inputbuffer table to tag on spid
UPDATE #inputbuffer SET spid = @SPID_id WHERE rowid = IDENT_CURRENT( '#inputbuffer' )

FETCH NEXT FROM SPIDCursor INTO @SPID_id
END
CLOSE SPIDCursor
DEALLOCATE SPIDCursor

IF @capture = 1 AND @simple = 0 --simple view cannot be captured
BEGIN
--reason this is being executed through exec is to have ordering and to be able to specify ordering
--of columns if we so wish
INSERT dbaadmin.dbo.activity EXEC('SELECT s.*,i.eventtype,i.parameters,i.eventinfo, getdate() from #spids s
LEFT JOIN #inputbuffer i ON i.spid = s.spid
ORDER BY s.spid')
END
ELSE
TRUNCATE TABLE dbaadmin..activity

IF @show =1
IF @simple = 0
EXEC('SELECT s.*,i.eventtype,i.parameters,i.eventinfo, getdate() as snapdate from #spids s
LEFT JOIN #inputbuffer i ON i.spid = s.spid
ORDER BY s.spid')
ELSE
EXEC('SELECT s.[database], s.spid, s.blocked, s.waittime, s.cpu, s.physical_io, s.memusage, s.open_tran, s.status, s.hostname, s.loginame, I.eventinfo from #spids s
LEFT JOIN #inputbuffer i ON i.spid = s.spid
ORDER BY s.spid')

DROP TABLE #inputbuffer
DROP TABLE #spids

RETURN
PRINT '======================================================================================================='
printoptions:
PRINT
'
@dbname sysname = '''', --optional option (if unspecified all activity is captured, otherwise only activity for specified database is captured)
@capture bit = 0, --optional option (if unspecified results are not captured, otherwise enables capture process activity to dbaadmin..activity table)
@show bit = 1, --optional option (show process list (default))
@excludespid int = 0, --optional option (exclude spidid from process list (default))
@filteronspid int = 0, --optional option (display only spid, 0 for all spids (default))
@blockedonly int = 0, --optional option (display only spids participating in blocking, 0 for all active spids (default))
@simple int = 0, --option option (display cut down column list for result set)
@help bit = 0 --optional option (view help)
'

GO
SET ANSI_PADDING OFF

PRINT '======================================================================================================='
IF 'usp_activity' IN (SELECT NAME FROM sysobjects WHERE TYPE = 'P')
BEGIN
PRINT 'Procedure usp_activity successfully altered...'
END

GO
</pre></p>
<p>So there you have it. I don&#8217;t pretend for one minute that the T-SQL code is perfect, even during the process of putting this post together I spotted a couple of things that should be changed such as wrong choices for datatypes and a slightly roundabout way for checking the existence of objects, but the important thing is that the code works and works well. Therefore if you are still using SQL Server 2000 in your existing environment and need whoisactive style functionality then look know further. Enjoy.</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/concurrency/'>Concurrency</a>, <a href='http://tenbulls.co.uk/category/connectivity/'>connectivity</a>, <a href='http://tenbulls.co.uk/category/dmv/'>dmv</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>, <a href='http://tenbulls.co.uk/category/development/tsql/'>tsql</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/3084/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/3084/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/3084/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/3084/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/3084/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/3084/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/3084/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/3084/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3084&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/04/17/whos-active-on-sql-2000/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/twitterwhois.png" medium="image">
			<media:title type="html">twitterwhois</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/spid1a.png" medium="image">
			<media:title type="html">spid1a</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/spid2.png" medium="image">
			<media:title type="html">spid2</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/spid3a.png" medium="image">
			<media:title type="html">spid3a</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/spid4.png" medium="image">
			<media:title type="html">spid4</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/spid5a.png" medium="image">
			<media:title type="html">spid5a</media:title>
		</media:content>
	</item>
		<item>
		<title>Schedule so far</title>
		<link>http://tenbulls.co.uk/2012/04/13/schedule-so-far/</link>
		<comments>http://tenbulls.co.uk/2012/04/13/schedule-so-far/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 19:24:45 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[personaldevelopment]]></category>
		<category><![CDATA[publicspeaking]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=3069</guid>
		<description><![CDATA[Recently I have been starting to get a little stressed about whether or not I have a speaking engagement coming up. Whilst I use Google Calendar and most recently have set up a premium Remember the Milk account to organise &#8230; <a href="http://tenbulls.co.uk/2012/04/13/schedule-so-far/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3069&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_3074" class="wp-caption alignright" style="width: 310px"><a href="http://retracement.files.wordpress.com/2012/04/sayhi.jpg"><img class="wp-image-3074 " title="sayhi" src="http://retracement.files.wordpress.com/2012/04/sayhi.jpg?w=300&h=389" alt="" width="300" height="389" /></a><p class="wp-caption-text">Don't forget to say Hi!</p></div>
<p>Recently I have been starting to get a little stressed about whether or not I have a speaking engagement coming up.</p>
<p>Whilst I use <a title="Google Calendar" href="https://www.google.com/calendar" target="_blank">Google Calendar</a> and most recently have set up a premium <a title="RTM" href="http://www.rememberthemilk.com/" target="_blank">Remember the Milk</a> account to organise my life a little better, I thought it was probably a good idea to see where I am with my past and forth coming presentations for the first half of this year.</p>
<p>I was quite surprised that I&#8217;ve already equalled the number of my presentations for the whole of last year&#8230;</p>
<ul>
<li><del>Due to present at the <a title="SQLCambs" href="http://sqlcambs.org.uk/" target="_blank">Cambridgeshire SQL Server User Group</a> on the 1st March</del></li>
<li><del>Due to present at the <a title="Southampton SQL Server User Group" href="http://sqlserverfaq.com/events/338/Jonathan-Allen-and-Mark-Broadbent-both-presenting.aspx" target="_blank">Southampton SQL Server User Group</a> on the 7th March</del></li>
<li><del>Due to present at <a title="SQLSaturday 115 SQL 2012 on Server Core" href="http://www.sqlsaturday.com/viewsession.aspx?sat=115&amp;sessionid=7076" target="_blank">SQLSaturday #115 in Lisbon</a> on 17th March</del></li>
<li><del>Due to present at <a title="24HOP Mark Broadbent" href="http://www.sqlpass.org/24hours/spring2012/SessionsbySchedule/SessionDetails.aspx?sid=2562" target="_blank">24 Hours of PASS</a> on 21st March</del></li>
<li><del>Due to present at <a title="SQLSaturday 105 Moves like Jagger" href="http://sqlsaturday.com/viewsession.aspx?sat=105&amp;sessionid=6542" target="_blank">SQL Saturday #105 Dublin</a> on 24th March</del></li>
<li><del>Due to present at <a title="SQLBits X SQL 2012 on Server Core" href="http://sqlbits.com/Sessions/Event10/Enter_the_Dragon_SQL_2012_on_Server_Core" target="_blank">SQLBits X in London</a> on 30th March</del></li>
<li>Due to present at the <a title="Leeds SQL Server User Group" href="http://sqlserverfaq.com/events/349/Leeds-User-Group-April-Meeting-With-Tony-Rogerson-and-Mark-BroadBent.aspx" target="_blank">Leeds SQL Server User Group</a> on the 25th April</li>
<li>Due to present at the <a title="Manchester SQL Server User Group" href="http://sqlserverfaq.com/events/369/Thursday-night-meeting-at-BSS-with-Chris-TestaONeill-and-Mark-Broadbent.aspx" target="_blank">Manchester SQL Server User Group</a> on the 26th April</li>
<li>Due to present at <a title="SQLRally Dallas" href="http://www.sqlpass.org/sqlrally/2012/dallas/Agenda/Session.aspx?sid=2190" target="_blank">SQLRally Dallas</a> on Friday 11th May</li>
<li>Due to present at the <a title="Maidenhead SQL Server User Group" href="http://sqlserverfaq.com/events/362/Maidenhead-UG-meeting-Tuesday-12th-June-Neil-Hambly-and-Mark-Broadbent-presenting.aspx" target="_blank">Maidenhead SQL Server User Group</a> on the 12th June</li>
<li>Due to present at the <a title="Leicester SQL User Group" href="http://www.ssugleicester.org.uk/" target="_blank">Leicester  SQL Server User Group</a> on the 20th June</li>
</ul>
<p>If you are visiting any of these events please make sure to say hello, probably one of the biggest benefits of speaking at them is getting to know, meet and become friends with new people. I would just love to add you to my list!</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/personaldevelopment/'>personaldevelopment</a>, <a href='http://tenbulls.co.uk/category/publicspeaking/'>publicspeaking</a>, <a href='http://tenbulls.co.uk/category/sql/'>sql</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/3069/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/3069/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/3069/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/3069/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/3069/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/3069/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/3069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/3069/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3069&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/04/13/schedule-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/sayhi.jpg" medium="image">
			<media:title type="html">sayhi</media:title>
		</media:content>
	</item>
		<item>
		<title>Weight doesn&#8217;t ALWAYS have to be AlwaysOn</title>
		<link>http://tenbulls.co.uk/2012/04/05/weight-doesnt-always-have-to-be-alwayson/</link>
		<comments>http://tenbulls.co.uk/2012/04/05/weight-doesnt-always-have-to-be-alwayson/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 15:56:06 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[availability]]></category>
		<category><![CDATA[clustering]]></category>
		<category><![CDATA[scale-out]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=3032</guid>
		<description><![CDATA[One thing I keep hearing myself mentioning more and more in conversation (and most recently in a discussion group at SQLBits a few days ago) is the ability to configure your Windows Cluster Quorum for situations where each cluster node &#8230; <a href="http://tenbulls.co.uk/2012/04/05/weight-doesnt-always-have-to-be-alwayson/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3032&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One thing I keep hearing myself mentioning more and more in conversation (and most recently in a discussion group at <a title="SQLBits" href="http://sqlbits.com/" target="_blank">SQLBits</a> a few days ago) is the ability to configure your Windows Cluster Quorum for situations where each cluster node may not be of equal importance.</p>
<p>In <a title="SQL Server" href="http://www.microsoft.com/sqlserver/en/us/default.aspx" target="_blank">SQL Server 2012</a> we have various high availability enhancements and improvements and most of these are branded under the term <a title="AlwaysOn" href="http://www.microsoft.com/sqlserver/en/us/solutions-technologies/mission-critical-operations/SQL-Server-2012-high-availability.aspx" target="_blank">AlwaysOn</a>. In particular we have enhancements to AlwaysOn SQL Failover Clustering and a new technology known as AlwaysOn Availability Groups. Whilst I won&#8217;t bore you with any specific details about what these are or how to use them -since that is no doubt something for another day, you may probably be already aware that for both, each require the existence of a Windows Cluster in order to use them.</p>
<p>One of the biggest reasons why Windows Clustering has been adopted as a pre-requisite for AlwaysOn Availability Groups is to use the mechanism known as the <em>Quorum</em> that provides a voting mechanism to determine which nodes can collectively be considered to be still &#8220;alive&#8221; and which nodes can be singularly or collectively be considered to have &#8220;failed&#8221;. This mechanism is a very important concept to AlwaysOn since it prevents the classic split brain problem. With respect to Availability Groups it also means that the Database Witness server that is used for Database Mirroring is not needed to implement this technology and because of this, is more scalable and reliable than it otherwise would be. <strong>*1</strong></p>
<div id="attachment_3043" class="wp-caption alignnone" style="width: 560px"><img class="size-full wp-image-3043" title="clones2" src="http://retracement.files.wordpress.com/2012/04/clones21.jpg?w=640" alt=""   /><p class="wp-caption-text">Quorum is not so CUTE!</p></div>
<p>As you may also be aware, in Windows 2008/R2 there are four types of <a title="Quorum Model" href="http://technet.microsoft.com/en-us/library/cc731739.aspx" target="_blank">Quorum model </a>that you may use and these are:-</p>
<ul>
<li>Node Majority -where more than half the nodes must remain active.</li>
<li>Node and Disk Majority -where the disk acts as an extra vote and that more than half the votes must be available.</li>
<li>Node and File Share Majority -where the file share acts as an extra vote and that more than half the votes must be available.</li>
<li>No Majority: Disk Only -the disk quorum must remain available.</li>
</ul>
<p>In all cases, should the required situations not be true, each Windows Cluster Node&#8217;s Cluster Service will automatically shutdown since &#8220;Quorum&#8221; is lost.</p>
<p>In situations where the total number of Cluster Nodes is an odd number then you would traditionally use the Node Majority Quorum model so that you could lose a total of half of your cluster nodes minus one before having a cluster failure. Otherwise the other three Quorum models should be considered (generally Disk Only Quorum could be a valid option when the node count is one or two but should otherwise only be considered in special cases).</p>
<p>What is not commonly known is that a Cluster Node does not <em>HAVE</em> to have a quorum vote. By default they do, but it is possible to set what is known as <em>Node Weight</em> to zero. Before we come onto that though, you are probably wondering exactly why you would want to do this? Well there are several scenarios that make this a desirable thing to do such as in situations where you have implemented a Geo-Cluster (a Cluster across Geographic locations).</p>
<p>Consider the following diagram :-</p>
<div id="attachment_3036" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-3036" title="cluster600" src="http://retracement.files.wordpress.com/2012/04/cluster600.png?w=640" alt=""   /><p class="wp-caption-text">AlwaysOn FCI or AG nodes across sites</p></div>
<p>As you can see we have Site A and Site B each hosting a selection of Cluster Nodes. It is possible that each node might be hosting a standalone instance of SQL Server and is simply part of a Windows Cluster because we are using Availability Groups (so each can house a Replica) OR it might be that we have implemented SQL Failover Clustered Instances perhaps because that we require the ability to fail SQL instances across sites.</p>
<p>Now in the scenario we propose (and assuming we choose a Quorum model of Node Majority) the total number of Quorum votes equals five. Imagine then that we suddenly have a failure of Node C. Since the number of votes would then equal four we would still have &#8220;quorum&#8221;. Now consider the prospect that we lose connectivity to Site B. This event would not only cause the Cluster Service for nodes on Site B to shut down (since their total votes of two would be less than the required majority of three) but would also cause the Cluster Service for nodes on Site A to shut down since there would also only be two votes available.</p>
<p>Although the Cluster Nodes on Site A could be forced to start, we have unfortunately lost availability (however temporarily) and more importantly requires manual intervention. Perhaps a slightly more elegant solution would be to set the Node Weight of  Node D and E to zero meaning that nodes A,B and C are the only ones that can cast a vote to make quorum (making a total Quorum count of three). In the event of a loss of one node on Site A and a loss of connectivity to Site B, two voting nodes will still be casting a quorum majority thereby keeping the Cluster available.</p>
<p>So lets now move onto how you are able to set your Node Weight for your Cluster nodes. Unsurprisingly we can set the Cluster node &#8220;Node Weight&#8221; through a property called &#8220;NodeWeight&#8221; but this is not accessible by default. This can be demonstrated by using the following PowerShell script (first we must import the failover clustering module):-</p>
<p><pre class="brush: powershell; gutter: false;">
Import-Module failoverclusters
Get-Clusternode|Format-Table -auto -property Name, State, NodeWeight
</pre></p>
<p>We get the following result:-</p>
<p><pre class="brush: plain; gutter: false;">
Name         State NodeWeight
----         ----- ----------
wonko           Up
wowbagger       Up
</pre></p>
<p>However upon installing <a title="http://support.microsoft.com/kb/2494036" href="http://support.microsoft.com/kb/2494036" target="_blank">Hotfix 2494036</a> (which I should add requires a reboot to take effect) this makes the NodeWeight property accessible:-</p>
<p><pre class="brush: plain; gutter: false;">
Name         State NodeWeight
----         ----- ----------
wonko           Up          1
wowbagger       Up          0
</pre></p>
<p>As you can see from the above, I have already set the NodeWeight of wowbagger to zero and I did so by running the following PowerShell command:-</p>
<p><pre class="brush: powershell; gutter: false;">
(Get-ClusterNode &quot;wowbagger&quot;).NodeWeight = 0
</pre></p>
<p>Before you get all Jackie Chan on me and set some of your Cluster Nodes node weights to zero you should first seriously sit down and draw up a design strategy as to whether this makes sense to do so. In the scenario I proposed &#8220;the Business&#8221; had stipulated that a loss of Site B or any of the Cluster Nodes within it should not in any way effect the availability of the primary Site A but by doing so we reduce the total number of possible failures on site A to a maximum of one failure in a Cluster containing five nodes! Therefore be very careful and cautious and only when necessary remember that your Cluster Node weight doesn&#8217;t always have to be AlwaysOn.</p>
<p><strong>*1</strong><em> This is a contentious issue for some (including with me) since unlike with Database Mirroring, AlwaysOn Availability Groups (since it uses Windows Clustering) requires that a single Active Directory Domain spans each Geographic location.</em></p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/availability/'>availability</a>, <a href='http://tenbulls.co.uk/category/clustering/'>clustering</a>, <a href='http://tenbulls.co.uk/category/scale-out/'>scale-out</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/3032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/3032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/3032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/3032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/3032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/3032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/3032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/3032/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3032&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/04/05/weight-doesnt-always-have-to-be-alwayson/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/clones21.jpg" medium="image">
			<media:title type="html">clones2</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/04/cluster600.png" medium="image">
			<media:title type="html">cluster600</media:title>
		</media:content>
	</item>
		<item>
		<title>Moves Like Jagger &#8211; my 24HOP baptism</title>
		<link>http://tenbulls.co.uk/2012/03/26/moves-like-jagger-my-24hop-baptism/</link>
		<comments>http://tenbulls.co.uk/2012/03/26/moves-like-jagger-my-24hop-baptism/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 15:07:58 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[24HOP]]></category>
		<category><![CDATA[personaldevelopment]]></category>
		<category><![CDATA[publicspeaking]]></category>
		<category><![CDATA[sqlpass]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=3011</guid>
		<description><![CDATA[It is now nearly one week since my début on 24 Hours Of PASS and I thought it would be useful for people considering presenting on 24HOP themselves that I write my thoughts on the whole experience. I have also &#8230; <a href="http://tenbulls.co.uk/2012/03/26/moves-like-jagger-my-24hop-baptism/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3011&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It is now nearly one week since my début on <a title="24 Hours of PASS Spring 2012" href="http://www.sqlpass.org/24hours/spring2012/Home.aspx" target="_blank">24 Hours Of PASS</a> and I thought it would be useful for people considering presenting on 24HOP themselves that I write my thoughts on the whole experience. I have also taken the liberty to publish in advance my slide deck (<a title="Moves Like Jagger Slide Deck" href="http://retracement.files.wordpress.com/2012/03/24hoursofpassppt_moves_like_jagger.pdf">here</a>) whilst I have managed to catch a rare quiet period.</p>
<p>I have been very lucky over the last couple of years to have presented many times to a selection of large and small events around the world and yet as nearly all presenters will tell you, we are always still learning the craft. Every event is a new experience, every delivery is different and perfection is always a distant and impossible dream. So although the prospect of talking to an audience was in itself not a particular problem, the difference in delivery medium, scale and truly International audience meant that the whole ball-game had totally changed.</p>
<p>My biggest concern leading up to the event had been that I would not make a mess of the IBTalk delivery platform. Whilst we had been given an on-line introduction to the interface several days before the date of destiny, I still did not feel confident that I fully understood its intricacies . Luckily, my ominous doubts that things were not going to work meant that I stumbled into my presentation interface several hours beforehand and realised that I could practice (in particular) switching between presentation and demo until I was comfortable. I came across one issue where I couldn&#8217;t switch back into my presentation so I ensured that I appreciated how I had gone wrong way ahead of time.</p>
<p>My next concern -and this is always my ongoing and forever permanent worry is that my content was not good enough. Probably for the first time ever for me, before delivering this presentation to a major event I had given derivations of this to a couple of UK user groups. This not only helped me practice what I was going to say to a live audience, but (for me) more importantly let me gauge the importance of certain sections of that material. Whilst I still believe that more changes can be made to improve the presentation, I was now fairly confident that the material would have value to someone.</p>
<p>As the time of my event drew ever nearer I started to worry that I would have connectivity issues and drop out of IBTalk. This was a particularly relevant fear since it had affected at least one of the sessions earlier in the day. In order to minimize this risk I decided to cement all those possible holes of potential failure such as tying back cables so they couldn&#8217;t get accidentally pulled or kicked, securing my home hub (again out of my clumsy reach) and banning the use of our broadband for the day for TV streaming and other non 24HOP use. This latter point was very important to eliminate the nefarious and secretive throttling of my network bandwidth by my supplier.</p>
<p>A  very good tip that I have picked up simply by watching the mistakes of other on-line presentations in the past is to watch your own presentation on another screen to avoid those occasions where you could speak for minutes on a demo and still be stuck on a slide. I checked first with the IBTalk platform experts to ensure that this would not cause me bandwidth and quality of service issues and was told that it would be fine. Doing this allowed me to realise the times I was going too fast with my talking, slides and demos due to lag but also gave me confidence that I was not making a mistake in the IBTalk interface.</p>
<p>In the end, everything went fairly smoothly and I was very grateful to all the Twitterati for their messages of support and encouragement and hope I am lucky enough that one day I will be presenting another 24HOP session.</p>
<p>If you are interested, my session scores are included at the bottom of this post -I would just like to say a huge THANK YOU to you all since they were far better than I would ever dared imagine.</p>
<p><img class="alignnone size-full wp-image-3012" title="Evals_24hop" src="http://retracement.files.wordpress.com/2012/03/evals_24hop.png?w=640" alt=""   /></p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/24hop/'>24HOP</a>, <a href='http://tenbulls.co.uk/category/personaldevelopment/'>personaldevelopment</a>, <a href='http://tenbulls.co.uk/category/publicspeaking/'>publicspeaking</a>, <a href='http://tenbulls.co.uk/category/sqlpass/'>sqlpass</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/3011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/3011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/3011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/3011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/3011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/3011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/3011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/3011/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=3011&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/03/26/moves-like-jagger-my-24hop-baptism/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/03/evals_24hop.png" medium="image">
			<media:title type="html">Evals_24hop</media:title>
		</media:content>
	</item>
		<item>
		<title>How to remove your Virtual machine&#8217;s BLOAT</title>
		<link>http://tenbulls.co.uk/2012/03/14/how-to-remove-you-virtual-machines-bloat/</link>
		<comments>http://tenbulls.co.uk/2012/03/14/how-to-remove-you-virtual-machines-bloat/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 12:43:52 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[filesystem]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=2965</guid>
		<description><![CDATA[Well I guess its been a long time since I have offered you a useful nugget of information or help, so I have decided to haul myself to the keyboard and provide a useful tip that I have been saving &#8230; <a href="http://tenbulls.co.uk/2012/03/14/how-to-remove-you-virtual-machines-bloat/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2965&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well I guess its been a long time since I have offered you a useful nugget of information or help, so I have decided to haul myself to the keyboard and provide a useful tip that I have been saving for a rainy day. Regular readers to this blog will certainly be no stranger to my positively strong feelings towards Oracle&#8217;s VirtualBox and I have been a user of this product for more years than I can remember. The tip I am about to describe will use VirtualBox in the examples but it should be transferable to any virtualisation product that has the ability to shrink back virtual disks.</p>
<p>Of course in the world of most virtualisation products there is a concept of <em>dynamically expanding</em> virtual disks and <em>fixed-size</em> virtual disks, and VirtualBox is no different having had this ability for many years. There was always the question of whether to choose the dynamic disk to save real disk space or go for the fixed-size for performance gains. In actual fact this argument is a little bit of a red herring these days (more perhaps on this another time) and the reality is that unless you have a virtual disk which is frequently having to allocate space and expand (in the same way database or page files can) you are always better going for the dynamically expanding virtual disks.</p>
<p>Using a dynamic disk provides the ability to have a virtual disk that is only the size required for the files (and some overhead) that it contains. But what happens should your virtual machine disk allocate lots of space to allow for that 10GB SQL Server Database that you were playing around with (and then dropped)? The biggest problem with a dynamic disk is that it slowly creeps up in physical size over time in very much the same way that transaction logs can do in SQL Server if not truncated regularly by taking frequent log backups.</p>
<p>In VirtualBox and competing products, there is the ability to shrink back these dynamic disks to reclaim space back to your host machine. For those of you who have tried doing so will already know that it is usually a hit and miss affair and leaves you scratching your head wondering why your virtual disk shrink has only given back 1GB of a possible 10GB of free space. One of the problems with this type of operation is that the shrink operation will only release space that it knows is free and this is not always a clear cut thing if the disk block has at one time had writes. The Operating System knows they are reusable but the virtualisation shrink may not.</p>
<p>Lets take a quick look at the space consumption of my virtual machine&#8217;s virtual drive sizes&#8230;</p>
<div id="attachment_2978" class="wp-caption alignnone" style="width: 650px"><a href="http://retracement.files.wordpress.com/2012/03/before-shrinking.png"><img class="size-full wp-image-2978" title="before shrinking" src="http://retracement.files.wordpress.com/2012/03/before-shrinking.png?w=640&h=340" alt="" width="640" height="340" /></a><p class="wp-caption-text">wonko is a bit big...</p></div>
<p>So the largest virtual drive belongs to a virtual machine I call wonko and it stands out to me straight away as being an oddity because it (like two other virtual machines) is running on Windows Server Core but is around twice the size of the others. After I take a look inside Wonko, it becomes very apparent to me why it is so large. When I reinstalled Windows Server Core on this VM, I forgot to reformat the hard drive. The installer therefore decided to rename the old Windows directory for safe keeping&#8230;. Oh did I mention that I did this operation twice since my first re-install was wrong!</p>
<p>After completely removing the two offending archived Windows directories I take another look at the virtual disk space consumption&#8230;</p>
<div id="attachment_2973" class="wp-caption alignnone" style="width: 650px"><a href="http://retracement.files.wordpress.com/2012/03/space-in-wonko.jpg"><img class="size-full wp-image-2973" title="space in wonko" src="http://retracement.files.wordpress.com/2012/03/space-in-wonko.jpg?w=640&h=624" alt="" width="640" height="624" /></a><p class="wp-caption-text">My goodness what a lot of free space!</p></div>
<p>Ok so this is now where the magic happens&#8230;</p>
<p>There is a rather fabulous tool from those wonderful Sysinternals chaps called sdelete which will help you mark all your free space as clean. This makes it easier for the virtualisation shrink operation to see that the space can be reclaimed back and the virtual disk can be shrunk.</p>
<p>Running a sdelete /? from the command line gives us the following list of options :-</p>
<p><em>SDelete &#8211; Secure Delete v1.6</em><br />
<em>Copyright (C) 1999-2010 Mark Russinovich</em><br />
<em>Sysinternals &#8211; www.sysinternals.com</em></p>
<p><em>usage: sdelete [-p passes] [-s] [-q] &lt;file or directory&gt; &#8230;</em><br />
<em>       sdelete [-p passes] [-z|-c] [drive letter] &#8230;</em><br />
<em>   -a         Remove Read-Only attribute</em><br />
<em>   -c         Clean free space</em><br />
<em>   -p passes  Specifies number of overwrite passes (default is 1)</em><br />
<em>   -q         Don&#8217;t print errors (Quiet)</em><br />
<em>   -s or -r   Recurse subdirectories</em><br />
<em>   -z         Zero free space (good for virtual disk optimization)</em></p>
<p>And the option we want is pretty obvious isn&#8217;t it? Yes let&#8217;s choose the z parameter&#8230;</p>
<p><em></em><a href="http://retracement.files.wordpress.com/2012/03/sdelete.jpg"><img class="alignnone size-full wp-image-2975" title="sdelete" src="http://retracement.files.wordpress.com/2012/03/sdelete.jpg?w=640&h=371" alt="" width="640" height="371" /></a></p>
<p>Right, now our virtual disk&#8217;s free space is now zeroed out, it is time for us to run our shrink operation. In VirtualBox this can be performed by running <em>VBoxManage modifyhdd &lt;virtualdisk&gt; &#8211;compact</em> and doing so takes several minutes to run through (on my SSD).</p>
<p>Let us take one final look at my host drive and in particular see the size of the wonko virtual disk&#8230;</p>
<div id="attachment_2976" class="wp-caption alignnone" style="width: 650px"><a href="http://retracement.files.wordpress.com/2012/03/after-shrink.png"><img class="size-full wp-image-2976" title="after shrink" src="http://retracement.files.wordpress.com/2012/03/after-shrink.png?w=640&h=347" alt="" width="640" height="347" /></a><p class="wp-caption-text">Wow!</p></div>
<p>I think the results are quite evident and staggering. The wonko disk is now 18GB or so lighter. Time to load up my SSD with lots more VMs!!!</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/filesystem/'>filesystem</a>, <a href='http://tenbulls.co.uk/category/maintenance/'>maintenance</a>, <a href='http://tenbulls.co.uk/category/setup/'>setup</a>, <a href='http://tenbulls.co.uk/category/sql/'>sql</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>, <a href='http://tenbulls.co.uk/category/storage/'>storage</a>, <a href='http://tenbulls.co.uk/category/virtualization/'>virtualization</a>, <a href='http://tenbulls.co.uk/category/windows/'>windows</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/2965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/2965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/2965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/2965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/2965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/2965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/2965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/2965/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2965&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/03/14/how-to-remove-you-virtual-machines-bloat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/03/before-shrinking.png" medium="image">
			<media:title type="html">before shrinking</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/03/space-in-wonko.jpg" medium="image">
			<media:title type="html">space in wonko</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/03/sdelete.jpg" medium="image">
			<media:title type="html">sdelete</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/03/after-shrink.png" medium="image">
			<media:title type="html">after shrink</media:title>
		</media:content>
	</item>
		<item>
		<title>I can speak English, I learn it from a book</title>
		<link>http://tenbulls.co.uk/2012/02/16/i-can-speak-english-i-learn-it-from-a-book/</link>
		<comments>http://tenbulls.co.uk/2012/02/16/i-can-speak-english-i-learn-it-from-a-book/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 21:50:42 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[24HOP]]></category>
		<category><![CDATA[humour]]></category>
		<category><![CDATA[publicspeaking]]></category>
		<category><![CDATA[sqlpass]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=2896</guid>
		<description><![CDATA[Many many years ago when I was still in short trousers I started to take an interest in Movies. My parents had completely different sleeping patterns and my Father was an irritatingly early riser -a fact that would irritate me &#8230; <a href="http://tenbulls.co.uk/2012/02/16/i-can-speak-english-i-learn-it-from-a-book/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2896&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many many years ago when I was still in short trousers I started to take an interest in Movies. My parents had completely different sleeping patterns and my Father was an irritatingly early riser -a fact that would irritate me right into my adolescence and beyond. My mother was the opposite and (like me) very much a night owl. This resulted in there being a period of around 3 to 4 hours before my Mother went to bed, where the Television would be switched to whatever channel she wanted to watch -in other words <span style="text-decoration:underline;">not</span> Sport.</p>
<div id="attachment_2906" class="wp-caption alignnone" style="width: 541px"><a href="http://retracement.files.wordpress.com/2012/02/basil-in-the-ratatouille.jpg"><img class="size-full wp-image-2906  " title="basil in the ratatouille" src="http://retracement.files.wordpress.com/2012/02/basil-in-the-ratatouille.jpg?w=640" alt=""   /></a><p class="wp-caption-text">I come from Barcelona!</p></div>
<p>As I approached the age that staying up beyond 9 pm. was acceptable I tended to sit with her and watch whatever she was watching. Her tastes were very varied and cosmopolitan and we would tend to watch different film genres over seasons. One of the first genres that I remember watching with her were the 1930s and 1940s horror Movies where together we absorbed every Frankenstein (starring Boris Karloff), every Dracula (starring Bela Lugosi) and every Wolfman (starring Lon Chaney Jr.) not to mention the sequels starring Abbott and Costello!</p>
<p>Over a very long time we watched an enormous and varied collection of films and since her tastes where not just limited to English language films; we watched films from France, Belgium, Germany, Japan and any other country we could get on our Gogglebox. Over time reading the subtitles whilst watching each film became as natural as the spoken word to us.</p>
<p>To this very day I meet people who refuse to watch anything that is not spoken in their own language (for whatever reason) and fail to realise just how many amazing films they are missing out on. A long time before Japanese Horror film remakes by Hollywood was the &#8220;norm&#8221;, I sat with a friend who held the believe that subtitled films were impossible to watch but convinced them to join me for the evening to watch a certain Japanese Horror Classic. The evening was a rather scarily enjoyable experience and the film in question was called <a title="IMDB Ringu" href="http://www.imdb.com/title/tt0178868/" target="_blank">Ringu </a>-you will by now know its remake as &#8220;The Ring&#8221;. Let me tell you that even if you have seen the somewhat half-hearted Hollywood effort, the original film in its natural form is quite something to behold. Possibly one of the scariest films of all time and guess what? I watched it years and years before most Westerners (and perhaps even now the majority will not have watched the subtleties of the original).</p>
<div id="attachment_2908" class="wp-caption alignnone" style="width: 491px"><a href="http://retracement.files.wordpress.com/2012/02/ringu1.jpg"><img class="size-full wp-image-2908" title="ringu1" src="http://retracement.files.wordpress.com/2012/02/ringu1.jpg?w=640" alt=""   /></a><p class="wp-caption-text">Time to start running</p></div>
<p>I am sure by now you have been asking yourself &#8220;What is the point to all this?&#8221;  and &#8220;How does it relate to SQL Server?&#8221;. Well let me tell you&#8230;</p>
<p>I have just been speaking privately with Rob Farley (<a title="Rob Farley" href="http://sqlblog.com/blogs/rob_farley/" target="_blank">blog</a>|<a title="Rob Farley Twitter" href="https://twitter.com/#!/rob_farley" target="_blank">twitter</a>) and have found out about the plans for the next iteration of <a title="24HOP Spring 2012" href="http://www.sqlpass.org/24hours/spring2012/" target="_blank">24 Hours of PASS</a>. What he has told me is that each session will have Live Closed Captioning in 15 different languages!!! Can you believe that? This means that all the sessions will be accessible to people who speak other languages other than English and makes 24 Hour of PASS a truly international event for the very first time. As Rob put it &#8220;if someone in China asks you a question in Chinese&#8230; you&#8217;ll be able to read it in English and they&#8217;ll read your answer in Chinese&#8221;.</p>
<p>If you are one of those non-English language SQL professionals that has &#8217;till now not been able to view the English language 24HOP (you are obviously reading this blog using <a title="Google Translate" href="http://translate.google.com/" target="_blank">Google Translate</a> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) and want to have access to valuable, technical, up to date material -then come and join the party. And remember my story, please don&#8217;t forget to introduce a friend!</p>
<p>To register for all 24 sessions go click <a title="24HOP Spring 2012 Session Registration" href="http://www.sqlpass.org/24hours/spring2012/SessionsbySchedule.aspx" target="_blank">here </a>without delay, and don&#8217;t forget to join me for my session &#8220;<a title="Moves like Jagger - Upgrading to SQL 2012" href="http://www.sqlpass.org/24hours/spring2012/SessionsbySchedule/SessionDetails.aspx?sid=2562" target="_blank">Moves like Jagger &#8211; Upgrading to SQL Server 2012</a>&#8220;. You should also check out Rob&#8217;s post about these excellent changes by clicking <a title="Rob Farley Blog 24HOP plans" href="http://sqlblog.com/blogs/rob_farley/archive/2012/02/17/24-hours-of-pass.aspx" target="_blank">here</a>.</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/24hop/'>24HOP</a>, <a href='http://tenbulls.co.uk/category/humour/'>humour</a>, <a href='http://tenbulls.co.uk/category/publicspeaking/'>publicspeaking</a>, <a href='http://tenbulls.co.uk/category/sqlpass/'>sqlpass</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/2896/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/2896/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/2896/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/2896/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/2896/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/2896/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/2896/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/2896/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2896&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/02/16/i-can-speak-english-i-learn-it-from-a-book/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/02/basil-in-the-ratatouille.jpg" medium="image">
			<media:title type="html">basil in the ratatouille</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/02/ringu1.jpg" medium="image">
			<media:title type="html">ringu1</media:title>
		</media:content>
	</item>
		<item>
		<title>What are the impersonation rights for my database users?</title>
		<link>http://tenbulls.co.uk/2012/01/30/what-are-the-impersonation-rights-for-my-database-users/</link>
		<comments>http://tenbulls.co.uk/2012/01/30/what-are-the-impersonation-rights-for-my-database-users/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 14:29:25 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[dmv]]></category>
		<category><![CDATA[reporting]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[tsql]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=2834</guid>
		<description><![CDATA[From time to time I get thrown the odd request to provide various bits of information from the SQL Server environment and most recently I was asked about a group of databases that required migrating to another instance. For some &#8230; <a href="http://tenbulls.co.uk/2012/01/30/what-are-the-impersonation-rights-for-my-database-users/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2834&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>From time to time I get thrown the odd request to provide various bits of information from the SQL Server environment and most recently I was asked about a group of databases that required migrating to another instance. For some reason there had been a little bit of a panic about the impersonation rights in each of the databases and their configuration. The request was *ahem* kindly passed to me. The number of database users was huge in each database and performing a manual lookup through the SSMS GUI got rather tiresome very quickly (after about the second user).</p>
<p>My reply was that as long as we ensured each database was migrated with associated logins and mapped correctly (to prevent orphaned users) we didn&#8217;t really need to worry about the impersonation, since it would be contained within the databases and unaffected by the move. Unfortunately, there was no getting away from it, they still wanted a report.</p>
<p>I first decided to perform a web search for the term &#8220;list impersonate rights&#8221; which led my to quite a useful post by Kendal Van Dyke (<a title="Kendal Van Dyke Blog" href="http://www.kendalvandyke.com/" target="_blank">blog</a>|<a title="Kendal Van Dyke Twitter" href="https://twitter.com/SQLDBA" target="_blank">twitter</a>) called &#8220;<a title="Hey Mr. DBA, What Permissions Do I Have On This Database" href="http://www.kendalvandyke.com/2008/12/hey-mr-dba-what-permissions-do-i-have.html" target="_blank">Hey Mr. DBA, What Permissions Do I Have On This Database?</a>&#8221; but I was already familiar with the examples listed, having previously come across the <a title="sys.fn_my_permissions" href="http://msdn.microsoft.com/en-us/library/ms176097.aspx" target="_blank">fn_my_permissions</a> and <a title="fn_builtin_permissions" href="http://msdn.microsoft.com/en-us/library/ms186234.aspx" target="_blank">fn_builtin_permissions </a>functions in <a title="SQL Server R2 Books Online" href="http://msdn.microsoft.com/en-us/library/ms130214.aspx" target="_blank">Books Online</a>. They did what I wanted, but really the wrong way around. To use them I would have to write a cursor based solution which would be a little long winded.</p>
<p>Thankfully most SQL Server problems are relatively easy to solve by applying a very small amount of grey matter to them. I decided to turn my attention to the system catalog views and started off with <a title="sys.database_principals" href="http://msdn.microsoft.com/en-us/library/ms187328.aspx" target="_blank">sys.database_principals</a>. Using the <a title="Microsoft SQL Server 2008 R2 System Views poster" href="http://www.microsoft.com/download/en/details.aspx?id=722" target="_blank">Microsoft SQL Server 2008 R2 System Views poster</a> which is helpfully stuck to my office wall I focused in on this view and my attention was drawn to the <a title="sys.database_permissions" href="http://msdn.microsoft.com/en-us/library/ms188367.aspx" target="_blank">sys.database_permissions</a> catalog directly underneath. Surely this would be the most likely candidate for the IMPERSONATE grants?</p>
<div id="attachment_2836" class="wp-caption alignnone" style="width: 650px"><a href="http://retracement.files.wordpress.com/2012/01/dbprincipals.jpg"><img class="size-full wp-image-2836" title="dbprincipals" src="http://retracement.files.wordpress.com/2012/01/dbprincipals.jpg?w=640&h=480" alt="" width="640" height="480" /></a><p class="wp-caption-text">Wall posters can come in handy!</p></div>
<p>After a very quick query of several of the databases provided to me I noticed that in one of them under the column <em>permission_name</em>, several rows contained the entry &#8220;IMPERSONATE&#8221; with a <em>state_desc</em> of &#8220;GRANT&#8221;. Bingo! That was just what I wanted. Time to write the query&#8230;.</p>
<p>So we can test the query, let us first create a new database, several logins, several users from the logins and grant impersonation rights to some of the users to some of the others:-</p>
<p><pre class="brush: sql; gutter: false;">
CREATE DATABASE Impersonation;
GO
USE Impersonation;
GO

CREATE LOGIN login1 WITH PASSWORD = 'Password1';
CREATE LOGIN login2 WITH PASSWORD = 'Password2';
CREATE LOGIN login3 WITH PASSWORD = 'Password3';
CREATE LOGIN login4 WITH PASSWORD = 'Password4';

CREATE USER user1 FROM LOGIN login1;
CREATE USER user2 FROM LOGIN login2;
CREATE USER user3 FROM LOGIN login3;
CREATE USER user4 FROM LOGIN login4;

GRANT IMPERSONATE ON USER::user4 TO user1;
GRANT IMPERSONATE ON USER::user4 TO user2;
GRANT IMPERSONATE ON USER::user1 TO user3;
GRANT IMPERSONATE ON USER::user1 TO user2;
</pre></p>
<p>Next we should connect under login1 and change context to our Impersonation database; then attempt to impersonate user4 to test that everything works:-</p>
<div id="attachment_2843" class="wp-caption alignnone" style="width: 650px"><a href="http://retracement.files.wordpress.com/2012/01/sqlcmd.jpg"><img class="size-full wp-image-2843" title="sqlcmd" src="http://retracement.files.wordpress.com/2012/01/sqlcmd.jpg?w=640&h=228" alt="" width="640" height="228" /></a><p class="wp-caption-text">user4 impersonation works</p></div>
<p><pre class="brush: sql; gutter: false;">
USE Impersonation
GO
EXECUTE AS USER = 'user4';
SELECT USER_NAME();
</pre></p>
<p>OK so we know all this works and we know how the rights are assigned. Lets write our query:-</p>
<p><pre class="brush: sql; gutter: false;">
USE Impersonation
GO
SELECT DB_NAME() AS 'database'
	,pe.permission_name
	,pe.state_desc
	,pr.name AS 'grantee'
	,pr2.name AS 'grantor'
FROM sys.database_permissions pe
	JOIN sys.database_principals pr
		ON pe.grantee_principal_id = pr.principal_Id
	JOIN sys.database_principals pr2
		ON pe.grantor_principal_id = pr2.principal_Id
WHERE pe.type = 'IM'
</pre></p>
<p>This query produces a rather simple result set as you see in the next picture:-</p>
<p><a href="http://retracement.files.wordpress.com/2012/01/impersonation.jpg"><img class="alignnone size-full wp-image-2846" title="impersonation" src="http://retracement.files.wordpress.com/2012/01/impersonation.jpg?w=640" alt=""   /></a><br />
And there we have it -all impersonation rights are listed for the database in question. I was able to go onto query the five databases in question and provide a very simple report which would have taken me a very long time to perform using the SSMS GUI.</p>
<p>Whilst nothing I have demonstrated in this article is particularly difficult, it does highlight the multitude of different ways to perform operations in SQL Server. Just make sure you choose the easiest route!</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/database/'>database</a>, <a href='http://tenbulls.co.uk/category/dmv/'>dmv</a>, <a href='http://tenbulls.co.uk/category/reporting/'>reporting</a>, <a href='http://tenbulls.co.uk/category/security/'>security</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>, <a href='http://tenbulls.co.uk/category/development/tsql/'>tsql</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/2834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/2834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/2834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/2834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/2834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/2834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/2834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/2834/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2834&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/01/30/what-are-the-impersonation-rights-for-my-database-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/01/dbprincipals.jpg" medium="image">
			<media:title type="html">dbprincipals</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/01/sqlcmd.jpg" medium="image">
			<media:title type="html">sqlcmd</media:title>
		</media:content>

		<media:content url="http://retracement.files.wordpress.com/2012/01/impersonation.jpg" medium="image">
			<media:title type="html">impersonation</media:title>
		</media:content>
	</item>
		<item>
		<title>SQLRally and beyond</title>
		<link>http://tenbulls.co.uk/2012/01/25/sqlrally-and-beyond/</link>
		<comments>http://tenbulls.co.uk/2012/01/25/sqlrally-and-beyond/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 02:06:03 +0000</pubDate>
		<dc:creator>retracement</dc:creator>
				<category><![CDATA[humour]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[personaldevelopment]]></category>
		<category><![CDATA[publicspeaking]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlbits]]></category>
		<category><![CDATA[sqlpass]]></category>
		<category><![CDATA[sqlrally]]></category>
		<category><![CDATA[SQLServerPedia Syndication]]></category>
		<category><![CDATA[summit]]></category>
		<category><![CDATA[summit_2011]]></category>

		<guid isPermaLink="false">http://tenbulls.co.uk/?p=2811</guid>
		<description><![CDATA[I am almost ashamed to say that I have let over a month pass since my last post and truth be told I have come close a few times without never actually pressing that submit button. I shan&#8217;t bore you &#8230; <a href="http://tenbulls.co.uk/2012/01/25/sqlrally-and-beyond/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2811&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am almost ashamed to say that I have let over a month pass since my last post and truth be told I have come close a few times without never actually pressing that submit button.</p>
<p>I shan&#8217;t bore you with my excuses or reasons for my inactivity but what matters is I&#8217;m back!</p>
<p>I&#8217;ve been seeing an increasing amount of noise about <a title="SQLRally Dallas" href="http://www.sqlpass.org/sqlrally/2012/dallas/" target="_blank">SQLRally Dallas</a> and I felt that I wanted to share my own personal experience with you about this rather unique event (in Orlando) -for it quite literary changed my life.</p>
<p>Six years or so ago I joined a company with big hopes and promises and after starting a small family (and growing it further after joining) I was looking for a period of stability and a platform to learn, improve and share my skills. In short I knew that come what may, as good or bad as things might get, I was there for the long haul.</p>
<p>Not long after joining, my skills and talent for other technologies were recognised and when the need for a specialized &#8220;crack&#8221; team supporting a critical troublesome in-house application, I was identified as their man. This position (I was told) would be permanent and was absolutely vital to the running of the company operation. There was one small problem -I didn&#8217;t want it and regretfully declined. My reasons were many but I had joined the company as a SQL Server SME and saw the very broad set of skills required to support one single application platform as a regression in my ever growing expertise in SQL Server (and increasing knowledge in Oracle) and did my best to explain this.</p>
<p>Unfortunately for me, the Technical Director at the time (let&#8217;s give him a fictitious name of Dennis) told me in no uncertain terms that this would be the last time I ever refused him. Three months into my new job, everything had turned sour overnight simply due to me being good at what I do.</p>
<p>Years would pass and with each new year would bring a new job offer somewhere else for an ever increasing Salary, but I would always find an excuse not to take it -probably the thought of working for someone else again and repeating the same mistake was always the biggest reason to avoid saying <em>yes</em>.</p>
<p>Then something happened.</p>
<p>Although I have been helping in forums and the like on and off for a long period of time which you can read a little more about in this post (<a title="Standing on the shoulders of Giants" href="http://tenbulls.co.uk/2011/08/01/standing-upon-the-shoulders-of-giants/" target="_blank">Standing upon the shoulders of Giants</a>) I always felt that I had more to give, more to share, more to say and more to learn. I decided to submit my first ever public presentation to <a title="SQLBits 7 Thinking outside the Box" href="http://sqlbits.com/Sessions/Event7/Thinking_outside_the_Box_Learning_a_little_about_a_lot" target="_blank">SQLBits 7</a> and surprisingly managed to secure a speaking slot! As daunting as the whole thing was, I think I managed to pull it off -and if nothing else I know that I learnt LOADS during my weeks and weeks of hard graft of preparation putting it all together.</p>
<p>About a month or so later I took a week off work and self financed a trip to the <a title="SQLPASS 2010 Summit" href="http://www.sqlpass.org/summit/na2010/" target="_blank">SQLPASS 2010 Summit</a> (my very first time) and met some absolutely amazingly talented people which is probably another story for another time.</p>
<p>Whilst in Seattle I decided that should the opportunity arise, I wanted to attempt a presentation in America and would submit and hope for the best. <a title="SQLRally Orlando" href="http://www.sqlpass.org/sqlrally/2011/orlando/" target="_blank">SQLRally Orlando</a> was announced and my submissions went in. Although I didn&#8217;t make the first cut, my submission received the joint highest votes for the runners up and quite incredibly I was eventually selected as a wildcard! Totally brilliant and I was thrilled!</p>
<p>This time (unlike Seattle) I thought I would approach Dennis and see if my company would like to contribute in any way, since there would be obvious technical benefits to the organization. The response did not surprise me. He said that my speaking and attending sessions at SQLRally (or anywhere else) had absolutely no benefit to the company at all. I have never forgotten the impact that sentence made upon me. The situation was made even more ironic when a few days later I was assigned to an important scalability project (for someone had personally requested that I should be the resource).</p>
<p>&#8230;&#8230; The title of my presentation : &#8220;<a title="Order of magnitude - Scaling out your SQL Server Data" href="http://www.slideshare.net/retracement/orders-ofmagnitudescaleoutyoursqlserverdataslideshare" target="_blank">Orders of magnitude-Scaling your SQL Server Data</a>&#8220;.</p>
<p>Like the SQLPASS Summit, I fully financed my trip to SQLRally and used a week of my holiday entitlement and came to a decision. I realised that however much I tried to improve myself socially and technically (and help others), Dennis would never support my efforts in any way. A few days later I received a permanent job offer from another firm offering a substantial salary increase (almost double) and I &#8230;&#8230;&#8230;.turned it down!</p>
<p>SQLRally helped me realize that the only person holding me back was myself and It was time for me make the jump. I quit and left for Orlando to give my presentation. On my return I secured work and now when I need to finance any speaking or training events, the only person I need to convince is myself.</p>
<p>But what of SQLRally? I loved giving my presentation, it was very hard work preparing for it but I learnt more than I can put into words at hopefully managed to communicate some of that knowledge across. From a non speaking perspective, if you have never been to a SQL Server event and can get to Dallas then you are going to LOVE it. SQLRally is smaller than the Summit and full of <em>lots</em> of first timers and many regulars who will embrace you and make you feel completely at home.</p>
<p>Attending SQLRally could be your first steps towards something amazing. I hope you take them, and if you do, I look forward to meeting you someday soon and hopefully share a nice cold beer.</p>
<hr />
<p>You can read more about my exploits at SQLRally <a title="SQLRally Scalable shared databases demo" href="http://tenbulls.co.uk/2011/05/25/sqlrally-scalable-shared-database-demo-redux/" target="_blank">here </a>and <a title="The real value of attending SQLRally" href="http://tenbulls.co.uk/2011/05/18/the-real-value-of-attending-sqlrally/" target="_blank">here</a>.</p>
<p>What has happened to me since my return?</p>
<ul>
<li>I was proud and very grateful to receive a <a title="MS Community Contributor Award" href="https://www.microsoftcommunitycontributor.com/faq.aspx" target="_blank">Microsoft Community Contributor 2011</a> award. Thanks guys!</li>
<li>Presented <a title="SQL Server Clustering for Dummies" href="http://sqlbits.com/Sessions/Event8/SQL_Server_Clustering_for_Dummies" target="_blank">SQL Server Clustering for Dummies at SQLBits 8</a> at Brighton, UK</li>
<li>Presented Orders of Magnitude at SQLRally #1 in Orlando, USA</li>
<li>Presented <a title="READPAST &amp; Furious" href="http://sqlbits.com/Sessions/Event9/READPAST__Furious_Transactions_Locking_and_Isolation" target="_blank">READPAST &amp; Furious at SQLBits 9</a> in Liverpool, UK</li>
<li>Co-Presented <a title="POSH Clustering" href="http://sqlbits.com/Sessions/event9/POSH_Clustering" target="_blank">PoSh Clustering at SQLBits 9</a> in Liverpool, UK</li>
<li>Presented SQL Server Clustering for Dummies lightning talk at SQLPASS 2011 in Seattle, USA</li>
<li>Was an Official SQLPASS Blogger for <a title="SQLPASS 2011 Summit" href="http://www.sqlpass.org/summit/2011/" target="_blank">SQLPASS 2011</a> in Seattle, USA. My posts during the event can be found <a title="Im gonna be on the bloggers table" href="http://tenbulls.co.uk/2011/10/09/im-gonna-be-on-the-bloggers-table/" target="_blank"> here   </a>and <a title="My alarm clock worked" href="http://tenbulls.co.uk/2011/10/12/my-alarm-clock-worked/" target="_blank">here</a> and <a title="Community is driving SQL to success" href="http://tenbulls.co.uk/2011/10/12/community-is-driving-sql-to-success/" target="_blank">here </a>and <a title="NOLOCK hits Mythbusters" href="http://tenbulls.co.uk/2011/10/14/nolock-hits-mythbusters/" target="_blank">here</a>.</li>
<li>Was a <a title="SQLPASS First Timer program" href="http://www.sqlpass.org/summit/2011/Connect/FirstTimers.aspx" target="_blank">SQLPASS first timers Big Brother</a></li>
<li>Set up the <a title="Cambridgeshire SQL Server User Group" href="http://sqlcambs.org.uk/" target="_blank">Cambridgeshire SQL Server User Group</a> (an official PASS Chapter)</li>
<li>Presented In defence of being Pessimistic at <a title="SQLCambs" href="http://sqlcambs.org.uk/" target="_blank">SQLCambs</a> Chapter in Cambridge, UK</li>
</ul>
<p>Going forward I am currently :-</p>
<ul>
<li>Signed onto the <a href="http://sqlmcm.quickstart.com/" target="_blank">SQL Server 2008 Microsoft Certified Master (MCM) Accelerated Exam Preparation Program</a></li>
<li>Due to present at the <a title="Maidenhead SQL Server User Group" href="http://sqlserverfaq.com/events/341/Maidenhead-UG-meeting-sessions-by-Mark-Broadbent-and-Richard-Douglas.aspx" target="_blank">Maidenhead SQL Server User Group</a></li>
<li>Due to present at the <a title="Southampton SQL Server User Group" href="http://sqlserverfaq.com/events/338/Jonathan-Allen-and-Mark-Broadbent-both-presenting.aspx" target="_blank">Southampton SQL Server User Group</a></li>
<li><B>*UPDATE*</B> Due to present at <a title="SQLSaturday 115 SQL 2012 on Server Core" href="http://www.sqlsaturday.com/viewsession.aspx?sat=115&amp;sessionid=7076" target="_blank">SQLSaturday 115</a></li>
<li>Due to present at <a title="SQLSaturday 105 Moves like Jagger" href="http://sqlsaturday.com/viewsession.aspx?sat=105&amp;sessionid=6542" target="_blank">SQL Saturday #105 Dublin</a></li>
<li>Due to present at <a title="SQLBits X SQL 2012 on Server Core" href="http://sqlbits.com/Sessions/Event10/Enter_the_Dragon_SQL_2012_on_Server_Core" target="_blank">SQLBits X</a></li>
</ul>
<p>Dennis, I think you made a mistake with me but I know you would never be able to admit it. I sincerely thank you for every single day I spent praying for deliverance. You made me realize that if I wanted something strongly enough I could go out there and get it. Through your neglect you encouraged me to meet people LIKE me. You have given me hope and for that I will never forget you.</p>
<br />Filed under: <a href='http://tenbulls.co.uk/category/humour/'>humour</a>, <a href='http://tenbulls.co.uk/category/learning/'>learning</a>, <a href='http://tenbulls.co.uk/category/personaldevelopment/'>personaldevelopment</a>, <a href='http://tenbulls.co.uk/category/publicspeaking/'>publicspeaking</a>, <a href='http://tenbulls.co.uk/category/sql/'>sql</a>, <a href='http://tenbulls.co.uk/category/sqlbits/'>sqlbits</a>, <a href='http://tenbulls.co.uk/category/sqlpass/'>sqlpass</a>, <a href='http://tenbulls.co.uk/category/sqlrally/'>sqlrally</a>, <a href='http://tenbulls.co.uk/category/sqlserverpedia-syndication/'>SQLServerPedia Syndication</a>, <a href='http://tenbulls.co.uk/category/summit/'>summit</a>, <a href='http://tenbulls.co.uk/category/summit_2011/'>summit_2011</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/retracement.wordpress.com/2811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/retracement.wordpress.com/2811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/retracement.wordpress.com/2811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/retracement.wordpress.com/2811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/retracement.wordpress.com/2811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/retracement.wordpress.com/2811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/retracement.wordpress.com/2811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/retracement.wordpress.com/2811/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tenbulls.co.uk&#038;blog=14026365&#038;post=2811&#038;subd=retracement&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tenbulls.co.uk/2012/01/25/sqlrally-and-beyond/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d4134010f571c843d45f3fc1dfeca3a?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">retracement</media:title>
		</media:content>
	</item>
	</channel>
</rss>
