It’s now the Monday night after the PASS Summit and it’s time for this slacker to get back into the rhythm of blogging. I’m working on Big Big ThingsTM for the blog in the near future, but for now I’d like to do a multi-part series of reflections on my experiences at the Summit.
As promised, here is the slide deck from my presentation last night to the Southwest Missouri SQL Server User’s Group on Deployment WORST Practices. I had a lot of fun putting this together (thanks go out to Grant Fritchey and Matt Velic for the inspiration!) Do note that it’s in OpenDocument Presentation format – I use Libreoffice Impress to do my presentations. You shouldn’t have any trouble opening it in whatever you use, as far as I know.
Update: Apparently the ODP wasn’t working right for some people. Here is a PowerPoint version that will hopefully be better.
While testing an SSIS package today, I discovered that I was missing some rows I expected to build. Digging in revealed that the missing rows had a column in the key that looked like an empty string to me, but that didn’t seem to be comparing correctly. SQL Server is usually pretty good about this, so I had a mystery to solve!
This evening I got into my vehicle to come home from about 45 minutes away to discover, much to my chagrin, that the truck wouldn’t start. I had jumper cables and friends nearby to get me going, but I wasn’t sure I would make it home – there was a cable with a bit of a loose connection and nothing I could really do to fix it at the time. I finally adjusted the cable sufficiently to keep the truck running and made it home, but it left me thinking – why don’t have I have a maintenance plan for my truck?
When and where I grew up, it was far from uncommon to hear this phrase: “If I didn’t pick on you, you’d think I didn’t like you anymore.” I received and gave a lot of good-natured ribbing, which certainly helped with my sense of humor and my tolerance of others. It’s a philosophy that has served me well, but I’m also aware that it’s a philosophy that, taken to an extreme, could result in bullying or harassment.
I have no doubt about it: Blogging is hard.
If you’ve been involved with the SQL Server community at all, you should know that one of the best ways to keep in touch is through Twitter. While there are a number of things you can learn about how to use Twitter from the basic mechanics to how to leverage its strengths (I recommend this free ebook from Brent Ozar), I’d just like to give a couple of tips on how to be kind to your followers of various interests.
One of the less pleasant aspects of doing ETL coding is dealing with requirements that don’t allow for straightforward, well-performing code. One of the trickier aspects of pulling from multiple source tables is determining whether those tables have changed. Many times, you have to make use of staging tables to avoid having to string together several performance-killing OR conditions, but sometimes there is an easier way…
Part of the joy of working as an ETL developer is that you get to spend a lot of time testing your code by validating large amounts of data. We have a testing tool with several built-in tests (which I maintain), but we periodically discover a new scenario which needs to be added to our toolbox. The fastest way I’ve found of mocking up these tests is with dynamic SQL using the INFORMATION_SCHEMA views.