<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5821568774797762585</id><updated>2011-12-02T14:52:04.555-05:00</updated><category term='Paintball'/><category term='Hacking'/><category term='PIC'/><title type='text'>Andrews Tech Notes (and other random things)</title><subtitle type='html'>Freeing the inner geek.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2771720537958398358</id><published>2011-12-02T14:43:00.001-05:00</published><updated>2011-12-02T14:52:04.568-05:00</updated><title type='text'>SQL Permissions - The Case of the "Token-based server access violation"</title><content type='html'>I managed to create and then fix my own PEBAC issue today and I thought I'd share the resolution in case it helps someone else out there Google-ing/Bing-ing for the solution.&lt;br /&gt;&lt;br /&gt;The problem is failed logins and in your SQL error log you'll see entries like this:&lt;br /&gt;&lt;i&gt;Login failed for user 'DOMAIN\user'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: xxx.xxx.xxx.xxx]&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Error: 18456, Severity: 14, State: 11.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;You might see these sorts of errors when you've got domain problems or kerberos issues, but that's not the case here. You can eliminate those issues if others can log in or if the broken user/users work when you grant them sysadmin server role membership.&lt;br /&gt;Since granting anyone sysadmin (even on a dev box) just isn't acceptable in my world I had to dig deeper. It turns out that the real problem was that at some point I had denied CONNECT SQL to the DOMAIN\Domain Users group. DOH!&lt;br /&gt;Probably not a common thing to do but this problem would manifest itself if you had done the same thing on other groups. Maybe you have a group of accountants you don't want poking around in the db, or a group of nosy developers and you revoke CONNECT to their AD group. Then the exception arises and someone needs access but they just can't connect despite you granting them permission. Look for that deny setting and you'll be all set.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;-A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2771720537958398358?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2771720537958398358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2771720537958398358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2771720537958398358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2771720537958398358'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2011/12/sql-permissions-case-of-token-based.html' title='SQL Permissions - The Case of the &quot;Token-based server access violation&quot;'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4123805639508606213</id><published>2011-11-20T19:35:00.001-05:00</published><updated>2011-11-20T19:59:44.919-05:00</updated><title type='text'>A little C++ Never Hurt Anybody</title><content type='html'>As a good friend of mine would agree to, C and I had have a rocky past. I'm still not sure I like C/C++ and all it's nasty pointers and buffers, but I absolutely do respect it. I just find it convoluted and annoying to read personally and love how easy C# makes things. I'll take C# over C++ any day of the week and twice on Sundays... :p&lt;br /&gt;&lt;br /&gt;Anyway, there comes a time in every tech geeks life when they go to use a FOSS product and realize it doesn't do quite what they need. This recently happened to me with a very cool media centre project - &lt;a href="http://www.openelec.tv/" target="_blank"&gt;OpenELEC&lt;/a&gt;.&lt;br /&gt;It's a really, &lt;i&gt;really&lt;/i&gt; quick booting stripped down Linux based XBMC setup that's optimized for different platforms (like x64 Atom CPU and Nvidia ION graphics). The whole install is ~90MB and it'll run of a MicroSD card, USB, stick, etc. I'm very impressed with it and recommend anyone who likes XBMC check it out. I digress.&lt;br /&gt;&lt;br /&gt;So OpenELEC is great and all, but I'm still a huge fan of using an Xbox 360 wireless remote to control things and this is where it fell down. The Linux xpad kernel driver isn't the best, and the SDL joystick code in the XBMC version that ships with OpenELEC is straight up broken when it comes to the 360 wireless controller.&lt;br /&gt;This is where my old friend C and I met again. In digging through event captures, debug logs, and source code I was able to find the code that was causing my problem. Then I got rough.&amp;nbsp;I cut out blocks of code that weren't called, I stubbed out procedures that weren't needed, and I hack-hack-hacked my through some changes to produce a file that not only compiled, &lt;b&gt;it worked!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;All in all it was a great learning experience both for working with Linux systems as well as C++ and I can honestly say I enjoyed it. And because I fixed this myself the victory is that much sweeter.&lt;br /&gt;If anyone is interested I shared the changes &lt;a href="http://www.openelec.tv/forum/20-development-discussion/17247-solved-xbox-360-wireless-controller-navigation#17248" target="_blank"&gt;here &lt;/a&gt;on the OpenELEC forums. Now excuse me, I've got some stunning HD content to watch on my now fully functional &lt;a href="http://ca.asus.com/en/Eee/EeeBox_PC/EeeBox_PC_EB1012P/" target="_blank"&gt;Asus 1012p EeeBox&lt;/a&gt; media centre. ;)&lt;br /&gt;&lt;br /&gt;-A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4123805639508606213?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4123805639508606213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4123805639508606213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4123805639508606213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4123805639508606213'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2011/11/little-c-never-hurt-anybody.html' title='A little C++ Never Hurt Anybody'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-713048291765593427</id><published>2011-10-16T19:42:00.001-04:00</published><updated>2011-10-16T19:42:50.396-04:00</updated><title type='text'>Thoughts On SQL PASS 2011</title><content type='html'>This year I attended SQL PASS in Seattle, Washington for the first time. The experience exceeded my expectations, and my expectations were high. If you know me at all you know that I'm typically guilty of holding exceedingly high expectations from anything training related so saying that the conference exceeded my expectations really is something.&lt;br /&gt;&lt;br /&gt;The quality of the presentations given were all very high and the knowledge demonstrated by the speakers was beyond anything I've seen before. Without a doubt SQL PASS is where you go to meet the experts. I learned so much in-depth knowledge about advanced internals like workspace memory, IO, and residuals &amp;amp; predicates that the time and money it took to attend will be made back in the first week that I'm back at work. I thank everyone who gave their time and talent to SQL PASS as there's no doubt it takes a huge amount of effort to pull off something that great.&lt;br /&gt;&lt;br /&gt;Now, I'm not saying everything was perfect. The big brother/sister program was a failure from my perspective. I never met either my big brother or anyone in my "first timer" group. I was where I was supposed to be, but so were about a thousand other people and there were rooms big enough to hold maybe half of that in a usable manner. I have no idea if my big brother even showed up - according to the group leaders I found he wasn't there. I can't say I was upset about it, but if I've got any feedback to offer for areas of improvement I think that would be it - fix that whole program or just kill it off. The first timer networking session with Don Gabor was well run though, and certainly valuable.&lt;br /&gt;&lt;br /&gt;Overall it was a fantastic week in Seattle. I met some new people, reconnected with some others, learned a lot, and for the first time ever; felt a sense of community. I think it's the sense of community which has really left me feeling motivated. I want that feeling to continue and thus I've committed to posting up a technical series!&lt;br /&gt;I've decided that not a lot of people know about the magic that is MSX - TSX SQL Agent setups and thus I'll be blogging a lot about that in the near future. It's my way of saying thanks and giving back to the SQL Server community that has given so much to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-713048291765593427?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/713048291765593427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=713048291765593427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/713048291765593427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/713048291765593427'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2011/10/thoughts-on-sql-pass-2011.html' title='Thoughts On SQL PASS 2011'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-3828845251527190526</id><published>2011-05-01T19:17:00.009-04:00</published><updated>2011-05-01T20:31:34.406-04:00</updated><title type='text'>Moving On Up</title><content type='html'>I'm officially no longer a DBA today, I'm now a "Database Developer"!&lt;br /&gt;In the work-sphere of Information Technology I think this is higher than a lowly administrator, but who knows? I've seen enough TSQL code in my 5 years as a DBA to know that there are a LOT of "database developers" who would be better off using Google to find their code. I'm not kidding but I wish I was.&lt;br /&gt;&lt;br /&gt;I'm thrilled to know that this change means no more on-call or after hours maintenance. I look forward to being able to do whatever I want to do whenever I want to do it. My wife does too ;)&lt;br /&gt;I'll take a good pay cut giving up the on-call ball &amp;amp; chain but since time is the only finite resource we've got it's therefore the most precious and I make the trade with no reservations at all.&lt;br /&gt;&lt;br /&gt;I'm also really looking forward to being able to be creative again. When I started in IT creativity was a great asset but leaving now I feel it's more of a liability. Creative thinkers who can see and plan beyond the basics have an upward battle whenever they try to go above and beyond. It seems that the larger IT gets, the less flexible it gets. Creative solutions become harder and harder to implement and take more and more selling/politicing/nurturing than it's worth. When one can see how a more creative solution would work better for less money and with less management required but can't implement it for "soft" reasons it's very demotivating; almost depressing. Live in an environment like that for too long and one becomes bitter.&lt;br /&gt;&lt;br /&gt;I'm absolutely thrilled to be moving into an environment where others are willing to listen when a creative idea comes forward and can be demonstrated. The ability to honestly and openly debate technical solutions with my peers on a daily basis has me grinning from ear to ear. It's like a dream come true.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-3828845251527190526?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/3828845251527190526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=3828845251527190526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3828845251527190526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3828845251527190526'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2011/05/moving-on-up.html' title='Moving On Up'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-521559407745566940</id><published>2010-09-02T22:01:00.005-04:00</published><updated>2010-09-03T13:05:20.812-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIC'/><category scheme='http://www.blogger.com/atom/ns#' term='Paintball'/><category scheme='http://www.blogger.com/atom/ns#' term='Hacking'/><title type='text'>When You Can't Find a Hack, Make Your Own</title><content type='html'>I recently got wind of sweet deal on a &lt;a href="http://www.planeteclipse.com/etek3/"&gt;Planet Eclipse eTek3 paintball marker&lt;/a&gt; and I took it. The gun is great. It's well designed, light, easy to use, and it's electronic.&lt;br /&gt;Being me I naturally started to look into what upgrades, customizations, and hacks were available for it. I was surprised to find there were no hacks AT ALL to be found anywhere in Google for it. I figured at least people would be doing simple things like putting in circuits to simulate rapid trigger pulling... but nope; nothing out there. I did find all sorts of other parts I could spend large sums of money on to swap out the "board" (aka single sided PCB with a single MCU on it- this isn't rocket science) to something with more blinking lights and LCD's! Oooh boy! Oh no, wait. I'm not a 13 year old kid and I'm not dazzled by &lt;a href="http://www.virtuepaintball.com/index.cfm?fuseaction=catalog.catalog&amp;amp;categoryID=190"&gt;blinking lights and the ability to modify the colour of my OLED screen&lt;/a&gt; or -GASP-&lt;a href="http://www.goapeonline.com/index.php?page=shop.product_details&amp;amp;flypage=shop.flypage&amp;amp;product_id=58&amp;amp;category_id=6&amp;amp;manufacturer_id=0&amp;amp;option=com_virtuemart&amp;amp;Itemid=28"&gt; 2 MIPS&lt;/a&gt;!&lt;br /&gt;All these wickedly overpriced and overhyped electronics did get me thinking so I opened up the marker and looked at the board.&lt;br /&gt;I was pleasently surprised when I found that the heart of the stock board was a &lt;a href="http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010265"&gt;PIC18F1320&lt;/a&gt; MCU (10 MIPS BTW). I know the PICs well and I immediately located the ICSP traces on the PCB. After a little rummaging around in the basement I found my &lt;a href="http://www.mcumall.com/comersus/store/comersus_viewItem.asp?idProduct=4312"&gt;USB Willem with ICSP header&lt;/a&gt; and wired the two together. I dumped the PIC and was not terribly surprised to find that the application code and bootloader were both read and write protected. I was more surprised to find that the on-chip eeprom memory was readable and writeable.&lt;br /&gt;The hex values I saw were few enough that I thought they could easily map back to the variables the gun offered (trigger de-bounce, balls per second caps, dwell, shots to trigger auto-fire, etc.) so I reset the board to defaults, dumped the &lt;a href="http://www.hexworkshop.com/"&gt;hex values&lt;/a&gt; and repeated the process making single changes. It was pretty easy to see what was what and I quickly figured out the math behind the hex -&gt; real world value and the checksum routine. (8bit math FTW!)&lt;br /&gt;Once I was pretty confident I could make a change and set the proper checksum I modified the values and wrote back to the PIC. I fired up the gun and verified that I had indeed changed the variable correctly (the firing mode to be safe) and I gave myself a pat on the back for spending about 4 hours to do what could be done with the board still in the gun in about 30 seconds. :p&lt;br /&gt;The obvious goal was to see if I could put in a value that exceeded what the stock board would allow. For example, the stock board won't allow you to go over 15.4 balls per second in the ramping mode. An aftermarket board will go up to the theoretical physical limit of the gun which is ~25bps. I made the change, flashed the settings back, and fired up the gun. I was VERY excited to see the gun flash twice in the tens indicator proving that I had indeed just set the gun to shoot at 20bps - 4.6bps faster than "allowed"... for free.&lt;br /&gt;Of course, just because the little blinking lights says it'll shoot 20bps doesn't mean it will so I loaded up some reballs and tested. WOW! 20bps is stupidly fast!&lt;br /&gt;&lt;br /&gt;Up next: tweaking the values to make a full auto mode for the big game Sept 19 :D&lt;br /&gt;&lt;br /&gt;P.S. I thought about detailing the entire hack along with how to decode the hex values and calculate the checksum but I think it's better not to. If you're not smart enough to read this post, do the work, and figure out the math on your own it's probably better off that you don't do it.&lt;br /&gt;&lt;br /&gt;EDIT: Added links&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-521559407745566940?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/521559407745566940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=521559407745566940' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/521559407745566940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/521559407745566940'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/09/when-you-cant-find-hack-make-your-own.html' title='When You Can&apos;t Find a Hack, Make Your Own'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4162855868321671440</id><published>2010-07-10T18:52:00.002-04:00</published><updated>2010-07-10T19:34:19.886-04:00</updated><title type='text'>PAINTBALL!!</title><content type='html'>I have to admit something. I may have found something more interesting than just computers and cars. It's semi-violent and most certainly testostrone fueled. It is paintball.&lt;br /&gt;&lt;br /&gt;I don't have a long history with paintball. The first time I played was with new friends in first year university (1997!). The second time was for a friends bachelor party last year and the third was for mine this year. There's a few more after that now.&lt;br /&gt;&lt;br /&gt;So why do I feel a little guilty about this? I'm not sure. Is it because it's kind of nerdy? Maybe. Is it because it's hyper-male? Maybe. Is it because you have the opportunity to shoot small children with semi-solid balls travelling at around 280 feet per second and then laugh about it? Possibly.&lt;br /&gt;&lt;br /&gt;The thing is though; I don't care. I enjoy playing. I enjoy shuffling my fat ass through weeds and brush and mud. It's fun! The adrenaline flows, the heart pounds, the lungs teeter on exploding. Yeah... fun.&lt;br /&gt;I've got my own equipment now so that I can aim better, shoot farther, shoot more often, and do it all easier. It wasn't free but it wasn't terribly expensive either. It's not as expensive as a new SSD for the home NAS, or a new turbo for the WRX. It also means I'm out there enjoying the sun and working off some of the fat I collect during the week via my otherwise sedentary lifestyle. Sure I get a few bruises. But perhaps -just perhaps- those bruises are a little bit like what Fight Club would be like.&lt;br /&gt;Out there on the field and in the post-firefight pit talks we're all equal. The CEO and the grocery bagger. Both were armed, both were ready to fight and neither had any huge advantage. So the CEO spent $2k on his setup... the grocery bagger took him out with a headshot from 60ft with his older brothers hand-me-down pump gun. They slap high-fives and talk about how fun that last round was while both drip sweat. The ego is kept in check by raw adrenaline and the sense of comradery that follows the fight. Ego-boosted boundaries fade and new friends are made.&lt;br /&gt;&lt;br /&gt;I'm sure my views at this point are overly idealistic, but it's what I've seen. Developer and DBA work together to take out the support rep but the titles are replaced with names... who cares what happened last week at work? We're taking fire! Sure, tempers can flare when rules are broken or bent but there's no time -and less patience- for a prima donna act. Transgressions are ultimately forgiven.&lt;br /&gt;Perhaps the world might be a better place if we all spent a little time shooting paint balls at each other?&lt;br /&gt;&lt;br /&gt;Ok. I've waxed poetic long enough. I'm not even sure where this rambling noise came from or was headed but I think it's time to stop.&lt;br /&gt;At the end of the day I'm not afraid to say that I enjoy playing paintball with my friends and I look forward to the new friendships I'll build while inflicting minor bodily harm on others.&lt;br /&gt;&lt;br /&gt;CARPE DIEM!! ...and shoot to splatter ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4162855868321671440?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4162855868321671440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4162855868321671440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4162855868321671440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4162855868321671440'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/07/paintball.html' title='PAINTBALL!!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2505425157220300211</id><published>2010-05-10T14:24:00.002-04:00</published><updated>2010-05-10T14:41:46.764-04:00</updated><title type='text'>Easy Workaround for Oracle Linked Server Problem with TIMESTAMP(6) Column</title><content type='html'>I've got a lot of SQL servers at work. And those servers link to a lot of other servers. MySQL, Oracle, SQL 2005, 2008, etc.&lt;br /&gt;For the most part linked servers are frowned on from my perspective but I can't keep people from getting things done so they do get setup. Most of the time the four part naming convention works just fine although MySQL in particular seems to need OPENQUERY Oracle never has... until today.&lt;br /&gt;&lt;br /&gt;For some reason running a query against an 11g R1 Oracle DB kept returning this:&lt;br /&gt;&lt;span style="font-style: italic; font-family: courier new;font-size:85%;" &gt;Msg 7354, Level 16, State 1, Line 1557&lt;br /&gt;The OLE DB provider "OraOLEDB.Oracle" for linked server "DBI05CNC" supplied invalid metadata for column "CREATEDDATE". The data type is not supported.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The column type in Oracle was timestamp(6) and no matter of cast or convert would avoid the problem. Selecting without the offending column still produced the error. I was about to start looking for newer OraOLEDB drivers when I thought about the MySQL issue. I also did a little checking and found this KB:&lt;br /&gt;&lt;span style="font-style: italic; font-family: courier new;font-size:85%;" &gt;SELECT&lt;br /&gt;*&lt;br /&gt;FROM OPENQUERY(XYZSERVER, 'SELECT COUNT(foobar) FROM XYZSCHEMA.XYZTABLE')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Worked great; problem solved :)&lt;br /&gt;&lt;br /&gt;I'm also going to pose the solution to the forum post below as it seems to be related...&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en/transactsql/thread/fd1cb0c8-efb5-4a94-b00d-b2aeb91dd771"&gt;http://social.msdn.microsoft.com/Forums/en/transactsql/thread/fd1cb0c8-efb5-4a94-b00d-b2aeb91dd771&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2505425157220300211?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2505425157220300211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2505425157220300211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2505425157220300211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2505425157220300211'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/05/easy-workaround-for-oracle-linked.html' title='Easy Workaround for Oracle Linked Server Problem with TIMESTAMP(6) Column'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1555424147361394170</id><published>2010-04-28T18:54:00.006-04:00</published><updated>2010-04-28T19:29:51.881-04:00</updated><title type='text'>Subaru Part Review: GrimmSpeed Up Pipe for 02-10 WRX</title><content type='html'>I got a GrimmSpeed uppipe today and I'm very impressed with the quality. I already have a GrimmSpeed crosspipe and this is right on par with the quality I expect. The welds are perfect, the flanges are thick and straight, and the coating is perfect. It's boderline artwork.&lt;br /&gt;I was so impressed I decided to get some specs on it and post them up.&lt;br /&gt;The inlet port to the upipe (exhaust manifold outlet) has a radius nearly 10mm larger than stock. The pipe tapers smoothly to the outlet (turbo inlet) where its radius is about 4mm larger than stock. The stock uppipe weighs in at about 7 - 7.5lbs and the GrimmSpeed piece is about 3 lbs lighter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The lowdown&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;thicker flanges&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;ceramic coating for to keep the heat in&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;mandrel bent pipe vs. stock crush bends&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;~20mm diameter larger inlet (94.56mm)  &amp;amp; ~8mm larger outlet (86.76mm)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;3lbs weight savings&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;An STI uppipe will weigh less than the stock WRX as the catalytic converter, but no one would be buying this piece for the weight savings. I'm actually replacing an STI uppipe I put in because the heat sheild on it has rusted and it's loose and banging around. I think it may also have a leak.&lt;br /&gt;&lt;br /&gt;If you're on the fence about this part hopefully this info plus the &lt;a href="https://www.grimmspeed.com/catalog/product_info.php?cPath=22&amp;amp;products_id=79&amp;amp;osCsid=5nmhn2qd6mr3bg9snt1cue1503"&gt;vendor info&lt;/a&gt; pushes you over the edge. It's a solidly built piece and you won't be disappointed.&lt;br /&gt;&lt;br /&gt;If you're in Canada, support &lt;a href="http://www.tougetuning.com/"&gt;Touge Tuning&lt;/a&gt;. I've had nothing but excellent experiences with them and from what I can tell their prices can't be beat!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vGVtfT_BZgc/S9jDQSrTa4I/AAAAAAAAAQ0/9rPSTba775g/s1600/uppipe+overlay.jpg"&gt;&lt;img style="cursor: pointer; width: 162px; height: 320px;" src="http://3.bp.blogspot.com/_vGVtfT_BZgc/S9jDQSrTa4I/AAAAAAAAAQ0/9rPSTba775g/s320/uppipe+overlay.jpg" alt="" id="BLOGGER_PHOTO_ID_5465332832472886146" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vGVtfT_BZgc/S9jDMu9sO3I/AAAAAAAAAQs/Dnvt80K_1DM/s1600/upipe+-+sideby.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 186px;" src="http://1.bp.blogspot.com/_vGVtfT_BZgc/S9jDMu9sO3I/AAAAAAAAAQs/Dnvt80K_1DM/s320/upipe+-+sideby.jpg" alt="" id="BLOGGER_PHOTO_ID_5465332771346725746" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1555424147361394170?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1555424147361394170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1555424147361394170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1555424147361394170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1555424147361394170'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/04/subaru-part-review-grimmspeed-up-pipe.html' title='Subaru Part Review: GrimmSpeed Up Pipe for 02-10 WRX'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vGVtfT_BZgc/S9jDQSrTa4I/AAAAAAAAAQ0/9rPSTba775g/s72-c/uppipe+overlay.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-8346937624126574886</id><published>2010-04-20T14:43:00.002-04:00</published><updated>2010-04-20T15:00:19.542-04:00</updated><title type='text'>MS DTC Problems With Oracle Linked Server &amp; Windows 2008 x64 R2 Cluster (Server: Msg 7391, Level 16, State 1)</title><content type='html'>If you are getting this error (Server: Msg 7391, Level 16, State 1) trying to run a transaction using a linked Oracle server then I may have the fix you're looking for. I had to troubleshoot a problem with a new Windows 2008 Enterprise R2 x64 cluster today that was a real pain.&lt;br /&gt;&lt;br /&gt;To get things ready normally you need to at least do the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;install the Oracle drivers &amp;amp; reboot&lt;/li&gt;&lt;li&gt;set "allow in process" on the provider in SQL&lt;/li&gt;&lt;li&gt;ensure the default DTC is the clustered resource&lt;/li&gt;&lt;li&gt;enabled DTC for network access and set correct authentication.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Normally things would work at this point. No such luck today though! No matter what I did I couldn't get a specific stored procedure a user wrote to without firing off the "&lt;span style="font-style: italic;"&gt;unable to enlist&lt;/span&gt;" error. Other DTC transactions worked just fine.&lt;br /&gt;&lt;br /&gt;The solution was simple (but tricky for non-Oracle DBAs); I had to install the "&lt;span style="font-weight: bold;"&gt;Oracle Services for Microsoft Transaction Server 11.1.0.7.0&lt;/span&gt;" service and reboot.&lt;br /&gt;Now, I *could* have re-written the query but since it was already working on another QA box and the user is going to be re-working the whole solution shortly I didn't see much point. Plus I wanted to know &lt;span style="font-weight: bold; font-style: italic;"&gt;HOW &lt;/span&gt;or &lt;span style="font-weight: bold; font-style: italic;"&gt;IF &lt;/span&gt;it could be made to work on this cluster! ;)&lt;br /&gt;&lt;br /&gt;Hope this helps someone else out there!&lt;br /&gt;-A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-8346937624126574886?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/8346937624126574886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=8346937624126574886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8346937624126574886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8346937624126574886'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/04/ms-dtc-problems-with-oracle-linked.html' title='MS DTC Problems With Oracle Linked Server &amp; Windows 2008 x64 R2 Cluster (Server: Msg 7391, Level 16, State 1)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1791515622902865687</id><published>2010-03-29T22:51:00.002-04:00</published><updated>2010-03-29T22:56:41.440-04:00</updated><title type='text'>FreeNAS Magic Sauce: Getting Transmission to play nice with Samba</title><content type='html'>I love my FreeNAS setup. I can download torrents on it faster than with my Windows boxes and it's about as close to "set it and forget it" as it gets. Love it.&lt;br /&gt;I did have one problem though. From some reason transmission got in the habit of downloading files with permissions that let me read them but not write or modify. It would get worse if I tried to move them around via Samba.&lt;br /&gt;As I'm not keen on running scripts to constantly do the same thing (like reset permissions) over and over again with little regard for what they're doing I found another solution. Tell Samba how to behave!&lt;br /&gt;Adding these commands to the "Auxillary Parameters" of the CIFS/SMB config will make all your problems go away. Is it secure? Probably not. Is my network secure? Yes. Good.&lt;br /&gt;&lt;div style="text-align: center;"&gt;force group = wheel&lt;br /&gt;force user = transmission&lt;br /&gt;&lt;/div&gt;Bounce the service and you'll never have permission problems again! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1791515622902865687?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1791515622902865687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1791515622902865687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1791515622902865687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1791515622902865687'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/03/freenas-magic-sauce-getting.html' title='FreeNAS Magic Sauce: Getting Transmission to play nice with Samba'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2549896814050988985</id><published>2010-02-24T18:04:00.002-05:00</published><updated>2010-02-24T18:14:21.313-05:00</updated><title type='text'>Subaru Parts</title><content type='html'>I like to shop around for parts. For quality I'll only go with OEM or a recognized aftermarket brand. When it comes to filters oil, fuel WIX is a well known company that makes an excellent product.&lt;br /&gt;What some people may not know is that NAPA Gold parts are just re-badged WIX products.&lt;br /&gt;Here's an example using some common filters on a 2002 Subaru WRX (the apply on most WRX's from the 90's - 2006 as well as SAABurus 05-06)&lt;br /&gt;Oil Filter - NAPA Gold - 1365  (WIX# &lt;span style="font-weight: bold;"&gt;5&lt;/span&gt;1365)&lt;br /&gt;Fuel Filter - NAPA Gold - 3558  (WIX #&lt;span style="font-weight: bold;"&gt;3&lt;/span&gt;3558)&lt;br /&gt;Cabin Air Filter - NAPA Gold - 4485 (WIX #&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;4485)&lt;br /&gt;&lt;br /&gt;So there you go, now you know you can pick up a quality WIX filter locally nearly anywhere in North America. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2549896814050988985?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2549896814050988985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2549896814050988985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2549896814050988985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2549896814050988985'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/02/subaru-parts.html' title='Subaru Parts'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-8538221966998935449</id><published>2010-02-04T12:19:00.002-05:00</published><updated>2010-02-04T12:24:48.718-05:00</updated><title type='text'>SQL Code: Object Location Within Data Files</title><content type='html'>I'm doing a lot of playing around with different numbers of data files and performance right now and in doing that I'm moving data around files and filegroups alot.&lt;br /&gt;One of the things I find maddening is when I *think* I've moved all the data only to find that a filegroup still isn't empty. You check tables, indexes, indexed views, heaps, all look like they're in the right spot. That's why I wrote the query below. It will show exactly what data is where in your database. It's helpful for tracking down LOB_DATA that doesn't move with the rest of your table data :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;SELECT &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    OBJECT_NAME(object_id) AS obj_name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,p.rows&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,au.type_desc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,au.used_pages&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,au.data_space_id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,mf.name AS [file_name]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,mf.physical_name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ,mf.state_desc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FROM sys.partitions p&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;JOIN sys.allocation_units au&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      ON p.partition_id = au.container_id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;JOIN sys.master_files mf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ON au.data_space_id = mf.data_space_id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  AND mf.database_id = DB_ID()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ORDER BY obj_name, au.data_space_id;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-8538221966998935449?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/8538221966998935449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=8538221966998935449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8538221966998935449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8538221966998935449'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/02/sql-code-object-location-within-data.html' title='SQL Code: Object Location Within Data Files'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2592535728487186692</id><published>2010-01-20T19:48:00.002-05:00</published><updated>2010-01-20T19:50:40.946-05:00</updated><title type='text'>A Word About Backups At Home</title><content type='html'>I just posted this on a Subaru message forum (off topic section) because people were discussing backups and I couldn't deal with all the bad info. I thought I'd repost it here for posterity. Note that this is STRICTLY for home setups and has nothing to do with SQL backups and what you should be doing at work! ;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;b&gt;1. - Know Your Limits&lt;/b&gt;&lt;br /&gt;If you barely manage with Windows and have an ongoing problem with spyware/malware/viruses stop reading now. Go buy something from DLINK or Linksys, or whoever. You do not have the skills to build and maintain anything more robust and you'll need support. This will cost you a lot more money and you'll get less flexibility, but it'll be easy to use.&lt;br /&gt;If you are an average to above average Windows or Linux user you can probably risk trying out some of the stuff I'll describe below.&lt;br /&gt;If you're an expert Windows or Linux user you should already know this stuff.&lt;br /&gt;If you're a mac user go overpay for something stylish then tell us all how much better it is and you are. Or suck it up and follow along below &lt;img src="http://www.toronto-subaru-club.com/forums/images/smilies/wink.gif" alt="" title="Wink" class="inlineimg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. - Identify Your Goals&lt;/b&gt;&lt;br /&gt;You can waste plenty of time and money if you don't know what you NEED to do. You may WANT to backup everything you have in real time, but do you NEED to?&lt;br /&gt;How much data can you afford to lose? How often is the data changing?&lt;br /&gt;For example a normal computer user probably adds a few bookmarks, downloads a few shows, songs, imports some pictures from their camera, etc. each day or so. Maybe a weekly backup of a few directories/files would fit your needs. Maybe you need something to keep entire volumes in sync. Think about it, make a decision, then move on.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. - Know Your Options&lt;/b&gt;&lt;br /&gt;Options range from really easy &amp;amp; cheap, to very expensive and complex.&lt;br /&gt;On the low end of the scale you've got USB attached storage. Maybe it's a HD or solid state device. Maybe it's an entry level RAID or JBOD.&lt;br /&gt;In the middle you've got more advanced attached disk setups through eSATA, USB, or even network attached.&lt;br /&gt;On the high end you've got custom built servers that do nothing but share files.&lt;br /&gt;On the extreme high end you've got true NAS appliances from vendors like NetApp. If you know what these are you shouldn't be reading this! &lt;img src="http://www.toronto-subaru-club.com/forums/images/smilies/tongue.gif" alt="" title="Stick Out Tongue" class="inlineimg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. - Know What Causes Problems&lt;/b&gt;&lt;br /&gt;People. Hardware failures. Software glitches.&lt;br /&gt;Most often at home you lose data because a hard drive dies, a CD or DVD degrades, or something else happens like your DLINK media server mainboard fries.&lt;br /&gt;How do you prevent these things? REDUNDANCY!!!&lt;br /&gt;That's it. Multiple copies of things in different places is the only way to guarantee it survives. I laugh at the people who throw a couple disks in a box and mirror them (RAID 1), then go on to brag about how they'll never, ever lose data. What happens when the RAID controller dies a few years down the road? What happens when you get a virus that overwrites all the data? What happens when they stop making the identical drive you need so the el-cheapo RAID controller will agree to rebuild your array? Or what about when little Johnny decides to try installing a new Linux partition over your Windows 7 setup? Yep; total data loss.&lt;br /&gt;If you're doing something as simple as say once a week copying or auto-syncing say your "My Documents" and "My Pictures" folders (sorry Linux folks) to a USB drive you've just prevented total data loss for about $100 in hardware. Congrats! &lt;img src="http://www.toronto-subaru-club.com/forums/images/smilies/biggrin.gif" alt="" title="Big Grin" class="inlineimg" border="0" /&gt;&lt;br /&gt;That being said... if you CAN accept that you *might* lose all your data if X,Y,Z unlikely things happen then a simple RAID 1 setup could be all you need.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. - Identify What You Want To Backup&lt;/b&gt;&lt;br /&gt;Backing up everything is an option, but do you need to do it? Probably not. Identify all the things you can't lose and ensure they're safe. For me this is things like documents, movies, music, pictures, and code.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. Pros &amp;amp; Cons&lt;/b&gt;&lt;br /&gt;Everything you coudl possibly choose has pros and cons... I'll try to go over the most popular.&lt;br /&gt;&lt;i&gt;a) CDs &amp;amp; DVDs&lt;/i&gt;&lt;br /&gt;-pro- cheap&lt;br /&gt;-con- don't hold much data&lt;br /&gt;-con- very labour intensive to use&lt;br /&gt;-con- don't last too long&lt;br /&gt;&lt;i&gt;b)Hardware RAID 1/ RAID 10 (1+0, stripe + mirror, etc)&lt;/i&gt;&lt;br /&gt;-pro- pretty cheap&lt;br /&gt;-pro- most motherboards have this now&lt;br /&gt;-pro- braindead easy to get disk level redundancy&lt;br /&gt;-pro- disks last longer than CD/DVDs, but not as long as solid state devices.. solid state is still very expensive&lt;br /&gt;-con- no redundancy of RAID controller (typically)&lt;br /&gt;-con- typically need identical disks&lt;br /&gt;-con- can lose all data to stupid mistake (blow away partition) or virus/corruption&lt;br /&gt;-con- always possible driver issues&lt;br /&gt;-con- might not be able to move RAID disks to new HW and have them recongized&lt;br /&gt;&lt;i&gt;c)Software RAID&lt;/i&gt;&lt;br /&gt;-pro- probably pretty cheap or free with OS&lt;br /&gt;-pro- very easy to use&lt;br /&gt;-con- can lose all data to stupid mistake (blow away partition) or virus/corruption&lt;br /&gt;-con- may not be portable/easy to upgrade&lt;br /&gt;-con- performance hit&lt;br /&gt;&lt;i&gt;d)USB devices (single disk)&lt;/i&gt;&lt;br /&gt;-pro- pretty cheap&lt;br /&gt;-pro- very portable&lt;br /&gt;-pro- no lock in to hardware, OS, manufacturer&lt;br /&gt;-con- may need software to automate backups&lt;br /&gt;-con- can fail pretty randomly&lt;br /&gt;-con- performance is limited&lt;br /&gt;&lt;i&gt;d)Vendor Device (DLINK, Linksys, etc.)&lt;/i&gt;&lt;br /&gt;-pro- very easy to use&lt;br /&gt;-pro- often has HW RAID and funky GUIs, maybe even backup software&lt;br /&gt;-con- often very expensive for what you get&lt;br /&gt;-con- locked into the vendor&lt;br /&gt;-con- when the HW fails it's unlikely you can fix it&lt;br /&gt;-con- BUGS!! &amp;amp; hassle of firmware updates&lt;br /&gt;-con- proprietary disk RAID setups&lt;br /&gt;-con- often limit the size of disks you can use&lt;br /&gt;-con- software included can sometimes be utter garbage&lt;br /&gt;-con- may not work with all OSs&lt;br /&gt;&lt;i&gt;e)FreeNAS/Linux/Windows Home Server&lt;/i&gt;&lt;br /&gt;-pro- Very robust, very flexible solution&lt;br /&gt;-pro- Easy to work with (depending on skill level)&lt;br /&gt;-pro- Commodity hardware can be used, purchased, upgraded&lt;br /&gt;-con- Can become expensive&lt;br /&gt;-con- Need decent computer skills&lt;br /&gt;-con- Uses more space &amp;amp; power than other setups&lt;br /&gt;-con- May not include anything to help you automate backups&lt;br /&gt;-con- Need to stay on top of patching&lt;br /&gt;&lt;br /&gt;Once you work through all of this you should have a good idea of what you need, what you need to backup, and hopefully have an idea of how you can back it up.&lt;br /&gt;To help out a bit more I'll detail my setup...&lt;br /&gt;I have two laptops, two PCs, a BlackBerry, and a wired home network + wireless access to it. I run Windows Xp, Windows 7, and Ubuntu. I want all my devices to be able to access music, pictures, and I want each device to have certain things like documents backed up. Securty of all this is a totally different matter... &lt;img src="http://www.toronto-subaru-club.com/forums/images/smilies/wink.gif" alt="" title="Wink" class="inlineimg" border="0" /&gt;&lt;br /&gt;My largest risk exposure is to fire. In the event of a fire I would lose everything because I'm not moving my data off site... it's too damn expensive and I don't trust online providers enough. At some point I'll look at getting a fireproof safe and then backing things up to external storage on a regular basis and putting the backups in there.&lt;br /&gt;Aaaaaanyways...&lt;br /&gt;My backup solution is an older P4 box with a few TB drives in it running &lt;a href="http://freenas.org/freenas" target="_blank"&gt;FreeNAS&lt;/a&gt;. I use software RAID to protect against disk failure and RAID hardware failure and the performance is more than good enough. FreeNAS itself runs off a free 128MB USB stick I got and I've got another copy of it in case anything happens to it. If the computer did die I could easily slap the drives into any other FreeNAS box or even a linux box that reads UFS formatted disks and I'd be able to recover my data. That's really good.&lt;br /&gt;On some PCs I have specific folders set to stay in constant sync with FreeNAS, while others do it on a schedule. Everything is enabled to "work offline" if FreeNAS wasn't available meaning I've got at least two distinct copies of my data. Total cost if you were to build this thing new is about $300-$600+ depending on the number and costs of disks you put in it. Go as cheap as you can on CPU.&lt;br /&gt;&lt;br /&gt;So there y'all go. One REALLY long post about backups. You should be good-to-go now.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2592535728487186692?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2592535728487186692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2592535728487186692' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2592535728487186692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2592535728487186692'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/01/word-about-backups-at-home.html' title='A Word About Backups At Home'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-8574973098482751841</id><published>2010-01-07T11:16:00.005-05:00</published><updated>2010-01-07T11:36:37.617-05:00</updated><title type='text'>SQL Server Login Error Review &amp; Fix for "Error: 18456, Severity: 14, State: 11."</title><content type='html'>If you've got a SQL Server machine on a domain chances are you've seen error 18456 enough times to have seen the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Severity is always 14&lt;/li&gt;&lt;li&gt;State 8 is a bad password (password submitted doesn't match password stored in master)&lt;/li&gt;&lt;li&gt;State 9 is an invalid password (doesn't meet requirements)&lt;/li&gt;&lt;li&gt;States 2 &amp;amp; 5 are invalid usernames&lt;/li&gt;&lt;li&gt;State 40 means the logins default database isn't accessible to that login&lt;/li&gt;&lt;li&gt;State 11 means the login is valid, but something else went wrong&lt;/li&gt;&lt;/ul&gt;Now, state 11 is fun. You'll get this error and then you'll probably get a call or email from someone saying they should have access but it isn't working. Often in the logs you'll see something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51); font-style: italic;font-size:100%;" &gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Login failed for user 'DOMAIN\SAMAccountName'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: xxx.xxx.xxx.xxx]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;This is a pretty good indicator that the users login credentials are out of date which is usually a result of a laptop user trying to access the resource with cached credentials after changing their password elsewhere.&lt;br /&gt;No matter what there are two simple fixes for this that have always worked for me.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Have the user lock their computer and login again.&lt;/li&gt;&lt;li&gt;Have the user log off and logon again.&lt;/li&gt;&lt;/ol&gt;That's it! Those two steps will ensure that NTLM and/or Kerberos tickets/tokens are refreshed by talking to a current domain controller and the problem should go away.&lt;br /&gt;&lt;br /&gt;NOTE: If you're seeing errors about SSPI context there is a possibility that your SQL Server service account is invalid (password changed, locked out, disabled, etc.), or your domain (or specific DC) is having issues.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-8574973098482751841?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/8574973098482751841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=8574973098482751841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8574973098482751841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8574973098482751841'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2010/01/sql-server-login-error-review-fix-for.html' title='SQL Server Login Error Review &amp; Fix for &quot;Error: 18456, Severity: 14, State: 11.&quot;'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-3007100071582883768</id><published>2009-11-03T21:30:00.003-05:00</published><updated>2009-11-03T21:37:13.680-05:00</updated><title type='text'>SQL Query Optimization</title><content type='html'>Optimizing queries isn't always straight forward. Sometimes you think you've created a great index but the query optimizer just won't agree. You update stats, try maxdop hints, clear caches, and maybe even curse a little but nothing works.&lt;br /&gt;You suck it up and admit you're going to have to make an exception to what you know is right and use an index/table/locking hint.&lt;br /&gt;&lt;br /&gt;Well in doing that today I made extensive use of a few options most people may or may not be aware of. These are:&lt;br /&gt;SET STATISITICS IO ON;&lt;br /&gt;SET STATISTICS TIME ON;&lt;br /&gt;SET STATISTICS PROFILE ON;&lt;br /&gt;&lt;br /&gt;The output of the first two options are pretty easy to understand, but the third (which is AMAZINGLY valuable!) can be tricky.&lt;br /&gt;I suggest taking a look at this blog post on the subject as it gives great detail on the use of this excellent tool.&lt;br /&gt;&lt;a href="http://blogs.msdn.com/queryoptteam/archive/2006/08/29/730521.aspx"&gt;http://blogs.msdn.com/queryoptteam/archive/2006/08/29/730521.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-3007100071582883768?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/3007100071582883768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=3007100071582883768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3007100071582883768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3007100071582883768'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/11/sql-query-optimization.html' title='SQL Query Optimization'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-5129255621002239067</id><published>2009-08-21T15:25:00.002-04:00</published><updated>2009-08-21T15:34:36.497-04:00</updated><title type='text'>Interesting problem with SQL 2008, VCS, and MSX-TSX Servers</title><content type='html'>I thought I was going nuts today when I couldn't get a TSX server to use it's MSX server. Enrollment went through without a hitch, but the TSX would never get any jobs or even probe (although the MSX said it was probed).&lt;br /&gt;After a LOT of digging I eventually found the problem. The TSX is actually a Veritas/Symantec cluster with a virtual name but when the MSX was calling things like &lt;span style="font-style: italic;"&gt;msdb.dbo.sp_sqlagent_probe_msx  &lt;/span&gt;it would use the hostname of the cluster node running the SQL service for the value of &lt;span style="font-style: italic;"&gt;@server_name&lt;/span&gt;. This was weird. Both @@SERVERNAME and SERVERPROPERTY('SERVERNAME') returned the virtual name and the TSX enrolled as the virtual name but it was always calling the damn hostname!&lt;br /&gt;The fix for this was quite obscure.&lt;br /&gt;I eventually happened upon a key&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT]&lt;br /&gt;"Environment"&lt;br /&gt;&lt;br /&gt;And this key was missing for this cluster, yet there for every other SQL server I've got. I took a chance and put in the data for the key that was present under the service for this instance and bounced the service. BAMN! Just like that it downloaded all it's jobs and the MSX started issuing  &lt;span style="font-style: italic;"&gt;sp_sqlagent_probe_msx&lt;/span&gt;  calls using virtual name!&lt;br /&gt;&lt;br /&gt;I have no idea why this happened (SQL 2008 seems 'flaky' with permissions like this) but at least the fix was easy.&lt;br /&gt;Keep an eye open for this if you're running a similar setup!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-5129255621002239067?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/5129255621002239067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=5129255621002239067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5129255621002239067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5129255621002239067'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/08/interesting-problem-with-sql-2008-vcs.html' title='Interesting problem with SQL 2008, VCS, and MSX-TSX Servers'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2839429487287401040</id><published>2009-07-30T23:12:00.005-04:00</published><updated>2009-07-30T23:48:26.012-04:00</updated><title type='text'>Fanboys: Pros &amp; Cons Are Everywhere. Why can't you see them?</title><content type='html'>I just don't understand fanboys. These are people who take interest in things like cars, phones, computers, OS's, etc to a whole new (and scary) level.&lt;br /&gt;There are people out that that would sooner spit on you than shake your hand because you use MS Windows instead of Linux. Why? I HAVE NO IDEA!&lt;br /&gt;I just can't wrap my head around it. I suspect it is some sort of undiagnosed social problem and/or an intelligence issue but I'm no doctor.&lt;br /&gt;I make my living supporting and architecting a Microsoft product (SQL Server), I'm posting this from Linux (Ubuntu), and I urged my parents to buy an Apple (Macbook) when I got tired of supporting them on XP ago and was given reason to fear for their information security. Why the diversity? Because everything has pros and cons. &lt;span style="font-weight: bold; font-style: italic;"&gt;EVERYTHING&lt;/span&gt;.&lt;br /&gt;Recently, I've been spending time digging into the pros and cons of Oracle 11g vs. SQL 2008 and I've got to say there aren't too many feature-wise. The big differences start to show up when you start to examine dealing with huge (multi-TB) databases that need very high up time numbers. MS still isn't there 100% with that sort of stuff (ever dug into an AWR report and seen what Oracle keeps track of? WOW!) but they are making major progress; no doubt.&lt;br /&gt;In doing this I was also forced to recognize some of my own bias in that I have slammed Oracle over costs or complexity but ultimately; there is some serious value for that money and the complexity is a result. Of course, this point is moot unless you have DBAs that know what they're doing; really know what they're doing. As I see it the benefit of the MS solution is that it'll pretty much manage itself and tell you when something is seriously wrong; up to a point. This is a pretty common theme with all MS products and it's why Linux is still nowhere near a threat to Windows on the desktop &lt;span style="font-size:85%;"&gt;(I won't get into that religious debate here)&lt;/span&gt;. You'll never scale over a few hundred GB with MS SQL unless you have talented DBAs (haha! sales pitch for me *wink*) because you have to start fiddling with the knobs and actually understand the architecture. You need to be able to comprehend what all the DMVs expose and do it without going to Google/Bing/Ms Connect! Oracle lacks that touchy-feely stuff from the get-go and you won't get anywhere with it out of the box unless you have the right people.&lt;br /&gt;One last thing before I move on from this Oracle/SQL rambling bable; what is up with them comparing things like &lt;a href="http://www.oracle.com/technology/deploy/availability/pdf/cwp_ha_oracle11gr1_ss2008.pdf"&gt;Oracle RAC to SQL 2008 clustering&lt;/a&gt;?? How can anyone honestly claim that these two products compete in the same space? One is a simple low cost active-passive HA setup and the other is a full-blown active-active horizontally scalable massively-parallel solution that requires you to code specifically for it! 99% of all marketing is utter crap in the IT world.&lt;br /&gt;In getting back to the topic, I'm forced to acknowledge that my mind just doesn't allow me to become too fanatical for any one thing; I always see pros and cons. I can't help but wonder if that is a positive or a negative. Is it evolutionarily (is that a word?) "better" to have this ability to reason and judge to such a degree, or is it better to be able to fully commit to something and then blindly follow your decision? I wonder. If I had to make a call I'd say the former is superior (wow... really high on my horse tonight, eh?) as I reason it to be a divergence from the typical tribal mentality we would have had in us many thousands of years ago. Without the ability to see fault you won't have innovation. The Model-T may have been "good enough". The steam engine "efficient enough". Nuclear power "too dangerous"...&lt;br /&gt;I end with this; is the fanboy mentality an age-old human trait, a sign of a dumbing-down with society, or something else entirely? I can't help but wonder that everyime I read their comments/editorials/words. Part of me hopes the entire thing is nothing more than some elaborate marketing scheme running amok! ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2839429487287401040?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2839429487287401040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2839429487287401040' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2839429487287401040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2839429487287401040'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/07/fanboys-pros-cons-are-everywhere-why.html' title='Fanboys: Pros &amp; Cons Are Everywhere. Why can&apos;t you see them?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4194684873902339784</id><published>2009-07-26T13:10:00.021-04:00</published><updated>2009-07-29T19:29:23.418-04:00</updated><title type='text'>STi Intercooler Waterspray Into 2002 WRX Wagon</title><content type='html'>I found a great deal on a STi waterspray tank and switch and decided to take it. It came with the reservoir, pump motor, level switch, ~1ft of tubing, and the stock USDM switch. I picked up 20ft of tubing at a hose supply company for $15.&lt;br /&gt;I did a little reading and got&lt;a href="http://ken-gilbert.com/impreza-manuals"&gt; the wiring diagrams&lt;/a&gt; for the switch and pump, then went about deciding how to wire things up for my install. To compensate for the lack of time delay relay I searched my parts bin and came up with a 555 timer and then hit up Princess Auto for a $5 automotive relay &amp;amp; harness.&lt;br /&gt;I knew that I wouldn't have the IC spray hooked up in the winter and I wanted it installed somewhere "covert" and out of the way as I actually use my trunk... a lot! I came up with the idea of removing the spare tire and putting the tank in that spot- works great after drilling a single hole in the tank mounting bracket and I can use my entire trunk as the cover/floor goes right over top like stock.&lt;br /&gt;Hose and power/ground routing was done along the same routes as the stock rear washer/gas lines &amp;amp; wiring; along the driver side.&lt;br /&gt;Here are pictures of the whole install and a little more info about wiring for anyone out there who may be interested...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stock WRX intercooler shroud vs. STi with sprayer nozzles- not a huge difference:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vGVtfT_BZgc/SmyQnxhBIZI/AAAAAAAAAI4/WMzGYCJBATs/s1600-h/IMG00010-20090405-1230.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_vGVtfT_BZgc/SmyQnxhBIZI/AAAAAAAAAI4/WMzGYCJBATs/s320/IMG00010-20090405-1230.jpg" alt="" id="BLOGGER_PHOTO_ID_5362820269272539538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Water tank bracket mounted in spare tire well. This is bolted right into the same spot as the stock spare tire hold-down. One hole needs to be drilled in the bracket where the bolt is seen (or where the blue dot is in other pictures):&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vGVtfT_BZgc/SmyRs5s31YI/AAAAAAAAAJA/qLbWUViIUfE/s1600-h/IMG00032-20090628-1446.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_vGVtfT_BZgc/SmyRs5s31YI/AAAAAAAAAJA/qLbWUViIUfE/s320/IMG00032-20090628-1446.jpg" alt="" id="BLOGGER_PHOTO_ID_5362821456880719234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Showing how the water tank bolts up to the bracket. Two 10mm nuts hold it on. You can just get at them with a wrench while the bracket it bolted down:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vGVtfT_BZgc/SnDRL0Af5jI/AAAAAAAAAJI/5jRbKvQv6SA/s1600-h/IMG00037-20090628-1447.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_vGVtfT_BZgc/SnDRL0Af5jI/AAAAAAAAAJI/5jRbKvQv6SA/s320/IMG00037-20090628-1447.jpg" alt="" id="BLOGGER_PHOTO_ID_5364017157067761202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/SnDTZSvch8I/AAAAAAAAAJQ/yJR0a-4vHT4/s1600-h/IMG00061-20090729-1850.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/SnDTZSvch8I/AAAAAAAAAJQ/yJR0a-4vHT4/s320/IMG00061-20090729-1850.jpg" alt="" id="BLOGGER_PHOTO_ID_5364019587679291330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The water hose was run along the stock line and I brought it out through this existing bung (drilled holes though the plastic). My vacuum tube for the stock boost gauge also uses this:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/SnDT76xaI3I/AAAAAAAAAJY/RMhhVLohwWs/s1600-h/IMG00052-20090712-1205.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/SnDT76xaI3I/AAAAAAAAAJY/RMhhVLohwWs/s320/IMG00052-20090712-1205.jpg" alt="" id="BLOGGER_PHOTO_ID_5364020182540493682" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vGVtfT_BZgc/SnDUW80tPbI/AAAAAAAAAJg/AIhBxzWLm0I/s1600-h/IMG00051-20090712-1205.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_vGVtfT_BZgc/SnDUW80tPbI/AAAAAAAAAJg/AIhBxzWLm0I/s320/IMG00051-20090712-1205.jpg" alt="" id="BLOGGER_PHOTO_ID_5364020646947667378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The hoses run into the engine bay the same way as the stock wiper hose and wiring harness:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vGVtfT_BZgc/SnDUmHxz0FI/AAAAAAAAAJo/-bWQewJpLeY/s1600-h/IMG00053-20090712-1205.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_vGVtfT_BZgc/SnDUmHxz0FI/AAAAAAAAAJo/-bWQewJpLeY/s320/IMG00053-20090712-1205.jpg" alt="" id="BLOGGER_PHOTO_ID_5364020907586342994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Then it runs along under the various wires, hoses, and what-not to come up in the same spot as the stock wiper hose and connects to the in-line check valve and the tube/splitter combo that runs to the IC sprayer nozzles:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vGVtfT_BZgc/SnDU-ZyqENI/AAAAAAAAAJw/E1qXEXbPE4g/s1600-h/IMG00062-20090729-1851.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_vGVtfT_BZgc/SnDU-ZyqENI/AAAAAAAAAJw/E1qXEXbPE4g/s320/IMG00062-20090729-1851.jpg" alt="" id="BLOGGER_PHOTO_ID_5364021324738597074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The wiring of the relay to the stock switch and the 555 timer setup. In retrospect I should have used a pot instead of a 10k resistor for the timing as my test 12v source gave 5s but the car power gives 3.5s. With a pot I could have dialed in the spray time exactly. Oh well. Holding down the button sprays as long as you hold it :)&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/SnDV6RrMRbI/AAAAAAAAAJ4/7uyFLhZQMcE/s1600-h/IMG00059-20090716-0049.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/SnDV6RrMRbI/AAAAAAAAAJ4/7uyFLhZQMcE/s320/IMG00059-20090716-0049.jpg" alt="" id="BLOGGER_PHOTO_ID_5364022353351951794" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vGVtfT_BZgc/SnDV6WWvriI/AAAAAAAAAKA/XPrJGUqko20/s1600-h/IMG00058-20090715-2343.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_vGVtfT_BZgc/SnDV6WWvriI/AAAAAAAAAKA/XPrJGUqko20/s320/IMG00058-20090715-2343.jpg" alt="" id="BLOGGER_PHOTO_ID_5364022354608369186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Wiring the switch into the car is pretty straight forward. The basic steps follow for a +12v switched relay that provides ground when "on". If you want detailed wiring instructions leave feedback on this post and I'll put them up.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tap the existing wires for the illumination bulb &amp;amp; wire into the switch.&lt;/li&gt;&lt;li&gt;Wire up your relay to be +12v switched on.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Run a ground to the IC spray switch.&lt;/li&gt;&lt;li&gt;Run the output of the switch to the trigger of your 555 timer circuit (must be ground!)&lt;/li&gt;&lt;li&gt;Run power and ground to the 555 timer circuit. Use the same switched power source and ground as the relay and switch.&lt;/li&gt;&lt;li&gt;Run the output of the 555 circuit to the +12v switch of the relay.&lt;/li&gt;&lt;li&gt;Run the "on" output of the relay (should be ground when "on") to the IC spray pump.&lt;/li&gt;&lt;li&gt;Fill the spray tank, turn on the ignition, and spray away!&lt;/li&gt;&lt;/ol&gt;When winter comes just disconnect the wires @ the tank and tape-off. Cap the water hose and you're done until spring.&lt;br /&gt;&lt;br /&gt;Hopefully this will help/encourage others out there to try this. I couldn't find any detailed instructions for this (and none for the 555 stuff) so I thought I'd share it with some pictures to help out. :)&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4194684873902339784?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4194684873902339784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4194684873902339784' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4194684873902339784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4194684873902339784'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/07/sti-intercooler-waterspray-into-2002.html' title='STi Intercooler Waterspray Into 2002 WRX Wagon'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vGVtfT_BZgc/SmyQnxhBIZI/AAAAAAAAAI4/WMzGYCJBATs/s72-c/IMG00010-20090405-1230.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-184277852258493614</id><published>2009-07-25T10:46:00.004-04:00</published><updated>2009-07-25T11:02:50.927-04:00</updated><title type='text'>Investing: The biggest known con?</title><content type='html'>I admit I have very little love for the financial sector. Profit is king and money is made on the blood and sweat of the vulnerable. It's quite disgusting and at some point in time it will collapse... or be ripped apart. Hopefully a peaceful end comes around but given human history for dramatic changes, I doubt it :(&lt;br /&gt;&lt;br /&gt;Anyways I just &lt;a href="http://news.cnet.com/Stock-traders-find-speed-pays%2C-in-milliseconds---page-2/2100-1014_3-6249912-2.html?tag=mncol"&gt;read an article&lt;/a&gt; on "high-frequency trading" and I can't help but laugh. If anyone out there seriously thinks that they can complete with multi-million dollar trading algorithms and hardware setups they are just plain wrong. The only hope you have is of somehow setting up another system to game their system. What does that lead to? Poker. Seriously. You've got multiple "players" all wanting "to win" and they're all looking at each other for various "tells"; but the players can "bluff"!&lt;br /&gt;Great. Sounds like the very definition of fair, balanced, and dependable... NOT.&lt;br /&gt;Given a situation like this I think the whole market is essentially done. No longer are companies actually making money through the merit of the company. They just make money because people use their stocks like poker chips. This system doesn't inspire anything positive and instead puts enormous pressure on companies to simply release sound bytes and news clips that will trigger high volume trades on their stock.&lt;br /&gt;Have we learned absolutely nothing from the latest "global economic downturn"?&lt;br /&gt;&lt;br /&gt;...oh wait; I guess we did. We learned that the tax dollars of the people will be given to the very same groups and individuals that caused the problem in the first place so that they can do it all over again. The status quo reigns when the status quo means the rich and powerful stay rich and powerful ...dancing on the backs of the bruised.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-184277852258493614?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/184277852258493614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=184277852258493614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/184277852258493614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/184277852258493614'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/07/investing-biggest-known-con.html' title='Investing: The biggest known con?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2442856027221977493</id><published>2009-07-21T21:33:00.003-04:00</published><updated>2009-07-21T21:42:47.460-04:00</updated><title type='text'>Lenovo T61 + OCZ Solid Series 64GB SSD = No Love</title><content type='html'>I picked up an SSD on sale for $105 Saturday and I'll be returning it tomorrow. What a pile of crap.&lt;br /&gt;First off the T61 doesn't even recognize the thing... BIOS update fixed that.&lt;br /&gt;Then there are HUGE problems just trying to get the damn thing to seat properly in the HD bay and not throw a 2100 error. Finally solved that with some by not using the drive caddy and using the just the rubber ends, then wiggling just right until it seated in the SATA connections.&lt;br /&gt;Then I find out that the T61 doesn't support SATA II.&lt;br /&gt;Then I find out the SSD doesn't support AHCI.&lt;br /&gt;Then I finally get all the tweaks done, mount the drive in another computer, track align @ the 4k boundary, format, get rolling with the XP install on the laptop and... NOTHING.&lt;br /&gt;A blinking cursor in the upper left after the first reboot. Awesome.&lt;br /&gt;Tried to fixboot, fixmbr, etc. No dice.&lt;br /&gt;&lt;br /&gt;I'm done. The whole plan was to use this as a quick swap for use in the car (while tuning) to avoid issues with bumps and to ensure my original HD could be encrypted and thus used for work only; all personal use = SSD HD.&lt;br /&gt;I suspect it's a partition issue and could be resolved but after all this I've got a sour taste in my mouth and this just isn't worth it. For a few hundred dollars more I could get a very decent NetBook and enjoy all the advantages that brings.&lt;br /&gt;&lt;br /&gt;Oh well, nice idea but it just didn't work out... Shocking how many problems there were.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2442856027221977493?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2442856027221977493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2442856027221977493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2442856027221977493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2442856027221977493'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/07/lenovo-t61-ocz-solid-series-64gb-ssd-no.html' title='Lenovo T61 + OCZ Solid Series 64GB SSD = No Love'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1494908847582918514</id><published>2009-07-06T17:38:00.004-04:00</published><updated>2009-07-06T17:41:54.362-04:00</updated><title type='text'>Designated Driver? We've been doing it wrong all along!</title><content type='html'>I had to post this. Sometimes a typo is just a typo... Sometimes it's this!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/SlJvR3p8AWI/AAAAAAAAAIw/UsneYgdPTL0/s1600-h/AtdKi.jpg"&gt;&lt;img style="cursor: pointer; width: 511px; height: 383px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/SlJvR3p8AWI/AAAAAAAAAIw/UsneYgdPTL0/s320/AtdKi.jpg" alt="" id="BLOGGER_PHOTO_ID_5355465259685249378" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1494908847582918514?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1494908847582918514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1494908847582918514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1494908847582918514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1494908847582918514'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/07/designated-driver-weve-been-doing-it.html' title='Designated Driver? We&apos;ve been doing it wrong all along!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vGVtfT_BZgc/SlJvR3p8AWI/AAAAAAAAAIw/UsneYgdPTL0/s72-c/AtdKi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-352734109209809650</id><published>2009-06-16T23:03:00.002-04:00</published><updated>2009-06-16T23:21:40.705-04:00</updated><title type='text'>Gone Fishing</title><content type='html'>Trish and I bought a canoe as our first combined big ticket item for our 2 year anniversary and we spent the weekend fishing. It was great! We both got burned and totally relaxed... Without thinking about it this was by far the best anniversary ever.&lt;br /&gt;&lt;br /&gt;As for the Fish Cam- I'll still be posting a how-to and I can saw it works. However, I need to put a tint on the lens as the B&amp;amp;W camera is way too sensitive to daylight and it washes out totally. I did a quick test by putting my sunglasses on it and it worked like a charm. Since the camera lens is small I may be able to get away with just putting a piece of old negative film over it. I can't wait to use it more!&lt;br /&gt;&lt;br /&gt;Fishing has been going well. We've both caught loads of &lt;a href="http://en.wikipedia.org/wiki/Bluegill"&gt;bluegill&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Green_sunfish"&gt;green sunfish&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Pumpkinseed"&gt;pumpkinseed&lt;/a&gt;. Plus various mixes of them. We've also caught smallmouth and largemouth &lt;a href="http://en.wikipedia.org/wiki/Bass_%28fish%29"&gt;bass&lt;/a&gt;, and Trish caught a rock bass at one point. I've caught the biggest fish so far with the best being a 2-3lb largemouth :)&lt;br /&gt;We do have pics ;) Trish 98% landed a &lt;a href="http://en.wikipedia.org/wiki/Yellow_perch"&gt;trophy perch&lt;/a&gt;. It was at least 20-30cm long and thick! She caught it while reeling in a tiny little perch- greedy cannibal perch! The wildest thing is that she was having trouble unhooking the small (10cm) perch she had on and the massive perch would just sit at the edge of the canoe and watch, then when she would put it back in the water to keep it alive the predator would strike immediately and she'd have to yank the poor little guy out again! I have NEVER seen anything like it! It actually managed to get her fish all the way in it's mouth and she had them both almost in the canoe when it finally spit out the poor little guy and took off for good. I wish we had that on video... just unbelievable and the whole thing went on for about 3 or 4 minutes.&lt;br /&gt;&lt;br /&gt;We're thinking that we may try out carp fishing as the local pond in St. Thomas seems to have changed a lot since last year and the pan fish &amp;amp; bass have been largely replaced by carp, carp, and more carp. :( I hear they're tough fighters and there's no doubt they're shy (they go nuts trying to get away from the canoe when we come close) but I'm just not excited about fishing for something where it's just a throw in the line &amp;amp; wait scenario. Oh well, we'll see how it goes...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-352734109209809650?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/352734109209809650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=352734109209809650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/352734109209809650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/352734109209809650'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/06/gone-fishing.html' title='Gone Fishing'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1521832759166948986</id><published>2009-05-22T23:40:00.002-04:00</published><updated>2009-05-22T23:45:58.319-04:00</updated><title type='text'>Steam - Not Fun When Broken</title><content type='html'>I stupidly decided to opt-in to the Steam Beta client today. WHAT  A MISTAKE!&lt;br /&gt;After applying a patch and restarting Steam I was greated with the following error:&lt;br /&gt;"Error...steam.exe (main exception): " yada, yada, yada but the best part is that the error was Error 1 or 0 "unknown error".&lt;br /&gt;Awesome.&lt;br /&gt;&lt;br /&gt;Well after about 45 minutes I got things working again.&lt;br /&gt;I used the repair option given from the installer on my original Orang Box DVDs. Then, I deleted teh Registry Keys "beta" and everything under "Users" at the following location:&lt;br /&gt;HKCU\Software\Valve\Steam&lt;br /&gt;&lt;br /&gt;After that Steam started, updated, and I simply logged in again. Bingo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1521832759166948986?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1521832759166948986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1521832759166948986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1521832759166948986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1521832759166948986'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/05/steam-not-fun-when-broken.html' title='Steam - Not Fun When Broken'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7434357561224680583</id><published>2009-05-09T18:37:00.003-04:00</published><updated>2009-05-09T19:58:07.158-04:00</updated><title type='text'>Fish-Cam is GO!</title><content type='html'>I recently made a nice little to-do list on my fridge with a dry erase marker I've had since university. It doesn't judge me; you shouldn't either.&lt;br /&gt;..anyways I've made some very good progress on said project and have now officially kicked off my "Fish-Cam" project. It is essentially a budget/DIY version of &lt;a href="http://www.aquavu.com/"&gt;this&lt;/a&gt; or &lt;a href="http://www.getfishtv.com/"&gt;this&lt;/a&gt;.&lt;br /&gt;I decided to use a portable DVD player instead of a stand-alone mini-LCD or *gasp* a mini-CRT. The main reasons for this decision are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cost. A portable DVD player is ~$80 - $180 CAD right now. Mini LCDs are $110+&lt;/li&gt;&lt;li&gt;Design. Portable DVD players are meant for lugging around. Mini LCDs are really meant to be mounted somewhere.&lt;/li&gt;&lt;li&gt;Features. A Mini-LCD is useless on it's own. A portable DVD player plays DVDs, mp3s, etc.&lt;/li&gt;&lt;li&gt;Availability. Wal-Mart had plenty of portable DVD players. Only a few shops have mini LCDs... and questionable return policies if things don't work!&lt;/li&gt;&lt;/ul&gt;I've also picked up a B&amp;amp;W (I can upgrade to colour if this works well) CMOS security camera with 6 IR LEDs on it for $29 CAD. It comes with 60ft of cable so all I need to do now is get some PVC tube and acrylic that I can mount the camera in. Then the Fish-Cam will be complete!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7434357561224680583?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7434357561224680583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7434357561224680583' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7434357561224680583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7434357561224680583'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/05/fish-cam-is-go.html' title='Fish-Cam is GO!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7376674826315387542</id><published>2009-05-09T17:00:00.002-04:00</published><updated>2009-05-09T17:17:54.737-04:00</updated><title type='text'>Review: Portable DVD Players (RCA DRC6338 &amp; Toshiba SD-P70S)</title><content type='html'>As part of my Fish-Cam project I decided that I'd look at purchasing a portable DVD player to use as the monitor. So I went over to Wal-Mart and picked out the RCA DRC6338 8" portable DVD player because it was on sale and had an 8" screen. What a mistake! Luckily upon return of that unit I picked up the Toshiba SDP70S and was very pleased.&lt;br /&gt;Here are my reviews...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;RCA DRC6338&lt;/span&gt;&lt;br /&gt;Cost - $119 CAD&lt;br /&gt;Features - Car charger, wall charger, built-in battery, 8" screen, audio/video inputs &amp;amp; outputs, remote&lt;br /&gt;Review - Crap. It has a cheap feel, doesn't include the special cable you'll need for av i/o, and didn't work with my video input source at all. It also lacks the ability to output digital audio (not that I care). Even worse; you can't use the device and charge it at the same time! Really poor design.&lt;br /&gt;This unit went back as soon as it failed to display my video input source.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Toshiba SD-P70S&lt;/span&gt;&lt;br /&gt;Cost - $98 CAD&lt;br /&gt;Features - Car charger, wall charger, external battery, 7" screen, a/v in &amp;amp; out, remote&lt;br /&gt;Review - Excellent. It feels well built and the packaging is many times better than the RCA. It also INCLUDES the special a/v input cord you'll need and does do digital output. It worked right away with my video input source and I didn't even have the battery plugged in to the unit. This is great as I plan to run this 100% from a 12V battery as part of the fish-cam and I don't want to worry about battery life at all. The unit CAN charge and play at the same time.&lt;br /&gt;Although it does have 1" less viewable space I'd consider this unit superior to the RCA. The fact that it includes the a/v cables makes up for the screen size IMHO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7376674826315387542?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7376674826315387542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7376674826315387542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7376674826315387542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7376674826315387542'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/05/review-portable-dvd-players-rca-drc6338.html' title='Review: Portable DVD Players (RCA DRC6338 &amp; Toshiba SD-P70S)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-3006391280200692588</id><published>2009-05-04T20:28:00.012-04:00</published><updated>2009-05-09T18:08:44.077-04:00</updated><title type='text'>HEAP Fragementation in SQL Server 2005</title><content type='html'>I happened upon an interesting problem at work today. There's an application my company purchased that is used for project management in one way or the other. Each night a job runs that does various things including synchronizing variables like permissions and user names with Active Directory. The vendor supplied the script that does this and it's terrible. It involves dumping a lot of data into a work table, then pulling that data out piece by piece, converting it to XML, comparing the XML to some other XML, and then re-inserting into the database. Yikes.&lt;br /&gt;Anyways, the performance of this sync job is fairly constant until a certain point and then it just blows up and quadruples the run time which affects other processes.&lt;br /&gt;Previously this was solved when I noted the complex system we use to defrag our databases had a bug in it. I fixed the bug, defragmented things and everything went back to normal.&lt;br /&gt;This time however, there is no bug and the tables that play a role didn't show any sort of fragmentation at all. In QA I just went ahead and defragmented everything with the "quick &amp;amp; dirty" rebuild script&lt;br /&gt;&lt;pre&gt;&lt;code&gt; EXEC sp_msforeachtable 'ALTER INDEX ALL ON ? REBUILD' &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Never, ever use that on a production database :p&lt;br /&gt;A test showed that the sync was indeed working properly again. Great. So all we need to do is ensure that the database has essentially zero fragmentation on all tables and indexed views to get this to work. I'd also take a pet unicorn while we're wishing.&lt;br /&gt;So I did a little more digging around and I noticed that our automated index rebuilding script didn't consider index_id = 0 (HEAP) which meant I wasn't viewing any data for that while reviewing fragmentation levels. I coded up a very quick fragmentation check query&lt;br /&gt;&lt;pre&gt;&lt;code&gt;SELECT object_name(object_id)&lt;br /&gt; ,index_id&lt;br /&gt; ,partition_number&lt;br /&gt; ,page_count&lt;br /&gt; ,avg_fragmentation_in_percent&lt;br /&gt; ,index_type_desc&lt;br /&gt;FROM sys.dm_db_index_physical_stats(DB_ID(N'--dbname--'), NULL, NULL, NULL , 'LIMITED')&lt;br /&gt;ORDER BY page_count DESC, avg_fragmentation_in_percent DESC;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;What I found shocked me. There were 10+ large heaps with 99.5%+ fragmentation!!&lt;br /&gt;I immediately started to dig in and see why these tables didn't have clustered indexes and you know what I found? No reason. No reason at all. There were already non-clustered and unique indexes on every table I found. For some reason the developer/vendor just never clued in that over time they would create massive fragmentation on these tables and not give us poor DBAs a chance to fix it. My assumption is that this was developed way back in the SQL 6 or 7 days where I *think* they used linked-heap table structure... don't quote me on that though as I've never touched anything older than 2000 (and oh man do I not miss 2000!)&lt;br /&gt;&lt;br /&gt;If you're not sure how I fixed things yet I'll tell you. I converted a UQ index on each table to a clustered index (using a best guess approach) which rebuilt all the others. Fragmentation is under 1% and I'll be able to monitor the fragmentation now to see if I need to do anything else with these tables.&lt;br /&gt;&lt;br /&gt;All this work because a vendor didn't bother to properly design their database. Shocking, eh? ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-3006391280200692588?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/3006391280200692588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=3006391280200692588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3006391280200692588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3006391280200692588'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/05/heap-fragementation-in-sql-server-2005.html' title='HEAP Fragementation in SQL Server 2005'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2858769039314106578</id><published>2009-05-03T22:10:00.018-04:00</published><updated>2009-05-04T10:49:18.648-04:00</updated><title type='text'>Roomba Scheduling App Released (SerialBandit)</title><content type='html'>I spent some time writing an application that will communicate with a 5XX series Roomba (I have a 530) via RS232 (COMM Port or Serial Port) from your computer. The main goal was to let me setup my Roomba to clean at specific times (cleaning schedule). You can buy a device from iRobot that will let you do this remotely, but not for my version of Roomba (or below in the 500-series).&lt;br /&gt;I couldn't find any apps that worked reliably and did what I was looking for so I wrote my own.&lt;br /&gt;I'll include a few pictures of the setup, but essentially it's the standard Serial Port -&gt; MAX232 -&gt; Roomba setup. You can get further instructions &lt;a href="http://hackingroomba.com/"&gt;here&lt;/a&gt; if you need them.&lt;br /&gt;The application &lt;a href="http://serialbandit.codeplex.com/"&gt;is up on CodePlex here&lt;/a&gt;. You can download the compiled app on the "Downloads" tab. :)&lt;br /&gt;&lt;br /&gt;Picture below show...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Quick shot of the interface&lt;/li&gt;&lt;li&gt;The Roomba serial port connector I made (A 6 pin mini DIN with the key removed, connected to Cat5e cable)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Roomba plugged in to the serial adapter&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The PC -&gt; Roomba Converter on breadboard&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The schematic I used. 100% Credit on the schematic goes to &lt;a href="http://todbot.com/"&gt;Tod E. Kurt&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/Sf5ROQhqClI/AAAAAAAAAHQ/r_8Zv9_h-y8/s1600-h/ScreenShot.png"&gt;&lt;img style="margin: 0px auto 10px; text-align: left; cursor: pointer; width: 320px; height: 175px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/Sf5ROQhqClI/AAAAAAAAAHQ/r_8Zv9_h-y8/s320/ScreenShot.png" alt="" id="BLOGGER_PHOTO_ID_5331788314249398866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/Sf5UGYHmKXI/AAAAAAAAAHY/7M8qUN41m4E/s1600-h/IMG00001-20090503-2215.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/Sf5UGYHmKXI/AAAAAAAAAHY/7M8qUN41m4E/s320/IMG00001-20090503-2215.jpg" alt="" id="BLOGGER_PHOTO_ID_5331791477383506290" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vGVtfT_BZgc/Sf5UX3ROumI/AAAAAAAAAHg/fLC6iH62olk/s1600-h/IMG00002-20090503-2215.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_vGVtfT_BZgc/Sf5UX3ROumI/AAAAAAAAAHg/fLC6iH62olk/s320/IMG00002-20090503-2215.jpg" alt="" id="BLOGGER_PHOTO_ID_5331791777803188834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vGVtfT_BZgc/Sf5UxjUCaPI/AAAAAAAAAHo/ama9v2nOJz8/s1600-h/IMG00003-20090503-2216.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_vGVtfT_BZgc/Sf5UxjUCaPI/AAAAAAAAAHo/ama9v2nOJz8/s320/IMG00003-20090503-2216.jpg" alt="" id="BLOGGER_PHOTO_ID_5331792219122854130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vGVtfT_BZgc/Sf5VkxyvACI/AAAAAAAAAH4/2PSsw67ov4U/s1600-h/Serial+Interface+Schematic.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_vGVtfT_BZgc/Sf5VkxyvACI/AAAAAAAAAH4/2PSsw67ov4U/s320/Serial+Interface+Schematic.png" alt="" id="BLOGGER_PHOTO_ID_5331793099183030306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Leave comments here for support.&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;**UPDATE 1**&lt;br /&gt;I've posted my announcement on RobotReviews.com (&lt;a href="http://www.robotreviews.com/chat/viewtopic.php?f=4&amp;t=11507&amp;p=64697#p64697"&gt;here&lt;/a&gt;)&lt;br /&gt;**UPDATE 2**&lt;br /&gt;The admins at RobotReviews are wankers. Apparently 2 posts with details of this app is "spamming the boards". LOL... wankers. :p&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2858769039314106578?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2858769039314106578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2858769039314106578' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2858769039314106578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2858769039314106578'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/05/roomba-scheduling-app-released.html' title='Roomba Scheduling App Released (SerialBandit)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vGVtfT_BZgc/Sf5ROQhqClI/AAAAAAAAAHQ/r_8Zv9_h-y8/s72-c/ScreenShot.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2548652416628510364</id><published>2009-04-27T22:43:00.003-04:00</published><updated>2009-04-27T22:49:24.599-04:00</updated><title type='text'>Interesting: Infomercial Ratings</title><content type='html'>I can't say I've ever bought anything from an infomercial, and I doubt I ever will. However, I am often curious about what people who do the products have to say. Well now I don't have to wonder! I give you &lt;a href="http://www.infomercialratings.com/"&gt;http://www.infomercialratings.com/&lt;/a&gt;&lt;br /&gt;It's basically a site where people review all the &lt;strike&gt;crap&lt;/strike&gt; wonderful stuff they buy from infomercials. Cool!&lt;br /&gt;&lt;br /&gt;...and for the record I'll come clean. When I was a little kid I talked my mom into buying the Miracle Blade knives from an infomercial. In their defense I STILL have one of them and I still use it in the kitchen despite the fact that I once used it to make speaker stands out of pine planks and doweling rods. I'm not kidding either; I didn't have a saw and it worked like a charm. Who knew?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2548652416628510364?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2548652416628510364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2548652416628510364' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2548652416628510364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2548652416628510364'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/04/interesting-infomercial-ratings.html' title='Interesting: Infomercial Ratings'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1355707921155546387</id><published>2009-04-23T22:51:00.003-04:00</published><updated>2009-04-24T11:19:50.392-04:00</updated><title type='text'>Time keeps on slipping...</title><content type='html'>Where do the days go? I can't help but realize just how far behind I'm getting with regards to SQL and Windows Server :(&lt;br /&gt;I've barely cracked the exciting SQL 2008 features and already I'm getting &lt;a href="http://edge.technet.com/Media/PASS-Community-Summit-2008/"&gt;excited for Kilimanjaro&lt;/a&gt;. I haven't even started to learn the ins and outs of Windows 2008 and I'm looking at Windows 7 and drooling. &lt;sigh&gt;&lt;br /&gt;Then there's the world of BI that I want to get into... yikes!&lt;br /&gt;&lt;br /&gt;I'm really looking forward to getting away from the office to attend TechEd this year. I REALLY need to get out of the constant interruptions so that I can focus on learning again. It's sort of like a very geeky "me time" trip ;)&lt;br /&gt;I'm a bit bummed out that Kimbery and Paul won't be presenting this year as I've always really enjoyed their sessions and break-outs. That reminds me... I just stumbled upon &lt;a href="http://blogs.msdn.com/dtjones/default.aspx"&gt;the blog of Mr. Dan Jones&lt;/a&gt; tonight which is one I'll have to start following. I attended a few of his sessions two years ago and I believe he's also the one who led a Katmai focus group I attended; that was a blast and it's really cool to see our feedback materialized in the form of SQL 2008 SSMS!&lt;br /&gt;&lt;br /&gt;Ok... enough work for tonight; Trish's texts indicate she's missing me so I had better call in a quick hello.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;/sigh&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1355707921155546387?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1355707921155546387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1355707921155546387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1355707921155546387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1355707921155546387'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/04/time-keeps-on-slipping.html' title='Time keeps on slipping...'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2468913196610163306</id><published>2009-04-05T19:46:00.004-04:00</published><updated>2009-04-06T18:34:15.087-04:00</updated><title type='text'>Using SSL Certificates for SQL 2005 &amp; 2008</title><content type='html'>I'm in the process of going back and editing some of my older posts so that I can link to this blog "without shame" and I noticed a posting about changing the MSX Encrypt Channel option to 0. I don't do that any more. I WANT my SQL servers to have SSL certs and I actively force SSL encryption on all traffic to and from my MSX servers.&lt;br /&gt;So; how does one setup a SQL server to use an SSL cert in a domain when you're running the SQL service with a low-privliged (non-admin) domain user account (you ARE doing that, right?!)?&lt;br /&gt;&lt;br /&gt;Simple.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First off, you're going to need to get a copy of &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c42e27ac-3409-40e9-8667-c748e422833f&amp;amp;displaylang=en"&gt;winhttpcertcfg&lt;/a&gt;. Download that from MS and install it on the SQL host.&lt;/li&gt;&lt;li&gt;Then you'll need to request a cert from your domain CA and install it in the local computer store. I won't cover that process here, but it's not overly difficult.&lt;/li&gt;&lt;li&gt;Ensure you get a cert that can do SSL (webserver certs work 100%).&lt;br /&gt;When you request the cetificate ensure that the name is SQLHOSTNAME.FQDN For clusters use VIRTUALHOSTNAME.FQDN and ensure the private key is marked exportable. Store the certificate in the local computer store.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Once you have the certificate installed you need to grant access to the private key to the SQL service account: &lt;code&gt; winhttpcertcfg.exe -c -g LOCAL_MACHINE\MY -s "SQLHOSTNAME.FQDN" -a "DOMAIN\SQLSERVICE_ACCOUNT" &lt;/code&gt;&lt;/li&gt;&lt;li&gt;Once you successfully grant access for the service account use the SQL Server Configuration Tool snap-in, and setup your protocols to use the cert. Then bounce the SQL service. You should see a note in the startup log that says something like "successfully loaded certificate for encryption" and NOT "loaded self-signed certificate for encryption".&lt;/li&gt;&lt;/ul&gt;The process is a little more involved for clusters (at least Veritas Storage Foundations clusters) and involves exporting the private key, importing it on the other nodes, and editing the registry with the certificate hash value as the SQL config tool mmc won't list the cert in its drop-down because it matches the VIRTUAL name and not the HOST name.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://support.microsoft.com/kb/316898"&gt;this&lt;/a&gt; KB for all the MMC stuff I was talking about.&lt;br /&gt;See &lt;a href="http://msdn.microsoft.com/en-us/library/ms191192.aspx"&gt;this&lt;/a&gt; MSDN article for more info and an annotation from me.&lt;br /&gt;UPDATE: Looks like I &lt;a href="http://drewstechnotes.blogspot.com/2008/11/how-to-setup-windows-2003-and-sql.html"&gt;blogged about this previously&lt;/a&gt; as well!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2468913196610163306?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2468913196610163306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2468913196610163306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2468913196610163306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2468913196610163306'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/04/using-ssl-certificates-for-sql-2005.html' title='Using SSL Certificates for SQL 2005 &amp; 2008'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-6283834539584289227</id><published>2009-03-13T21:14:00.004-04:00</published><updated>2009-04-06T18:36:41.558-04:00</updated><title type='text'>Boot Disks? What DECADE is this?</title><content type='html'>I hate boot disks. I hate floppy disks. I hate the fact that to install Windows on modern hardware I'm forced to use them.&lt;br /&gt;I'll press F6 for a 3rd party RAID driver &lt;span style="font-weight: bold; font-style: italic;"&gt;YOU&lt;/span&gt; Microsoft! &gt;:(&lt;br /&gt;&lt;br /&gt;Anyways, I found a cool way to transfer boot images quickly using Linux.&lt;br /&gt;Assuming you already have some disk images around you can restore them to the floppy with something like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;dd if=[image filename] of=/dev/fd0&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now just keep a bunch of those images handy and you're good to go!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-6283834539584289227?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/6283834539584289227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=6283834539584289227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/6283834539584289227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/6283834539584289227'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/03/boot-disks-what-decade-is-this.html' title='Boot Disks? What DECADE is this?'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-5498855089924206155</id><published>2009-02-18T19:58:00.006-05:00</published><updated>2009-02-18T20:08:59.085-05:00</updated><title type='text'>Subaru Tech Post! P0457 CEL Problem &amp; Fix</title><content type='html'>The P0457 CEL (check engine light) isn't actually documented in my 2002 Subaru WRX factory repair manual. Luckily, Google does list it ;)&lt;br /&gt;The problem is  "&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Evaporative Emissions Control System - [Gross] Leak Detected&lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;...Sounds bad.&lt;br /&gt;&lt;br /&gt;The good news is that it's likely one of two things.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; Your gas cap isn't on tight enough&lt;br /&gt;-Or if you're like me and just installed a new turbo inlet host (&lt;a href="http://perrinperformance.com/products/show/243/Turbo-Inlet-Hose?category=3&amp;amp;model=18"&gt;Perrin&lt;/a&gt;!) it's probably&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; The EVAP purge hose.&lt;br /&gt;&lt;br /&gt;Here is what I'm talking about. Look at the blue nozzle that isn't connected to anything. It's down under the intake manifold to the left of the alternator.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vGVtfT_BZgc/SZywOQiGLxI/AAAAAAAAAGo/wrE0ZyWB8Gs/s1600-h/p0457-Problem.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_vGVtfT_BZgc/SZywOQiGLxI/AAAAAAAAAGo/wrE0ZyWB8Gs/s320/p0457-Problem.jpg" alt="" id="BLOGGER_PHOTO_ID_5304308220138237714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The little hose down and to the right of the blue nozzle is supposed to be connected. I must have yanked it off while changing the intake.&lt;br /&gt;&lt;br /&gt;The picture below is what it's supposed to look like when the hose is hooked up properly. If you snapped the connector (I didn't) you'll need to buy a new part.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/SZywvO-l4hI/AAAAAAAAAGw/HkFxNbpdALo/s1600-h/p0457-Fixed.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/SZywvO-l4hI/AAAAAAAAAGw/HkFxNbpdALo/s320/p0457-Fixed.jpg" alt="" id="BLOGGER_PHOTO_ID_5304308786656567826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-5498855089924206155?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/5498855089924206155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=5498855089924206155' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5498855089924206155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5498855089924206155'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/02/subaru-tech-post-p0457-cel-problem-fix.html' title='Subaru Tech Post! P0457 CEL Problem &amp; Fix'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vGVtfT_BZgc/SZywOQiGLxI/AAAAAAAAAGo/wrE0ZyWB8Gs/s72-c/p0457-Problem.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-5573044682267703488</id><published>2009-02-03T20:33:00.003-05:00</published><updated>2009-04-06T18:35:48.897-04:00</updated><title type='text'>Getting Rid of The Bonjour Service</title><content type='html'>I hate it when applications I &lt;span style="font-style: italic;"&gt;do&lt;/span&gt; want install things I &lt;span style="font-style: italic;"&gt;don't&lt;/span&gt; want. A great example of this is the Bonjour Service that Apple and Adobe deploy.&lt;br /&gt;&lt;br /&gt;Here's how to get rid of it:&lt;br /&gt;&lt;br /&gt;1. Stop the service via either sc, net, or services.msc&lt;br /&gt;&lt;br /&gt;2. Delete service:&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;sc delete "Bonjour Service"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Remove the socket driver:&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries\00000000000&lt;span style="font-weight: bold;"&gt;X&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Note: &lt;span style="font-weight: bold;"&gt;X&lt;/span&gt; is a number (usually 4) but be sure that the value for LibraryPath shows a path to "mdnsNSP.dll"&lt;br /&gt;&lt;br /&gt;4. Change the value Endabled from 1 to 0&lt;br /&gt;&lt;br /&gt;5. Reboot&lt;br /&gt;&lt;br /&gt;Au'revoir Bonjour!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-5573044682267703488?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/5573044682267703488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=5573044682267703488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5573044682267703488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5573044682267703488'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/02/getting-rid-of-bonjour-service.html' title='Getting Rid of The Bonjour Service'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7712891152230964832</id><published>2009-01-26T16:00:00.002-05:00</published><updated>2009-01-26T16:06:06.540-05:00</updated><title type='text'>Changing the default backup directory for SQL 2005</title><content type='html'>I got tired of using regedit to do this (the value is in HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\{your instance}\MSSQLServer\BackupDirectory) and write a quick script to do it. I found it really tedious to change this on so many servers and clusters. It'll work with all versions of SQL 2005 and Express AFAIK.&lt;br /&gt;&lt;br /&gt;I've posted it for anyone else interested, and be aware that it does use the "undocumented" xp_instance_regread and xp_instance_regwrite extended stored procedures.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;DECLARE @SmoDefaultFile nvarchar(512), @NewBackupDir nvarchar(250);&lt;br /&gt;SET @NewBackupDir = N'\\dbs51ykf\SQL_Backups'; --THE NEW BACKUP DIRECTORY TO USE&lt;br /&gt;&lt;br /&gt;--LIST THE CURRENT DIRECTORY&lt;br /&gt;EXEC master.dbo.xp_instance_regread&lt;br /&gt;N'HKEY_LOCAL_MACHINE',&lt;br /&gt;N'Software\Microsoft\MSSQLServer\MSSQLServer',&lt;br /&gt;N'BackupDirectory',&lt;br /&gt;@SmoDefaultFile OUTPUT;&lt;br /&gt;&lt;br /&gt;SELECT @SmoDefaultFile as [Old Backup Directory];&lt;br /&gt;&lt;br /&gt;--CHANGE THE DIRECTORY&lt;br /&gt;EXEC xp_instance_regwrite&lt;br /&gt;N'HKEY_LOCAL_MACHINE',&lt;br /&gt;N'Software\Microsoft\MSSQLServer\MSSQLServer',&lt;br /&gt;N'BackupDirectory',&lt;br /&gt;REG_SZ,&lt;br /&gt;@NewBackupDir;&lt;br /&gt;&lt;br /&gt;--CONFIRM CHANGE&lt;br /&gt;EXEC master.dbo.xp_instance_regread&lt;br /&gt;N'HKEY_LOCAL_MACHINE',&lt;br /&gt;N'Software\Microsoft\MSSQLServer\MSSQLServer',&lt;br /&gt;N'BackupDirectory',&lt;br /&gt;@SmoDefaultFile OUTPUT;&lt;br /&gt;&lt;br /&gt;SELECT @SmoDefaultFile as [New Backup Directory];&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7712891152230964832?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7712891152230964832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7712891152230964832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7712891152230964832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7712891152230964832'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/01/changing-default-backup-directory-for.html' title='Changing the default backup directory for SQL 2005'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7682045566244794305</id><published>2009-01-12T10:14:00.001-05:00</published><updated>2009-01-12T10:16:37.091-05:00</updated><title type='text'>Hiding Panels in ASP.NET</title><content type='html'>When you're using the AJAX controls with Visual Studio you'll probably eventually make use of the ModalPopupExtender control. I like it.&lt;br /&gt;The one issue is that you'll see it flicker while loading the page unless you add the following to the panel style:&lt;br /&gt;&lt;br /&gt;Style="display:none"&lt;br /&gt;&lt;br /&gt;This will ensure the panel doesn't show and then disappear during a page load.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7682045566244794305?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7682045566244794305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7682045566244794305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7682045566244794305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7682045566244794305'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/01/hiding-panels-in-aspnet.html' title='Hiding Panels in ASP.NET'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-8031939553749008774</id><published>2009-01-11T20:27:00.005-05:00</published><updated>2009-01-12T20:16:55.354-05:00</updated><title type='text'>Hello Roomba my old friend...</title><content type='html'>Ah Roomba. The &lt;a href="http://irobot.com/"&gt;Roomba &lt;/a&gt;has made my life even easier and for that I say thank you. I won't lie; I hate doing "chores". Vacumming &lt;span style="font-size:78%;"&gt;(seriously; how do you spell this in Canadian English??) &lt;/span&gt;sucks a lot. It takes time, it throws dust all over despite the &lt;a href="http://en.wikipedia.org/wiki/HEPA"&gt;HEPA&lt;/a&gt; filter, and it's just not a task I WANT to allocate some of my finite amount of time to.&lt;br /&gt;So, flush with Christmas cash I bought a Roomba. I couldn't be happier! The Roomba (530 model) does an excellent job of cleaning my apartment (all hardword/laminate and vinyl) and it does it while I lay in bed, play games, surf the 'net, pick my nose... you get the point.&lt;br /&gt;&lt; /roomba promo&gt;&lt;br /&gt;&lt;br /&gt;The other reason I'm so satisfied with my Roomba is the fact that I can hack it. I've already wired up an &lt;a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1798/t/do"&gt;RS232 converter from Maxim&lt;/a&gt; and hit &lt;a href="http://www.sayal.com/"&gt;Sayal &lt;/a&gt;for parts to breadboard that via some &lt;a href="http://en.wikipedia.org/wiki/Category_5_cable"&gt;Cat5e&lt;/a&gt; cable and started writing a C# app (yeah, I've dropped VB.NET... &lt;a href="http://www.youtube.com/watch?v=q5mD1n4v2JA"&gt;I'm a switcher&lt;/a&gt;!) It's working quite well and I've already been able to program my Roomba to clean on a schedule while I'm at work; can the future get any more real?! I've got a freaking robot cleaning my place while I'm at work!! AWESOME!&lt;br /&gt;Anyways, I'll likely be tossing the source code up on something web-ish when it's done, and I'll certainly be helping out my friends to hack their Roombas. Here's a video until I get more done.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I would like to conclude this note by saying: &lt;a href="http://www.urbandictionary.com/author.php?author=Andy+Locoweed"&gt;&lt;span style="text-decoration: underline;"&gt;I HAVE BEEN VALIDATED!!!&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-8031939553749008774?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/8031939553749008774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=8031939553749008774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8031939553749008774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8031939553749008774'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2009/01/hello-roomba-my-old-friend.html' title='Hello Roomba my old friend...'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-8965904243327938265</id><published>2008-11-27T22:39:00.003-05:00</published><updated>2008-11-27T23:37:06.062-05:00</updated><title type='text'>How To: Setup A Windows 2003 and SQL Server 2005 Veritas Cluster with a Domain CA-Issued Certificate</title><content type='html'>One of the potentially most annoying things I've ever had to do with SQL 2005 is setup an instance to use a CA (certificate authority) issued certificate for SSL encryption. SQL 2005 will always encrypt the login traffic, but it'll use a self-signed certificate and you won't be able to "force encryption" without some other certificate being loaded. Since I think 99% of serious SQL installs would be part of a domain the instructions below assume that to be the case.&lt;br /&gt;Here's the imaginary setup that'll be referenced in the steps below:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Windows 2003 x64 R2 SP2 (should be identical for 32bit)&lt;/li&gt;&lt;li&gt;SQL 2005 x64 (Std or Enterprise) &lt;a href="http://support.microsoft.com/kb/937137/"&gt;SP2 Cumulative Update 9&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Veritas Storage Foundations HA 4.3 MP2 is used for clustering&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Server is part of a Windows 2003 Domain&lt;/li&gt;&lt;li&gt;The domain has a properly configured CA and certificate requests are approved automatically. CA is CA01.drew.net&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Domain name is drew.net (drewnet)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SQL Server service account is a domain account: drewnet\sqlAdminX&lt;/li&gt;&lt;li&gt;SQL server cluster node hostnames are SQL1.drew.net and SQL2.drew.net&lt;/li&gt;&lt;li&gt;SQL server cluster virtual name is SQLCluster.drew.net&lt;/li&gt;&lt;li&gt;Domain account for Veritas Cluster Service is drewnet\sqlCsvc&lt;br /&gt;&lt;/li&gt;&lt;li&gt; drewnet\sqlAdminX is granted NOT an admin on any of the cluster nodes&lt;/li&gt;&lt;li&gt;You are an admin on all cluster nodes&lt;/li&gt;&lt;li&gt;SQL has been installed identically on both nodes and the Veritas cluster is working 100% (just without SSL certs for encrypted traffic)&lt;/li&gt;&lt;li&gt;Only one instance of SQL is installed and it is a default installation on port 1433&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Ok, now that's out of the way let's get down to business...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Connect to SQL1.drew.net&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Connect to the CA request page at http://CA01.drew.net/certsrv&lt;/li&gt;&lt;li&gt;Follow the path to make a custom advanced certificate request. &lt;a href="http://support.microsoft.com/kb/276553"&gt;See here for more info&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Request a "Web Server" certificate with a name field of SQLCluster.drew.net, ensure the private key is exportable, and store the certificate in the local computer store.&lt;/li&gt;&lt;li&gt;Start-&gt;Run: mmc&lt;/li&gt;&lt;li&gt;Add the Certificate snap-in for the local computer and verify there is a trusted certificate named SQLCluster.drew.net there that has a details tab that indicates "&lt;a href="http://msdn.microsoft.com/en-us/library/ms189067.aspx"&gt;Server Authentication (1.3.6.1.5.5.7.3.1)&lt;/a&gt;" in the "Enhanced Usage" section.&lt;/li&gt;&lt;li&gt;Scroll to the bottom of the details and highlight all the text in the "Thumbprint" section. Copy this (ctrl-c).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Start-&gt;Run: Notepad&lt;/li&gt;&lt;li&gt;Paste the data you just copied and remove all the spaces. Save this file on your desktop.&lt;/li&gt;&lt;li&gt;Open the Veritas Cluster Manager GUI and connect to the cluster.&lt;/li&gt;&lt;li&gt;Freeze the SQL service group you're working on (temporary)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c42e27ac-3409-40e9-8667-c748e422833f&amp;amp;displaylang=en"&gt;Download the WinHttpCertCfg.exe utility from Microsoft&lt;/a&gt; if you don't already have it.&lt;/li&gt;&lt;li&gt;Install the utility, open a command prompt and navigate to your installation path.&lt;/li&gt;&lt;li&gt;Run the following command:&lt;br /&gt;&lt;code&gt;winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "SQLCluster.drew.net" -a "drewnet\sqlAdminX"&lt;/code&gt;&lt;/li&gt;&lt;li&gt;If you got a success message, move on. Otherwise troubleshoot!&lt;/li&gt;&lt;li&gt;Start-&gt;Run: regedit&lt;/li&gt;&lt;li&gt;Navigate to HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib and open the "Certificate" entry.&lt;/li&gt;&lt;li&gt;Copy &amp;amp; Paste the thumbprint value you saved earlier.&lt;/li&gt;&lt;li&gt;Restart MS SQL Server any way you see fit.&lt;/li&gt;&lt;li&gt;If your server starts properly that's a very good sign. Connect to SQL and view the current log for the line "The certificate was loaded successfully"- You've done it!!&lt;/li&gt;&lt;li&gt;You can now configure the various options like "force encryption" via SQL Server Configuration Manager if you want now.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;But that's not all! There's another cluster node to configure!&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In the certificates snap in right-click the SQLCluster.drew.net certificate and choose export.&lt;/li&gt;&lt;li&gt;Follow the wizard- be sure to export the private key and assign a password you can remember for a while. Save the .pfx file somewhere easy to get to.&lt;/li&gt;&lt;li&gt;Connect to SQL2.drew.net&lt;/li&gt;&lt;li&gt;Copy the exported .pfx file locally&lt;/li&gt;&lt;li&gt;Start-&gt;Run: mmc&lt;/li&gt;&lt;li&gt;Add the local computer certificate snap-in again.&lt;/li&gt;&lt;li&gt;Double-click the certificate copied locally, then choose "Install certificate"&lt;/li&gt;&lt;li&gt;Enter the password you just used when exporting the key.&lt;/li&gt;&lt;li&gt;Verify that the certificate shows up in the personal folder of the local system and that it's valid.&lt;/li&gt;&lt;li&gt;Again, run the winhttpcertcfg command from above on this node.&lt;/li&gt;&lt;li&gt;Back on SQL1.drew.net in the Veritas Cluster Manager GUI Unfreeze the SQL service group.&lt;/li&gt;&lt;li&gt;"Switch" the service group from SQL1.drew.net to SQL2.drew.net&lt;/li&gt;&lt;li&gt;If it starts on the other node you're done! VCS has replicated the registry change you made and the certificate was loaded successfully.&lt;/li&gt;&lt;li&gt;Delete the exported .pfx file and the copy you made.&lt;/li&gt;&lt;/ul&gt;That's it. There's obviously a lot to modify if you've got more than one node and/or more than one SQL instace (service group) in the cluster but these steps will work 100%. If you're having problems by all means leave a comment and I'll post a response. This was a very tricky thing to figure out how to do as the only thing the MS documentation tells you is "if SQL is configred as a failover cluster use the FQDN of the failover cluster for the certificate name" and "SQL server will attempt to locate a certificate based on the FQDN of the host". Those two things really screw you if you're trying to load your cert via the SQL Configuration Manager tool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-8965904243327938265?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/8965904243327938265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=8965904243327938265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8965904243327938265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8965904243327938265'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/11/how-to-setup-windows-2003-and-sql.html' title='How To: Setup A Windows 2003 and SQL Server 2005 Veritas Cluster with a Domain CA-Issued Certificate'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-9204128537369736220</id><published>2008-11-12T20:20:00.007-05:00</published><updated>2009-04-06T18:32:43.365-04:00</updated><title type='text'>Some important Linux Commands I Always Forget</title><content type='html'>This post is really just for myself... I'm learning to use Linux and there's so many commands I need to know that I constantly forget that I thought a quick post would be in order. If this helps anyone else then, great!&lt;br /&gt;&lt;br /&gt;Restarting network service:&lt;br /&gt;&lt;code&gt;sudo /etc/init.d/networking restart&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Getting Network Configuration (ipconfig):&lt;br /&gt;&lt;code&gt;ifconfig&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Stopping or starting a network adapter:&lt;br /&gt;&lt;code&gt;sudo ifconfig [adapter_name] [operation: up/down]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Editing Networking Configuration with vi (set dhcp or static IP):&lt;br /&gt;&lt;code&gt;sudo vi /etc/network/interfaces&lt;br /&gt;(iface eth0 inet dhcp = dhcp on)&lt;br /&gt;(iface eth0 inet static&lt;br /&gt;address 192.168.3.90&lt;br /&gt;gateway 192.168.3.1&lt;br /&gt;netmask 255.255.255.0&lt;br /&gt;network 192.168.3.0&lt;br /&gt;broadcast 192.168.3.255 = setting static IP)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Installing Samba Server for SMB Shares:&lt;br /&gt;&lt;code&gt;sudo apt-get install samba (or just try to share a dir and follow the prompts)&lt;br /&gt;SAMBA conf is in: /etc/samba/smb.conf&lt;br /&gt;Need to add yourself to sambashare group as well&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;span style="font-weight: bold;"&gt;btnx&lt;/span&gt;&lt;br /&gt;-Get this to get multi-button mice working like they should!&lt;br /&gt;-after changing settings run this to restart:&lt;br /&gt;&lt;code&gt;$ sudo /etc/init.d/btnx restart&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=125752"&gt;This post&lt;/a&gt; has the goods on getting going with it...&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showpost.php?p=4562391&amp;amp;postcount=860"&gt;This post&lt;/a&gt; has the goods on key bindings...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-9204128537369736220?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/9204128537369736220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=9204128537369736220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/9204128537369736220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/9204128537369736220'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/11/some-important-linux-commands-i-always.html' title='Some important Linux Commands I Always Forget'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-6025645187485902151</id><published>2008-11-03T17:36:00.003-05:00</published><updated>2008-11-03T17:41:06.038-05:00</updated><title type='text'>SQL 2005 Agent Error FIX: UpdateUptimeRegKey: Operating system error 5(Access is denied.) encountered.</title><content type='html'>Occasionally you may see an error like this and be unable to start the SQL Agent (typically after someone doesn't use the SQL Config GUI to change service accounts)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UpdateUptimeRegKey: Operating system error 5(Access is denied.) encountered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is easily fixed.&lt;br /&gt;&lt;br /&gt;Fire up regedit, navigate to HKLM\Software\Microsoft\Microsoft SQL Server\[YOUR INSTANCE NUMBER] then right-click and select "Permissions..."&lt;br /&gt;Ensure that the SQLAgent Service and SQL Server Service have full control here and you should be all set. Be sure to use the local groups that SQL 2005 creates for this sort of access delegation to avoid having to do this again when you change service accounts. Note that you wouldn't want to use those groups (and instead use just the service account) if you're locking the permissions down to a point that you want to make it very difficult for an OS admin to get access to your SQL instance.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-6025645187485902151?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/6025645187485902151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=6025645187485902151' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/6025645187485902151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/6025645187485902151'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/11/sql-2005-agent-error-fix.html' title='SQL 2005 Agent Error FIX: UpdateUptimeRegKey: Operating system error 5(Access is denied.) encountered.'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7537955050505726925</id><published>2008-10-28T10:10:00.002-04:00</published><updated>2008-10-28T10:21:29.024-04:00</updated><title type='text'>SQL 2005 "Listen All" TCP/IP Networking Problem Fixed</title><content type='html'>I'm one of those DBAs that likes to lock down my SQL servers. This means ensuring that SQL is only listening on the TCP/IP port I want it on.&lt;br /&gt;This is easy enough to configure with the SQL Server Configuration app or by editing the registry... The GUI is "cleaner". Anyways, you'll want to set a static port for the IP enable that IP, disable the others, and then disable "listen all". However, when doing this you may occasionally run into a problem where you get error messages like this when you try to start the SQL service:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AND/OR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you know the port is available (netstat is your friend) and the IP address is correct then here's what you need to check:&lt;br /&gt;Is there by any chance more than one 127.0.0.1 entry? Yes? Regedit time!&lt;br /&gt;Go into the registry and navigate to HKLM\Software\Microsoft\Microsoft SQL Server\*INSTANCE NUMBER*\MSSQLServer\SuperSocketNetLib\Tcp\&lt;br /&gt;&lt;br /&gt;Look for one of the IPx keys that has 127.0.0.1 in the IpAddress entry and delete it. After that you should be able to start the SQL service with no troubles.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7537955050505726925?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7537955050505726925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7537955050505726925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7537955050505726925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7537955050505726925'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/10/sql-2005-listen-all-tcpip-networking.html' title='SQL 2005 &quot;Listen All&quot; TCP/IP Networking Problem Fixed'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-2005282072447790897</id><published>2008-10-20T13:45:00.002-04:00</published><updated>2008-10-20T13:47:29.549-04:00</updated><title type='text'>Veritas Cluster Failes to Come Online</title><content type='html'>I was working on setting up a new SQL 2005 Veritas cluster today and came upon this error:&lt;br /&gt;Event Type:    Error&lt;br /&gt;Event Source:    Had&lt;br /&gt;Event Category:    None&lt;br /&gt;Event ID:    11306&lt;br /&gt;Date:        10/20/2008&lt;br /&gt;Time:        1:30:40 PM&lt;br /&gt;User:        N/A&lt;br /&gt;Computer:    XXXXXXXX&lt;br /&gt;Description:&lt;br /&gt;Did not receive cluster membership, manual intervention may be needed for seeding &lt;br /&gt;&lt;br /&gt;What does that mean??&lt;br /&gt;&lt;br /&gt;It means you need to drop to a command prompt and do this:&lt;br /&gt;gabconfig -x&lt;br /&gt;&lt;br /&gt;That'll reseed the control port and should bring the cluster node back into membership. It worked for me and it'll probably work for you too!&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-2005282072447790897?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/2005282072447790897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=2005282072447790897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2005282072447790897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/2005282072447790897'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/10/veritas-cluster-failes-to-come-online.html' title='Veritas Cluster Failes to Come Online'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4059322145393259746</id><published>2008-05-09T15:01:00.002-04:00</published><updated>2008-05-09T15:04:53.904-04:00</updated><title type='text'>Windows Update and Error 0x8DDD0018 -FIX</title><content type='html'>I was having a hell of a time trying to get a Windows 2003 R2 Standard x64 server to load the Windows Update site. I was always getting the error: &lt;strong&gt;0x8DDD0018&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Sadly, the troubleshooting info at MS focused on starting the BITS service which (seemingly) was working just fine.&lt;br /&gt;&lt;br /&gt;Well, I eventually stumbled on the solution. Try this at a command prompt:&lt;br /&gt;regsvr32.exe wuaueng.dll&lt;br /&gt;&lt;br /&gt;Presto! Windows Updates should be working for you again :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4059322145393259746?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4059322145393259746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4059322145393259746' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4059322145393259746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4059322145393259746'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/05/windows-update-and-error-0x8ddd0018-fix.html' title='Windows Update and Error 0x8DDD0018 -FIX'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-8486053225986623592</id><published>2008-05-09T12:36:00.003-04:00</published><updated>2008-05-09T12:38:56.818-04:00</updated><title type='text'>64bit (x64 and Itanium) OLEDB provider for ODBC (MSDASQL) Download!</title><content type='html'>If you've ever tried to link a 64bit SQL 2005 server to something like Excel or MySQL you know that it just isn't going to happen without MSDASQL .&lt;br /&gt;&lt;br /&gt;Well, it's finally out! Get it right from MS here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8-b9be-ca44d18b059b&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the description from the MS download:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;The Microsoft OLE DB Provider for ODBC (MSDASQL) is a technology that allows applications that are built on OLEDB and ADO (which uses OLEDB internally) to access data sources through an ODBC driver. MSDASQL is an OLEDB provider that connects to ODBC, instead of a database. MSDASQL ships with the Windows operating system, and Windows Server 2008 &amp;amp; Windows Vista SP1 are the first Windows releases to include a 64-bit version of the technology.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-8486053225986623592?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/8486053225986623592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=8486053225986623592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8486053225986623592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/8486053225986623592'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/05/64bit-x64-and-itanium-oledb-provider.html' title='64bit (x64 and Itanium) OLEDB provider for ODBC (MSDASQL) Download!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-5941389803589294913</id><published>2008-04-01T15:28:00.002-04:00</published><updated>2008-04-01T15:34:11.123-04:00</updated><title type='text'>Need to transfer logins from one SQL 2005 instance to another SQL 2005 instance? Here's how!</title><content type='html'>In SQL 2000 there was a DTS package that could do this. I didn't like DTS and never used it, but it is out there. I used the Microsoft-provided sp_help_revlogin stored procedure instead to do this in 2000, but when I looked at the code I realized it would need an update for 2005.&lt;br /&gt;In 2005 the sys.syslogins view exits, but you really shouldn't use it- you should use sys.server_principals (see books online). So, when I looked at that system view I realized this was really going to take some work... so naturally I Googled! ;)&lt;br /&gt;&lt;br /&gt;Anyways, I found out that good-ol' MS had already updated the TSQL that generates sp_help_revlogin (and it's required binary stored proc) and posted it online in &lt;a href="http://support.microsoft.com/kb/918992"&gt;KB 918992&lt;/a&gt;. I copied the code and it worked just like it always had except that I was able to transfer the logins with SIDs and passwords from one 2005 instance to another instead of a 2000 to 2005 or 2000 to 2000 instance. :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/918992"&gt;http://support.microsoft.com/kb/918992&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-5941389803589294913?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/5941389803589294913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=5941389803589294913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5941389803589294913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5941389803589294913'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/04/need-to-transfer-logins-from-one-sql.html' title='Need to transfer logins from one SQL 2005 instance to another SQL 2005 instance? Here&apos;s how!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4552055945951648991</id><published>2008-03-20T00:48:00.003-04:00</published><updated>2008-03-20T00:51:14.360-04:00</updated><title type='text'>Disappearing Symantec Anti Virus Tray Icon (VPTray)</title><content type='html'>Maybe you want that stupid yellow shield (I think that's what it is... looks like an old mouse to me!) gone, and maybe you don't.&lt;br /&gt;&lt;br /&gt;If you want it back and you can't seem to figure out how to get it back check out the directions here:&lt;br /&gt;&lt;a href="http://service1.symantec.com/SUPPORT/ent-security.nsf/docid/2003012316284748?Open&amp;amp;src=tranus_ent_br"&gt;Symantec Support&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or just go ahead and try this:&lt;br /&gt;&lt;b&gt;To enable the system tray icon on unmanaged clients&lt;/b&gt; &lt;ol type="1"&gt;&lt;li&gt;Exit all open programs. &lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Start&lt;/b&gt;&gt; &lt;b&gt;Run&lt;/b&gt;. The Run dialog box appears. &lt;/li&gt;&lt;li&gt;Type &lt;span style="font-family:Courier New;"&gt;regedit &lt;/span&gt; &lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;. The Registry Editor appears.&lt;/li&gt;&lt;/ol&gt; &lt;ol type="1"&gt;&lt;li&gt;Go to the following key:&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\Software\Intel\Landesk\VirusProtect6\CurrentVersion\AdministratorOnly\General&lt;br /&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;In the right pane, double-click the following value:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ShowVPIcon&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Change the value to 1. &lt;/li&gt;&lt;li&gt;Close the Registry Editor. &lt;/li&gt;&lt;li&gt;Restart the computer.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;To add the registry value to the Run key&lt;/b&gt; &lt;ol type="1"&gt;&lt;li&gt;Exit all open programs. &lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Start&lt;/b&gt;&gt; &lt;b&gt;Run&lt;/b&gt;. The Run dialog box appears. &lt;/li&gt;&lt;li&gt;Type &lt;span style="font-family:Courier New;"&gt;regedit &lt;/span&gt; &lt;/li&gt;&lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;. The Registry Editor appears. &lt;/li&gt;&lt;li&gt;Navigate to the following key:&lt;br /&gt;&lt;br /&gt;HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run&lt;br /&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Edit&lt;/b&gt;&gt; &lt;b&gt;New&lt;/b&gt;&gt;  &lt;b&gt;String Value&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;Name the value "Vptray" and press &lt;b&gt;Enter&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;Double-click &lt;b&gt;Vptray&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;Type the path to Vptray.exe, enclosing it in quotation marks, and press &lt;b&gt;Enter&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Windows 98/Me/NT/2000/XP&lt;b&gt;:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;"C:\Program Files\Symantec_Client_Security\Symantec AntiVirus\Vptray.exe"&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:Courier New;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;br /&gt;or&lt;br /&gt;&lt;/b&gt;&lt;span style="font-family:Courier New;"&gt;"C:\Program Files\Navnt\Vptray.exe"&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt; &lt;/li&gt;&lt;li&gt;Close the Registry Editor. &lt;/li&gt;&lt;li&gt;Restart the computer.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4552055945951648991?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4552055945951648991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4552055945951648991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4552055945951648991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4552055945951648991'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/03/disappearing-symantec-anti-virus-tray.html' title='Disappearing Symantec Anti Virus Tray Icon (VPTray)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7114083388808027144</id><published>2008-02-16T12:29:00.002-05:00</published><updated>2008-02-16T12:37:41.899-05:00</updated><title type='text'>Firefox: Goodbye 3rd Party Cookies!</title><content type='html'>I love and hate cookies. I love the fact that I can go to certain&lt;br /&gt;"safe" sites and they'll remember certain settings. Google, PageFlakes, Blogger, etc. would be good examples of this.&lt;br /&gt;Then there's the other guys... I don't want everyone and their mother knowing what I browse, or when. To increase my privacy I like to disable 3rd Party cookies, but the DEVs removed the simple click-box to do this in later version of Firefox.&lt;br /&gt;Here's how to add it back:&lt;br /&gt;&lt;br /&gt;1. Type in about:config in the address bar and hit enter&lt;br /&gt;2. Edit the value for &lt;span style="font-style: italic;"&gt;network.cookie.cookieBehavior&lt;/span&gt; and set it to 1.&lt;br /&gt;1 = Accept cookies from this site only, 0 = accept all cookies, 2 = accept no cookies, 3 = use P3P policy&lt;br /&gt;&lt;br /&gt;...I also modified the &lt;span style="font-style: italic;"&gt;network.cookie.lifetime.days&lt;/span&gt; value so that the cookies expire much sooner.&lt;br /&gt;Check out &lt;a href="http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries#Network..2A"&gt;this MozillaZine page&lt;/a&gt; for more great info.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7114083388808027144?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7114083388808027144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7114083388808027144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7114083388808027144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7114083388808027144'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/02/firefox-goodbye-3rd-party-cookies.html' title='Firefox: Goodbye 3rd Party Cookies!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7357739771410032605</id><published>2008-02-14T10:21:00.003-05:00</published><updated>2008-02-14T10:31:05.032-05:00</updated><title type='text'>IIS 6 ASP.NET Website Permissions Error</title><content type='html'>If you're ever trying to get a website to load properly in IIS 6.0 and you keep seeing this:&lt;br /&gt;&lt;em&gt;"Server Application Unavailable&lt;br /&gt;The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your request.&lt;br /&gt;Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur. "&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;In your browser, followed by an event in the application log that starts with this:&lt;br /&gt;&lt;em&gt;"Failed to initialize the AppDomain:/LM/W3SVC/1/Root"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;And you're using the Network Service account to run your worker process here's some steps that should get you up and running...&lt;br /&gt;1. Ensure that you've granted the Network Service the "Local Launch" and "Local Activation"permissions. (&lt;span style="font-size:85%;"&gt;&lt;em&gt;Component Services -&gt; Computers -&gt; My Computer -&gt; DCOM Config -&gt; IIS Admin Service -Right-Click-&gt; Properties -&gt; Select the Security tab, and set the permissions&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Locate the file system directory that you've mapped to the IIS virtual directory and edit the permissions to grant at least Read &amp;amp; Execute, List Folder Contents, and Read to the IIS_WPG account.&lt;br /&gt;&lt;br /&gt;Make sure the worker process is running and then try again. With any luck your application will display in the browser properly!&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7357739771410032605?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7357739771410032605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7357739771410032605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7357739771410032605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7357739771410032605'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/02/iis-6-aspnet-website-permissions-error.html' title='IIS 6 ASP.NET Website Permissions Error'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4938002014017547075</id><published>2008-02-11T11:21:00.003-05:00</published><updated>2009-04-06T18:30:16.974-04:00</updated><title type='text'>How To: Unlock Protected Excel Worksheet with a Password - Without the Password!</title><content type='html'>I went to modify a worksheet today that's used for tracking a few things, but found that I couldn't change the period of the report. The group who was responsible for posting these was behind in doing so and I really wanted to fill out the report before I forgot what I wanted to put in it.&lt;br /&gt;This meant I had to find a way to unprotect the sheet without a password.&lt;br /&gt;Easier &lt;span style="font-style: italic;"&gt;done &lt;/span&gt;than &lt;span style="font-style: italic;"&gt;said&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;I opened the workbook, opened up the VB Editor and typed in the following code:&lt;br /&gt;Sub NoProtection()&lt;br /&gt;  With ActiveWorkbook&lt;br /&gt;  ActiveSheet.Protect Password:="abc"&lt;br /&gt;&lt;br /&gt;  ActiveSheet.Unprotect Password:="abc"&lt;br /&gt;End With&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;That's it! The previous password is overwritten, then the sheet is unlocked.&lt;br /&gt;&lt;br /&gt;...and that's why you never rely on Excel worksheet protection to protect anything.&lt;br /&gt;&lt;br /&gt;Disclaimer: This was Excel 2003... Haven't tested if this still works with 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4938002014017547075?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4938002014017547075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4938002014017547075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4938002014017547075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4938002014017547075'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2008/02/how-to-unlock-protected-excel-worksheet.html' title='How To: Unlock Protected Excel Worksheet with a Password - Without the Password!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1353826684084487007</id><published>2007-12-04T10:38:00.000-05:00</published><updated>2007-12-04T14:08:03.321-05:00</updated><title type='text'>Backups, backups, backups!!</title><content type='html'>Backups are quite possibly the most important part of a SQL server administration situation, but they're almost always overlooked.&lt;br /&gt;The servers I look after have various different methods for backing up data ranging from local disk backups to UNC NAS storage, and even dedicated SAN LUNS. Pretty soon I'll also start streaming directly to tape for some of the multi-terrabyte backups I'll have on my hands but let's not worry about that.&lt;br /&gt;&lt;br /&gt;I've got a few tips for anyone that needs to admin a SQL server:&lt;br /&gt;1. Always make sure you a backup plan that will meet the needs of the business.&lt;br /&gt;2. Use all the backups types available wisely. Transaction log, differential, and full can all be used to create restore plans, but keep in mind recovery time!&lt;br /&gt;3. Always verify your backups! I recommend a script that does at least a checksum check (you are backing up "with checksum" on SQL 2005, right?), and more is better.&lt;br /&gt;4. If possible, use dedicated NICs and VLANs for backup traffic.&lt;br /&gt;For point 4 I setup a static route like this:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ROUTE -p ADD 10.xxx.xxx.xxx MASK 255.255.255.0 10.yyy.yyy.yyy METRIC 10&lt;/span&gt;&lt;br /&gt;-xxx IP denotes the target subnet of your backups (i.e. a cifs share on a NetApp or other NAS... be sure to set the proper mask!)&lt;br /&gt;-yyy IP denotes the adapter that'll be used to connect to the share (dedicated NIC)&lt;br /&gt;-p makes it survive reboot&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1353826684084487007?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1353826684084487007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1353826684084487007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1353826684084487007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1353826684084487007'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/12/backups-backups-backups.html' title='Backups, backups, backups!!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-5395489880063255008</id><published>2007-12-04T08:25:00.000-05:00</published><updated>2007-12-04T08:30:22.185-05:00</updated><title type='text'>How to force Storage Foundations disk groups to show up as a resource in Microsoft Cluster Service (MSCS)</title><content type='html'>I had an issue with an MSCS SQL cluster a while back where the "Volume Manager Disk Group" resource disappeared from the selection drop down! This was not cool as I needed the resource as a dependency of my SQL cluster I was about to setup.&lt;br /&gt;&lt;br /&gt;The solution was fairly easy, but most certainly NOT obvious. Here's what you need to do:&lt;br /&gt;Drop to a command prompt and type... (hit enter after each line)&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;cluster restype "Volume Manager Disk Group" /Delete /TYPE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;regsvr32 vxresext.dll&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;cluster restype "Volume Manager Disk Group" /CREATE /DLL:vxres.dll /TYPE:"Volume Manager Disk Group"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;cluster /regext:vxresext.dll&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After that's done you should see the resource available in the drop down box. If it matters, this was done on Windows 2003 SP2 R2 x64 Enterprise Edition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-5395489880063255008?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/5395489880063255008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=5395489880063255008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5395489880063255008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5395489880063255008'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/12/how-to-force-storage-foundations-disk.html' title='How to force Storage Foundations disk groups to show up as a resource in Microsoft Cluster Service (MSCS)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-651489852386557061</id><published>2007-12-03T23:02:00.001-05:00</published><updated>2009-04-05T20:05:54.789-04:00</updated><title type='text'>MSX - TSX SQL Server Setup Problems with SQL 2005</title><content type='html'>If you can't get your TSX server to enlist then check this out:&lt;br /&gt;&lt;br /&gt;I was trying to setup a MSX server in my domain to admin the various (and rapidly growing) SQL 2005 deployments I manage. However, the wizard kept failing with an error message along the lines of "I can't talk to that server". Now I know damn well it can so I was determined to find the problem.&lt;br /&gt;After much searching and screwing around with &lt;span style="font-style: italic;"&gt;sp_msx_enlist&lt;/span&gt; I finally found the problem! It was a setting in the registry called &lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;MsxEncryptChannelOptions&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;It turns out that the servers were attempting to communicate over SSL but there were no certs for them. Changing the default value from 2 to 0 took care of my problems. I suggest that MS gets off their ass and fixes the TERRIBLE error message you get to actually reflect the fact that it's an SSL communication error.&lt;br /&gt;More info about the setting &lt;a href="http://msdn2.microsoft.com/en-us/library/ms365379.aspx"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S. If you see secure channel errors in your system log while screwing with all this you need to get your certs sorted or change the setting on each instance to 0.&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;I've added more information here about SSL Encryption. I can't honestly recommend that people don't use it with MSX servers as you may have info going across that connection you don't want people snooping.&lt;br /&gt;&lt;a href="http://drewstechnotes.blogspot.com/2009/04/using-ssl-certificates-for-sql-2005.html"&gt;See my post here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-651489852386557061?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/651489852386557061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=651489852386557061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/651489852386557061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/651489852386557061'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/12/msx-tsx-sql-server-setup-problems-with.html' title='MSX - TSX SQL Server Setup Problems with SQL 2005'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-7918674659430661916</id><published>2007-12-03T22:22:00.000-05:00</published><updated>2007-12-03T22:27:25.076-05:00</updated><title type='text'>Can't get VPN to work? Try this!</title><content type='html'>I was attempting to connect to a friends test domain across the internet via a PPTP VPN he setup for me. The connection was being made quickly, and I got an IP from the connection, but I couldn't ping anything!&lt;br /&gt;It was a little frustrating until I did a route print. Once I did that I noticed that my default gateway was being reset to the VPN connection IP.&lt;br /&gt;&lt;br /&gt;To fix this I went to Network Connections and selected the properties of the VPN connection. Then:&lt;br /&gt;-go to the networking tab&lt;br /&gt;-select tcp/ip and then properties&lt;br /&gt;-click the "Advanced" button&lt;br /&gt;-remove the check mark that says "Use default gateway on remote network"&lt;br /&gt;That's it!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I connected the next time the route print looked much better and the connection worked properly and I was able to access both the remote VPN-connected network and it's resources as well as the internet through my local connection. Easy fix, but not totally obvious.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-7918674659430661916?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/7918674659430661916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=7918674659430661916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7918674659430661916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/7918674659430661916'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/12/cant-get-vpn-to-work-try-this.html' title='Can&apos;t get VPN to work? Try this!'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-5957009836167430219</id><published>2007-12-03T21:44:00.002-05:00</published><updated>2009-04-05T20:07:28.551-04:00</updated><title type='text'>Adding Dynamic Disk from Storage Foundations (VSFW) and Microsoft Cluster Service (MSCS) in Windows 2003 R2 x64</title><content type='html'>I recently had to fight with getting some LUNS configured and presented as dynamic disks to a SQL 2005 x64 (SP 2 Build 3159) cluster running on Windows 2004 x64 R2 SP2. It wasn't as easy as I thought it would be.&lt;br /&gt;The first problem is that the quorum disk can NOT be a dynamic disk. So if your storage guys are presenting 100GB LUNS get ready to waste a lot of expensive SAN disk. If you want to run in a config that's "not supported by Microsoft" you can partition the LUN that you'll use for the quorum such that the quorum parition gets only  a small percentage of the disk, and then you can use the rest for something else like logs, backups, SQL binaries, etc.&lt;br /&gt;&lt;br /&gt;Here's the steps to getting the dynamic disks in the cluster:&lt;br /&gt;1. Configure your dynamic disk group(s) any way that suits your needs but be sure to create them as a &lt;span style="font-weight: bold;"&gt;cluster disk group&lt;/span&gt; or you're going to fail the next part.&lt;br /&gt;2. Add a "Volume Manager Dynamic Disk" resource top your SQL cluster group.&lt;br /&gt;-If you created the disk groups as cluster resources then you should see them in a drop down     menu at the end of the configuration for this resource. If you don't  or don't even see the             Volume Manager resource then you need to do &lt;a href="http://drewstechnotes.blogspot.com/2007/12/how-to-force-storage-foundations-disk.html"&gt;this fix&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; When you add the resource the disks will go offline and then back online. Be sure you're not doing anything with them when you do this!&lt;br /&gt;&lt;br /&gt;You now have a SQL cluster resource with dynamic disks that's ready to have SQL installed, or if it's already installed then you can migrate your db files as needed.&lt;br /&gt;&lt;br /&gt;Dynamic disks are the way to go as you can easily grow volumes, extend stripes, add mirrors, etc. I never use basic disks when I connect a SQL server to a SAN.&lt;br /&gt;&lt;br /&gt;Random note:&lt;br /&gt;I like to setup at least one LUN for logs (ldf) and at least one more for data files (mdf)... If the server is going to be under enough load I'll make sure tempdb is on it's own LUNs as well. (System Center Operations Manager is an example of that config).&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;&lt;a href="http://drewstechnotes.blogspot.com/2007/12/how-to-force-storage-foundations-disk.html"&gt;See this post&lt;/a&gt; for a potential resolution with VCS disks not showing up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-5957009836167430219?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/5957009836167430219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=5957009836167430219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5957009836167430219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/5957009836167430219'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/12/storage-foundations-vsfw-and-microsoft.html' title='Adding Dynamic Disk from Storage Foundations (VSFW) and Microsoft Cluster Service (MSCS) in Windows 2003 R2 x64'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-3035891575009560528</id><published>2007-02-09T22:36:00.003-05:00</published><updated>2009-04-05T19:43:24.413-04:00</updated><title type='text'>Funny and true; a rare combination.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vGVtfT_BZgc/SdlB4Xf7OtI/AAAAAAAAAHI/OQaX-zHGGqk/s1600-h/pcmaclinux.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 220px;" src="http://4.bp.blogspot.com/_vGVtfT_BZgc/SdlB4Xf7OtI/AAAAAAAAAHI/OQaX-zHGGqk/s320/pcmaclinux.jpg" alt="" id="BLOGGER_PHOTO_ID_5321356871351352018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This link says it all:&lt;br /&gt;&lt;a href="http://techdigest.tv/pcmaclinux.jpg"&gt;http://techdigest.tv/pcmaclinux.jpg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I admit I'm typing this from an installation of Ubuntu 6.10 ("windows fan boy linux") that's rocking beryl but really... Do you know how long I spent trying to get this to run on my dual-21" LCD's at work?? Oh- I could get dual monitor working (with fglrx, open source ati, AND binary ati drivers!) but I could never get it working with beryl (beryl with xgl... it worked with aiglx I think the name was??).&lt;br /&gt;Surprisingly my xp desktop does it just fine.&lt;br /&gt;&lt;br /&gt;Funnier still is the the fact that my p-to-v'd (I even spelled it phonetically; deal!) xp desktop image loaded faster as a vm ALONG WITH my ubuntu desktop than my xp desktop can dual booting directly into it!!&lt;br /&gt;&lt;br /&gt;Draw your own conclusions. My statement will always be this: 'Why should we worry about hardware to run an OS?' (yeah- I just quoted myself!) The OS manages access to hardware and it should be more integrated and streamlined as time goes on- NOT more bloated and resource intensive.&lt;br /&gt;&lt;br /&gt;Update: Newer Ubuntu versions load slower. I have Vista installed on a PC. I'm eagerly awaiting running Windows 2008 as a "workstation".&lt;br /&gt;I also added the picture linked to above in case it disappears.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-3035891575009560528?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/3035891575009560528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=3035891575009560528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3035891575009560528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/3035891575009560528'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/02/funny-and-true-rare-combination.html' title='Funny and true; a rare combination.'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vGVtfT_BZgc/SdlB4Xf7OtI/AAAAAAAAAHI/OQaX-zHGGqk/s72-c/pcmaclinux.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-1416710496136332669</id><published>2007-02-06T23:32:00.000-05:00</published><updated>2007-02-06T23:33:10.579-05:00</updated><title type='text'>How to Upgrade SQL 2005 x64 from SP1 to build 2153  (KB918222)</title><content type='html'>&lt;div&gt;&lt;span style="font-family:arial;"&gt;If you don't know what this topic means skip the rest of  this post. If however you're here because you're trying to upgrade from 2047  (SP1) to the latest hotfix -build 2153- and you're getting nothing but "Failed"  then this is for you.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;First things first; read  this again:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://support.microsoft.com/kb/918222"&gt;http://support.microsoft.com/kb/918222&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Do things in the order they suggest because why not?  Why fight with things for the sake of fighting with them? Oh what's that- you  installed the client patch first? Heh... me too. It doesn't really matter.  ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So anyways, I'm sure you want to know the fix  so here goes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;First, figure out where your  mssqlsystemresource and distmdl log and data files are. If they're all in the  same folder as your master db then you've got a problem that I can't fix with  this post. But if you (like me) got this crazy idea somewhere that logs and data  should be kept on separate volumes and you happen to do that for system dbs as  well because oh, I don't know; you like order, then I may just have the  asdfnswer you're looking for.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This problem may or  may not be a 2-step fix for you.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;First, look at  where your master.mdf is- are distmdl.mdf and distmdl.ldf there? No? Copy them  there! Try it again- if the upgrade works you're done.&lt;br /&gt;&lt;br /&gt;The other problem  you may run into is the upgrade of the mssqlsystemresource db. If the .mdf and  .ldf files are in different dirs (or more likely; volumes) then you'll have to  copy the newer log (.ldf) version that it dumps in the same dir as your  mssqlsystemresource.mdf over to the correct location before the upgrade will  work. Of course your server needs to be down for this to happen. FYI: the newer  file has a date with a timestamp of around 12:13am... I can't remember the exact  date but the older version has a timestamp around 3-something am. If you don't  normally keep the mssqlsystemresource.ldf file in the same dir as your mdf then  you shouldn't have even read this far- go upgrade your system!!&lt;br /&gt;&lt;br /&gt;And just  in case these didn't help you here's some more advice:&lt;br /&gt;You can find most  problems by checking: %windir%\hotfix\sql9\&lt;/span&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;span class="779285219-05022007"&gt;&lt;span style="font-family:arial;"&gt;SQL9_Hotfix_KB918222_sqlrun_sql.msp.log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;For "value 3"... then look for something about failing to access a  file (note the location) and/or any other messages that may help you out. One  stupid thing is that the error will state the installer doesn't have access to a  file when in reality the file isn't there. Use your head and check it out before  assuming it's a permissions issue.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-1416710496136332669?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/1416710496136332669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=1416710496136332669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1416710496136332669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/1416710496136332669'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/02/how-to-upgrade-sql-2005-x64-from-sp1-to.html' title='How to Upgrade SQL 2005 x64 from SP1 to build 2153  (KB918222)'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5821568774797762585.post-4653682973665592487</id><published>2007-02-06T23:30:00.001-05:00</published><updated>2009-04-05T19:37:31.787-04:00</updated><title type='text'>Fixing MOM 2005 MOMXParitioning Job Problems</title><content type='html'>&lt;div&gt;No, this post is not about how to spay or neutor your mother. It's about  Microsoft Operations Manager and one piece of troubleshooting that will save the  day for you when the daily partitioning and grooming job fails... and it WILL  fail.&lt;br /&gt;&lt;br /&gt;Here's how this one goes. There's an error that popped up with a  MOM 2005 database I manage where the groom job would continuously fail with  something like 'drop failed FK_EventParam18 is not a constraint'... Awesome. At  this point your OnePoint database is going to keep on growing forever and ever  because it can't purge old data. Too bad that it's no longer supported by MS  when it hits &gt;30gb. The solution? Fix the problem yourself of course!&lt;br /&gt;&lt;br /&gt;I hunted  around the internet for help with this one but was left with nothing. Finally I  started stepping through the code of each stored procedure as it would have been  executed to find what was being called and when.&lt;br /&gt;I got tired of that  and threw up a trace.&lt;br /&gt;I eventually narrowed it down to the fact that it really  wanted to drop a constraint named in the error on a table of a similar name. Now  of course I'm sure there's a table somewhere that holds what to drop and what  not to drop but I really didn't feel like editing that so I took the easy way  out: I created a constraint with the required name on the proper table and BAM!  It worked.&lt;br /&gt;What was the constraint you ask? heh... 1=1 ;)&lt;br /&gt;&lt;br /&gt;Hopefully  some other DBA out there (or someone else stuck looking after a bloated and  mis-managed MOM 2k5 deployment) will see this and be saved a lot of  investigative work. &lt;span style="font-size:78%;"&gt;(Legal self-help: I am not making any claim that this will work for you and/or won't harm your database. Use this advice at your own risk!)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oh- and the other thing I did to purge my db (which  was 130gb!)? I modded the sp_purge (or whatever it's called) to be able to groom  and purge starting at 125 days rather than the 60 days it maxes out at via the  GUI. This allowed me to purge data and shrink the db in a controlled fashion  that wouldn't blast the storage system with IOPS it couldn't hope to handle.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5821568774797762585-4653682973665592487?l=drewstechnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewstechnotes.blogspot.com/feeds/4653682973665592487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5821568774797762585&amp;postID=4653682973665592487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4653682973665592487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5821568774797762585/posts/default/4653682973665592487'/><link rel='alternate' type='text/html' href='http://drewstechnotes.blogspot.com/2007/02/fixing-mom-2005-momxparitioning-job.html' title='Fixing MOM 2005 MOMXParitioning Job Problems'/><author><name>Andrew</name><uri>http://www.blogger.com/profile/05614373015241282579</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='34' height='6' src='http://4.bp.blogspot.com/_vGVtfT_BZgc/SWtiIrbsOhI/AAAAAAAAAGE/A48zNLzVVKw/S220/myeyes_oil2.png'/></author><thr:total>0</thr:total></entry></feed>
