Wow, what a decade! We’ve seen quite a bit of change in our world (9/11, a war or two, minority as President) and I’ve had quite an eventful decade myself. Here’s a quick list of stuff I can remember off-hand that’s happened in the last 10 years (order not necessarily linear, more stream of thought at time of writing):
Visited France
Graduated high school (I know, many of you are going to hate me for being this young)
Visited England
Visited Canada (term “visited” is loose here, basically drank and ran amok as only college kids could)
Graduated college (!)
Got my blue belt with stripes in Brazillian Jiu-Jitsu
First job in IT as a desktop tech
Ran first 5k
Attended first Tampa Bay SQL Server User Group meeting
Met the love of my life, (aka )
Did a hell of a lot of growing up
First major job change (current job)
Got a dog ()
Started presenting on SQL Server
Passed 70-431 to get my MCTS: SQL 2005聽certification
Got married!
Started blogging/Tweeting
Presented at first major SQL event ()
Started volunteering for as many opportunities as I can
Helping to organize (it’s on January 23rd, !)
Accepted an offer to co-author a book on Policy Based Management ( )*
*Thanks Colin for reminding me!
I’m sure I’m missing quite a few things but man its been a crazy 10 years! In that time I’ve done a lot of growing up (insert jokes on my age here) and I’m grateful for everything that has happened and all the people I’ve met along the way. It’s been quite a journey and this is only the beginning. This last year alone has been absolutely amazing what with celebrating my 1 year wedding anniversary and all of day-in-day-out interaction with the SQL community. I’m shocked about how fast these last 10 years has seemingly flown by and I’m looking forward to the next 10! Hopefully you guys will still be along for the ride as I continue my adventures in blogging and blowing up your Twitter feeds.
This is just a quick post to serve as a warning sign to those who are DBAs in shops where you routinely get vendor pre-packaged databases (which should encompass about 99% of you). Today we had a vendor installing a new application which required a SQL database, to which I am ever thankful. Unfortunately this database, as I came to discover after a discussion with my junior DBA, that it was actually a restore of a database that was a created after mashing a bunch of data together from disparate systems. Ouch.
Well long story short after the install I took a look at the database server’s (disclaimer: I put them on a shared SQL instance since the app is relatively small) error log to make sure nothing crazy was happening since during the install they had issues with account creations. FYI that turned out to be a small “we need sysadmin” rights issue to which I said ‘NAY!’ and granted them temp rights to complete their install and then revoked those rights when it was complete. Anyhow the error log showed me something interesting:
Message
SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
Well that’s interesting. I quickly and the first solution I found was a that said these were “normal” messages you’d see in a database restored starting from SQL 2005 SP2 and upwards. I read on as I needed to know WHY these messages appeared and BAM, something hit me and sent off alarms:
The whole procedure cache is cleared when certain database level operations are performed in the following scenarios:
A database has the AUTO_CLOSE database option set to ON. When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
Auto_close enabled on a database on my server? NOT ON MY WATCH! I quickly jumped over the database options and sure enough not only was AUTO_CLOSE enabled but AUTO_SHRINK as well. For those of you curious as to why I’d freak out about this, these options are really resource intensive and this being a shared instance I really don’t need that hassle. If you’d like to read about how/why these two options are bad check out Tim Ford’s blog at (aka on Twitter) and read his聽post on .
So remember kids: check, re-check and double-check what your vendor is doing when they setup databases on your systems. Ideally they should provide scripts for you to be able to validate and evaluate before you just “slap it in” to your production environment.
This post is actually going to be a copy/paste job from a comment I left on Colin Stasiuk’s (| ) post encouraging his user group, EDMPASS ( chapter of SQL PASS user group), for hockey tickets. In his post Colin asks his members to join Twitter, if they haven’t already, follow at least 10 SQL Tweeps, and share a story of a positive experience they had with fellow SQL Tweeps. In the past year I’ve come to find that Twitter has become an invaluable tool for me professionally as I can get many quick answers and sometimes (as you’ll see below) even more complicated issues resolved. Without further ado here’s my tale:
I鈥檓 really not eligible but I鈥檒l share a story that I used during my SQL+Twitter talk at SQLSaturday (and also whenever I tell anyone about the value of Twitter).
For those who don鈥檛 know Paul Randal ( on Twitter), I liken him as such: If the SQL World were the Star Wars Universe he and Kimberly Tripp ( on Twitter) would sit on the Jedi Council. That being said they鈥檙e pretty important in the SQL world.
One fine day I got a call from a coworker whose server had run out of space because the transaction log file had grown too much (whoops). Rather than call me to fix the problem he did the thing all DBAs dread鈥e deleted the .LDF file and thought restarting SQL would rebuild a new one. Needless to say this pained me deeply. I tweeted my plight to the world (as I do whenever I鈥檓 working on something interesting) and Paul responded. Now the reason this was so exciting to me is for a few reasons: 1-This guy WROTE the code for DBCC CHECKDB and knows every nook and cranny of how the database engine works and how/why corruptions happen and how to fix them. If you鈥檙e interested in the technical bits of the story check out Paul鈥檚 blog post on it:
Long story short, thanks to the relationships I鈥檝e fostered with fellow SQL professionals I got world-class, one-on-one help (he and I emailed back/forth that afternoon while he walked me through what to look for, commands to run, etc.) and all for free. Simply put I cannot stress enough how much Twitter has enhanced my worklife and helped me to be a better DBA as now I have the power of so many sql resources at my fingertips almost instantly. Outside of SQL I also had another great experience the other day with Shay Levy (@shaylevy), Powershell guru extraordinaire. I don鈥檛 know PS well yet and he connected with me via Google voice chat and he helped review the script I was writing with me. Oh yeah, did I mention that Shay lives in Israel?!? Yeah, international help FTW!!!!
Lastly how can I forget my connection with you Colin? Another international connection forged from the fires of Twitter. Now thanks to our connecting via Twitter you and I are collaborating with yet another SQL Tweep on writing a . I really should just copy/paste this on to my blog and make it a post as I鈥檝e apparently rambled on enough for this.
So there you have it kids! Do you have a positive story from Twitter you’d like to share? I’d love to hear about it so leave your comments/stories below.
Brent Ozar ()聽and Aaron Nelson ()聽were talking discussing on Twitter the creation of聽.聽聽As Brent is known for doing, he magically whipped up a blog post on the matter explaining how this new hashtag, #SQLHELP, should be used. I highly recommend you head over to . I’ve found Twitter to be an invaluable tool for getting quick responses to any SQL (and non-SQL as well) questions I have. If anything this should be a great hashtag to search on and show to management as a good business-value for Twitter in the workplace!
Good day students! Unfortunately your professor who was supposed to cover indexes (that’s a pun, you’ll learn why in the following lessons) fell ill so we had to call in a guest professor. I’m honored to introduce to you professor Gail Shaw (| )! Gail has written a series of articles on indexes at . In order to read these articles you will have to create an account, don’t worry it’s free and HIGHLY recommended as SQL Server Central has some of the best SQL material around!
So without further ado, here are your indexing lessons for the week:
Supplemental indexing material:
(from her blog) Recommended Reading
(author: Josef Richberg)
A big “thank you” again to Gail for giving us permission to add her work to the SQL University curriculum! Don’t forget to head over to the basketball court and let.
First off I apologize wholeheartedly about the lateness of this post. Turns out I have a day job as well (go figure!). Anyhow thus far we’ve talked about the past in the history of SQL Server, we’ve discussed the present state of affairs in PASS and the events currently going on in the state of SQL Server knowledge and development, and now we’re going to discuss the future and that future is you!
Ok that last line came off a bit hokey but seriously folks, you really ARE the future of SQL Server and . This year we’ve seen some great strides with PASS with the re-branding and refocusing of the . The Virtual Chapters, as was mentioned in the last article, are chapters that meet online and are focused on several aspects of SQL Server such as Administration, Application Development, Women in Technology, Virtualization, etc. Another thing that we learned through madness process is just how passionate we can be about our organization. We’ve also seen the passion from members come forth in form of blog posts such as Brent Ozar’s post ‘‘.
Getting Involved
But that covers how others feel and contribute, how do you fit in? Well first off get involved! Be it something as small as communicating with others via your social network of choice (i.e. Twitter, Facebook, LinkedIn) start connecting with other SQL professionals. I know, for me, the relationships I’ve fostered via Twitter have been invaluable for me. I’ve found that not only it pays off for day to day questions but it also makes it much easier to transition to meeting folks “in meatspace” such as, or user group events. Which brings me to my next point, local user groups are great resources. You can check the to see the list of the official PASS chapters all over the world. For those not familiar with user groups, these are groups that meet on a regular basis (typically about once a month) and they share information and network on particular topics. In our case we have user groups that are SQL Server focused (database administrators, developers, architects, etc.) as well as groups dedicated to . Attending user groups is a fantastic way to arm yourself with knowledge for free (as well as food and swag, hehe) as at these meetings the usual meeting structure includes having someone come in and speak on a particular topic to the group. In addition to the learning you get from these presentations you can get so much more by networking with your fellow SQL peers. This is a fantastic way to solve real-world problems as others in your field share problems and solutions they’re working on or have come across. No matter what your level of SQL expertise be it someone who has never even opened SQL Server before or someone who has been working with the product for 10+ years I highly encourage you to participate in your local user groups.
If there is no chapter in your area you can . Worried you need to be a SQL guru to do so? Let me alleviate your worries and tell you you don’t. One of the best stories I heard this year came from Bonnie Allard ( | LinkedIn), the chapter leader of the . Bonnie actually came into SQL Server with no prior experience so in order to learn it she setup her own test systems at home and just kept playing with the product to get herself familiarized with it. After attending a SQLSaturday event, Bonnie decided to setup a SQL User group in her area (they are located in Melbourne, Florida) as the next closest group was Orlando which was over an hour away. Although the group is small Bonnie has shown great dedication to her craft, PASS and the SQL Community as a whole. If you are interested in setting up a group contact your local Regional Mentor to get started. You can find the regional mentors by clicking on your respective region on the. If you have any questions you can contact Blythe Morrow (Email), the Communities coordinator for PASS Headquarters, and she’ll connect you to the proper folks.
Volunteer Work
So we’ve talked about PASS as a whole as well as the local level branches of PASS in local user groups but how else can you continue to pitch in? Well PASS is a global organization and they are always in need of good volunteers to pitch in be it something as simple as helping them put together a PowerPoint for a keynote or as much as volunteering at the Summit to help guide attendees around. Volunteers are the lifeline of PASS and so they can always use as many as possible to help out! If you’re interested in volunteering check out the or contact Blythe Morrow聽 for more opportunities.
Just Do It!
Bottom line is you don’t need to be a Super person with 100+ titles to be involved. Best way to get started is to just do it! Many of the SQL experts you see in the community started off just like you. One of the greatest things about being part of the PASS and SQL community is that you get so much more in return the more you put in to it. So get out there and volunteer, speak, blog, tweet, whatever as long as you get involved! Maybe I’ll see you at the Summit next year and you can relay your own story of how you setup a new PASS chapter or how you got involved with PASS, I’d love to hear them all.
Update: Jeremiah Peschka (| ), PASS Board Member and all-around awesome guy, just posted with PASS which you should definitely check out.
Well last week was rather hectic and with all the one thing seems to have been lost in the mix: The PASS Log Reader Awards!
For those not familiar with this contest you can read the official announcements of the contest , , and . Don’t worry, I’ll wait until you come back. You back? Cool. Alright now that you know what it’s all about let’s talk about the exciting part: the winners! Yup, last week at the beginning of the week the winners were announced. Now thanks to the magic of the interwebs and copy/paste feature here are the results ()
Best Blog Series (Multiple Posts):
Winner: Kendal Van Dyke for ( 鈥 鈥 )
Runner-Up: Tie:
Aaron Alton for ( 鈥 鈥 )
Aaron Bertrand for ( 鈥 鈥 )
Best Business Intelligence Blog Post:
Winner: Chris Webb for ( 鈥 )
Runner-Up: Michelle Ufford for ( 鈥 鈥 )
Best New Blog:
Winner (Tie):
Aaron Alton for ( 鈥 鈥 )
Michelle Ufford for ( 鈥 鈥 )
So first off big congratulations not only to all the winners but anyone and everyone that submitted entries! Thank you all so much for your blogging efforts, keep it up. I’m also very honored to have been named a runner up in the New Blog category. I’d like to thank all 12 of you who read this blog as well as Brent, Andy and Jeremiah for putting this together. I highly recommend you check out all of the blogs listed above as they are clearly of high quality so make sure you check them out.
In addition to this great contest you should also check out PASS board member to keep up with the cream of the SQL crop in the blogging community.
On one final note there was an entry I personally should have won an award for most creative posting of all time (queue Kanye) and this was David Stein’s (| ) entry ““. If you haven’t read it go read it right now as its (as Tom LaRock/Brent Ozar would say) pure liquid awesome.
Welcome back students! In our last lesson we covered the history of SQL Server, the product. This is important stuff to know in order to understand the evolution of the technology you鈥檙e working with. SQL Server has made many strides and it continues to do so to this day. Today鈥檚 lesson we鈥檙e going to cover current events. The reason we鈥檙e covering current events is because this past week was the annual conference for called the . PASS Summit Unite 2009 is the largest, most focused, and intensive Microsoft SQL Server conference in the world.
Sounds great doesn鈥檛 it? Well you might be asking yourself: What is PASS? I鈥檓 glad you asked! PASS stands for the Professional Association of SQL Server. PASS is an independent, not-for-profit association, dedicated to supporting, educating, and promoting the Microsoft SQL Server community. From local user groups and special interest groups (Virtual Chapters) to webcasts and the annual PASS Community Summit 鈥 the largest gathering of SQL Server professionals in the world 鈥 PASS is dedicated to helping its members Connect, Share, and Learn by:
Facilitating member networking and exchange of information through our websites, Chapters, annual Summits, regional and local events, and virtual communities
Working with Microsoft to influence the evolution of SQL Server products and services
Delivering high quality, up-to-date, technical content, presentations, and other educational material for professional development
PASS was founded in 1999 by Microsoft and CA and continues to enjoy executive level endorsement from both organizations. As the number one user community for Microsoft SQL Server, Microsoft looks to the PASS community for valued feedback, input, and inspiration. (Source: )
If you’ve been following anyone in the SQL community either via Twitter, reading SQL blogs, or browsing around any SQL-related forums you may have noticed a very large buzz in the community about the conference this week. There’s very good reason for this: The PASS Summit is the Superbowl of SQL Conferences (or World Cup for my international friends). This is the one conference during the year where folks from all over the world unite in one place and share their SQL skills, experiences and friendships. The motto for PASS is Connect, Learn, Share and that’s definitely what the Summit embodies. I personally have never been but this year I and it almost felt like I was there (Twitter is even funnier when you see the after-hours activities like Karaoke).
There have been a slew of blog posts about why the Summit (and I stress that the conference is called Summit, the organization is called PASS but many mistakingly refer to the conference as just PASS) is so great to attend. This post will try to not turn into one giant PASS Summit commercial but its hard not to gush over how awesome it is when you see all the knowledge shared and how the community rallies together. Suffice to say the annual conference is definitely worth your time and money to try and attend.
Beyond the conference PASS offers much more to the community. As a professional association they offer education resources for all members. How does one become a member? Don’t worry, it’s free and everyone is invited to join! Just . So what kind of learning resources does PASS offer? Well for starters the website to just about anything you can think of from technical articles, webcasts, tips/tricks from the experts, newsletters, tips/resources for speakers and much more. But the website is just the tip of the iceberg! PASS truly is a worldwide organization and that fact can be seen through the proliferation of local and regional SQL Server User groups. PASS has chapters all over the world and with each passing year it keeps growing! You can check the and check your region to see if there is a user group in your area. If there isn’t a user group located near you then guess what? You can ! To get started on that journey on what steps are needed to set one up and become an official PASS chapter!
PASS Chatpers Worldwide as of 2009
Another great resource PASS has established in the past year has been the proliferation of (formerly called Special Interest Groups or SIGS). These virtual chapters each have a focus on a different aspect of SQL Server such as Business Intelligence, Application Development, Professional Development, Virtualization, Women in Technology, Performance and Database Administration. These Virtual Chapters act just like local chapters in that they meet on a regular basis but rather than meeting in a physical location they meet online via LiveMeeting. These meetings are great and open to everyone. At these meetings they have someone in the community do a one-hour presentation (much like you would see at a conference or a local user group meeting). These are fantastic, and best of all free, learning resources which helps you advance your knowledge and career!
Another great item to come out of the PASS umbrella are the free, local training events called . These are free 0ne-day training events modeled after code camp events. At SQLSaturday there are several tracks based on different aspects of SQL Server (i.e. Administration, BI, Development etc.). These events attract speakers from all over and gives a chance for attendees to not only learn about SQL Server and PASS but gives them a taste of the community as well. If you’re interested go check out and see if there is one scheduled for your area!
While there are many, many learning resources for SQL Server out there such as , and , know that we are all united when it comes to PASS since we are all members of the same fraternity of .
In our last class for this week I’ll cover the future of SQL Server, PASS and you!
Well this is going to be an interesting week as we have the going on. What鈥檚 the PASS Summit? What鈥檚 PASS? Why are the people on Twitter so excited about ? Well by the end of the week my hope is you鈥檒l have an understanding of where the Microsoft SQL Server (the product) came from, where its going, what PASS is and why its important to us.
So the past few weeks you鈥檝e been working with Microsoft SQL Server. Some of you may have worked with it for years and others may be using it for the first time. So how did this fantastic relational database product come to be? Microsoft SQL Server鈥檚 humble beginnings started in 1989 with the release of SQL Server 1.0. This was Microsoft鈥檚 first entry in to the database market and the product鈥檚 codebase was based on Sybase SQL Server 3.0 code.Eventually Sybase and Microsoft went their separate ways. Starting from version SQL Server 7.0, released in 1998, the codebase was re-written from the legacy Sybase code.
In 2000 Microsoft released the first version that did away with the previous numbering scheme and was released as (and the originality award goes to鈥) SQL 2000. This product marked the first time the product was available with an edition aimed at the IA-64 architecture. The IA-64 version of SQL 2000 was available some time after the x86 version. It was also a little finicky, being more prone to crashes than the x86 edition (thanks to for this info!). This evolution of the product also saw the introduction of (SSRS) as an add-on in 2004. Reporting Services would re-emerge in SQL Server 2005 with many improvements in regards to end-user tools, self-service ad-hoc reporting and ease-of-usability. This release also gave us a built-in ETL (extract,transform,load) tool called (DTS).
For the 2005 release, SQL Server 2005 was considered a revolutionary release by many. Quite a few things were overhauled and improved upon. The Enterprise Manager was replaced by the (SSMS). SSMS is basically a Visual Studio shell with SQL Server components built in which made for a cohesive development/management environment for users. As well as getting a new management interface there were huge new features and enhancements to the database engine itself. SQL Server 2005 was the first SQL Server to include support for managing XML data types. Some other improvements 2005 brought were better indexing algorithms, better recovery systems, Dynamic Management Views, instant file initialization, better security (granular role/schema/object permissions), introduction of SQL CLR which allows developers to use native .NET code within SQL Server (assuming your DBA allows it, hehehe). Another huge change in this release was the replacement of DTS with a far superior and more polished ETL solution in (SSIS).
The most recent iteration of the product is SQL Server 2008. This version built upon the leaps from its previous release and improved upon them. These improvements came in the form of new features such as Policy-Based Management, the Performance Data Collector, data compression, resource governor (which allows dba鈥檚 to restrict resources for certain queries), transparent data encryption, data auditing, server group management in the form of the Central Management Server, the introduction of the MERGE statement, introduction of LINQ, support for geospatial data, filtered indexes, new DATE/TIME data types (until this point date/time was one column and together, this release allowed you to separate the two), BI improvements, and much more.
So what鈥檚 next? Glad you asked! The next announced release is referred to as SQL Server 2008 R2. This release offers mostly higher spec bumps (such as support for more processors, more memory, etc.) but also offers a few new feature additions as well. Some of these new features include Master Data Services, (a new way of managing databases as Data-Tier Applications), (DAC), (formerly known as Project Gemini) and more. of all the various improvements available in the R2 release.
Note: This article was heavily drawn upon entries from Wikipedia. from there.
In light of the fact that this weekend is Halloween I figured this would be a great time to start this meme: Give us your best database/IT horror story to date.
I鈥檝e been fortunate to date as far as the databases I鈥檝e dealt with not having any crazy problems. For that I鈥檓 thankful. Given that fact my story is more of a general IT horror story. It was a dark and stormy night (actually it was clear, humid, hot day day but those don鈥檛 work as well for these). I woke up this fine morning to hear the call with the two words every IT pro dreads to hear: major outage. As I got into work, fueled up on coffee I got details of what happened that fateful morning.
Every month our operations staff does a generator load test wherein we switch from commercial power to generator power for testing. On this day, however, the generator felt saucy and fate gave us the finger. They threw the switch as they had done so many times before when 鈥渟omething happened鈥 and a major failure happened in the generator. Normally this wouldn鈥檛 be too bad as you can switch right back to commercial power but, nay, not this day. For some reason the switch was unable to cut back so our whole data center went down faster than Balloon Boy鈥檚 family credibility. Like over-caffeinated monkeys on speed everyone leapt to action to find out the extent of the affected systems and implement the appropriate DR plans. After some scrambling the picture looked bleak. Despite having an alternate data center it turned out some of the systems on that side relied on the SAN鈥n the datacenter鈥hat was now down and out. Awesome. Over the next few hours meetings were held to determine which systems needed to come back up, in what order (yes, I know, this should have already been established but as we soon discovered our DR plans were dated). Power was restored by noon and that鈥檚 when the real work began.
As we began bringing systems back online a flurry of disk checks and fixes began. Things slowly began shaping back to normal as everyone hunkered down and brought everything back up. But not all was well in Whoville. Ripping out a SAN from underneath servers is not the greatest thing to happen. To make matters really awesome we鈥檙e a heavy VMware shop and guess where our VMDK files are? Yeah鈥ell in the midst of the madness we lost 2 LUNs due to corruption. Couple this with the fact that some of those servers turned out not to be backed up and needless to say you have a recipe for pure FUN! The good news is we have a good staff of dedicated folks who stayed as long as it took to get as many systems back online and working again. By 2:00 am (the failure occurred around 7:00 am) we were 95% back up and running with no major losses of data. Over the next few weeks I got the pleasure of working the every living hell out of the restore feature of Arcserve as well as check and double-check servers were being backed up.
Moral of the story is:
Have an up-t0-date DR plan, you never know when disaster is going to strike. Jonathan Kehayias recently about this.
Time to do some tagging:
(since I mentioned him already)
aka MidnightDBA (let鈥檚 put that new netbook to work ;-D )