Tag Archive: funny

Optimists, Pessimists and Technology People

Pessimist: “The glass is half empty.”

Optimist: “The glass is half full.”

Database Administrator: “The glass is sized correctly for peak loads.”

Virtualization Admin: “This person should be sharing a Dixie Cup with the guys in accounting.”

Business Intelligence Admin: “How can we upsell this customer to bottled water?”

Security Admin: “Whose glass is this? Half of the water has gone missing.”

Storage Admin: “This glass needs thin provisioning.”

ETL Admin: “We need a faster way to fill this glass.”

Active Directory Admin: “We need a secondary glass for redundancy.”

Backup Admin: “Nobody told me to take a snapshot of the full glass.”

Break Fix Admin: “Hang on, I’ll go get you another glass.”

Linux Admin: “I bet I could build a better glass myself.”

Project Manager: “I need a FTE for 15 minutes to accomplish the deliverable of a full glass.”

Azure Developer: “Why buy your own glass? The clouds are full of water.”

jQuery Developer: “When you start drinking, it automatically refills.”

Mac User: “Check out how much thinner and smaller my glass is, and it holds that much water too.”

Twitter: “The faucet is over capacity. Please wait a moment and try again.”

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

New SQL Server Editions – #sqleditions

In the Quest booth at the SSWUG Virtual Conference, somehow we got started naming new editions of SQL Server, and I just had to move the discussion into Twitter to let everybody else in on the fun.

Here’s been some of the funny ones:

  • SQL Server MVP Edition: <NDA> (sorry I can’t tell you what it does) – BenchmarkIT
  • SQL Server Google Edition: Returns 10,000,000 results, most of them duplicates. – BradDBA
  • SQL Server General Motors Edition: it costs $3 billion. Wait, $4 billion. Hang on, I think it’s $12 billion. – BrentO
  • SQL Server Apple Edition: It looks good and works perfectly right out of the box. Pity about the price tag. – PeschkaJ
  • SQL Server Paris Hilton Edition: No security… EVERYONE gets in :)BenchmarkIT
  • SQL Server FriendFeed Edition: Friends and random people can comment on how good your data is – carpdeus
  • SQL Server Foreign Nightclub Edn: works great, but one morning you wake up in a bathtub and your tables are gone. – BrentO
  • SQL Server Ozar edition: I know there’s good data in there, but each query just keeps coming back with witty snark instead. – BrianArn

You can read the #sqleditions in real time on Twitter as they come in.  To join the fun, just Tweet with #sqleditions in your tweet and it’ll be shown in the feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Meeting Minutes for Trigger Design

SQLBatman wrote recently about how database triggers suck.  It’s pretty funny, and it made me stop to think.  What would it have been like to sit in the first meeting where somebody decided to implement triggers inside a database server?

Manager: “Alright, everybody’s here, let’s get started.  First item on the agenda: how’s that self-tuning piece coming along?  It’s going to be ready for this version, right?”

Developer A: “Yep, lookin’ good.  It’ll be completely self-tuning.”

Manager: “Okay, great.  Next up, we’ve got a new feature request from one of the customers.  They want to be able to permanently attach SQL code to tables, and when someone inserts, updates or deletes a record, they want something to happen automatically.”

Developer B: “In the foreground, or in the background?  Like, do they want to kick off some kind of background processing?”

Manager: “Doesn’t say.  Should probably be in the foreground though.”

Developer A: “Okay, so we’ll keep the transaction open until their SQL code finishes.  What kinds of stuff do they want to happen?”

Manager: “Doesn’t say.  I’m sure it’ll be small, though – they wouldn’t want some kind of ugly processing going on with every transaction.”

Developer B: “Who the hell would want to do that?”

Manager: “They swear it’s only a short-term thing – they often need to temporarily insert some business logic in there until they can recode their application to make the database updates themselves.”

Developer B: “Ah, okay.  How do they want to return results about what got modified?”

Manager: “They want detailed logging returned to the query window showing what got affected.  Otherwise, they’d never be able to troubleshoot if the engine kept making changes behind the scenes, right?”

Developer A: “Yeah, that’d be a nighmare.  I know exactly what they want.  When they run a query, they want a nice grid listing all of the affected changes to records, with like a before-and-after comparison so they could instantly tell what the trigger did.”

Manager: “Exactly.”

Developer B: “And let’s add some client stats on the performance impact too, so they can see how much of the performance slowdown is due to the trigger versus their bad code.”

Developer A: “No problem.  You code the part inside the engine so that the triggers do their thing, and I’ll code the user interface part as soon as I’m done with the self-tuning stuff.  How hard can it be?”

… (one month later) …

Manager: “Alright, status update time.  Everybody’s here except Developer A.  Go get that son of a – ”

Developer A: “I’m here.  I’m under the table.”

Manager: “What the – you’ve got a mattress down there?”

Developer A: “Yeah. I’ve been sleeping here.”

Manager: “Why?”

Developer A: “I’ve been a little behind lately, so I’ve been staying late to catch up coding.”

Manager: “WHAT?!? Don’t tell me the self-tuning stuff isn’t going to make the release date.”

Developer A: “Depends – when’s the release date?”

Developer B: “Aww, man, what about the trigger user interface?  The results grids showing what the trigger did?”

Manager: “You morons! We have to ship Friday! Marketing’s already bought all the ads and rented a big space for the party.  We’ll get the self-tuning stuff and the trigger user interface in the next release.”

Developer B: “Everybody’s going to hate us!  They’re going to say they need penicillin after using our product!”

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

SQL Server 2010 Features Leaked! (Parody)

(If you found this page via a search, I’ve got good news – SQL Server 2010 will be called SQL Server 2008 R2, and the release date for all editions (including Express Edition) is May 2010.  You can learn more about SQL 2008 R2′s new features here.  I’m getting a lot of hits on this post because it was written as a joke before Microsoft announced the real version & release date.  The rest of this post was a joke, like April Fool’s.  I write a lot of funny stuff here.)

I’ve got great news, folks: I just got my hands on the list of new features in SQL Server 2010.  What?  You didn’t even know it was coming?  Pfft, outsider.  Listen, I’m under NDA, though, and I can’t really talk about this, so don’t say you heard these from me.

Best Practices Policies Enforced by Default

SQL Server 2008 shipped with Policy-Based Management, a way for DBAs to control large numbers of instances by setting up configuration policies.  For example, we can create policies that every table must have a primary key, or that all stored procedures must begin with usp.  SQL Server 2010 takes this to the next logical level by enabling these policies by default.

Think they won’t do it?  Think back a few years: SQL Server 2005′s default configuration did not allow connectivity from end users.  You had to manually turn on TCP/IP connectivity.  SQL Server 2010 is just continuing this gradual enforcement of best practices.

I’m not 100% sure about this, but from the way I’m reading the draft of Books Online, it looks like disabling policies will be deprecated in the next version of SQL Server as well.

Database Mail Expanded with Social Networking

Web 2.0, meet SQL 2.010.  Microsoft’s seen the spread of tools like Twitter and instant messaging, and they’re bundling right inside the box.  Now when you set up operators and alerts, you can include the user’s Twitter name or MSN instant messaging screen name.

Clearly, this is just to be used as a fallback, since these types of communication are less reliable than conventional SMTP mail.  It’s also not clear whether we’ll need to get a Twitter account for each of our SQL Servers, and whether we’ll have to set up “friend/follower” relationships with each DBA.  I’d hate to miss one of my critical errors because I’d blocked “SQLBOX9357″ thinking it was just another spammer.

On the plus side, I’m looking forward to being able to set up a column in TweetDeck for “SQL Server Alerts.”  Although I’m not sure I’ll get too many of them, because SQL Server 2010 claims to be…

Completely Self-Tuning

Starting with SQL Server 2005, we got Dynamic Management Views (DMVs).  These windows into SQL Server’s internal engine workings have made tuning databases so easy a caveman could do it.  SQL Server 2010 will therefore include Ugg the Prehistoric Performance Tuner, a friendly fella in a fur outfit who constantly reads the DMV queries for missing indexes and unused indexes, then updates your schema appropriately.

This isn’t available in every edition, unfortunately, because SQL Server 2010 will be…

Available In Seven Editions

Historically we’ve had Express, Developer, Standard and Enterprise, but the clear success in the marketplace of Windows Vista’s licensing scheme is carrying into the SQL Server world.  We’ll be able to choose from:

  • Starter Express Edition – only allows 3 databases.
  • Developer Edition – optimized for cursors and triggers, and does not throw any error messages.  Microsoft wants to make sure developers can quickly say, “It worked on my machine.”
  • Standard Edition – I know what you’re thinking: it’s named after The Standard, a hip, humorous and luxurious boutique hotel chain.  You’re wrong.
  • Hybrid Edition – has the SQL Server GUI, but a MySQL engine. Everybody’s buying ‘em these days.
  • Enterprise Edition – everything you really wanted in Standard.
  • Ultimate Edition – acts as a Media Center repository, so you can save your TV shows and por – I mean, “home movies” on it.  Scheduled for early release on BitTorrent.
  • Cloud Edition – like Enterprise Edition, but you pay by the byte stored.  Pricing and service levels haven’t been announced yet, but you can go ahead and start developing on it now and I’m sure you’ll be fine.

There’s more, too.  I’m reading BOL as we speak, and it looks like there’s a new Tweet datatype.  It looks like a varchar(140), but it has some kind of built-in security if the first two characters are “d “.  I’ll keep reading up on that and let you guys know what I find out.

Update: CTP to Be Released on 4/1/2009

I got two emails from people asking for more information, so I figured I’d better clarify that this is an April Fool’s style parody.  Sometimes my humor is a little on the subtle side.  I appreciate that folks hang on my every word, but sometimes – err, a lot of the time – I’m smiling when I say ‘em.  Hope you had a laugh from it anyway!

Update #2: No Joke, It’ll Be Called SQL Server 2008 R2

And here’s my posts about it:

Brent Ozar PLF Team

Brent Ozar PLF is a boutique consulting firm focused on understanding your environment and strategy. We partner with you to objectively identify pain points and develop solutions that align to your business goals. Your experience comes first; we share our knowledge and expertise to help you.

More Posts

Follow Me:
TwitterFacebookGoogle PlusYouTube

SQL Server 2008 Sucks

SQL Server 2008 is coming fast, and there’s going to be a bunch of web posts and magazine articles telling you how great it is.  I’m going to play devil’s advocate for a minute and tell you why SQL 2008 sucks.

The good stuff isn’t backwards compatible.

We can’t immediately upgrade every server in the shop.  Not only does it take months to plan those types of projects, but we also have to make sure that every app that connects to the database will officially support SQL 2008.  I’ve met with many production DBAs recently who’ve said more than half of their servers are still running SQL 2000!

Take the easiest-to-use new feature: IntelliSense.  Let’s all raise a glass to IntelliSense, a big time saver.  Now let’s pour the contents of that glass on the people who decided that IntelliSense should only work when we’re querying SQL 2008.  Come on, guys, we’ve been able to do this in Toad and other third-party products for years.  Why does Excel feel like a better programming tool than SQL Server Management Studio?

Or take one of the harder new features to use: policy-based management. I got excited, started building T-SQL policies for my servers, and then realized I couldn’t apply them to my SQL 2000/2005 boxes without writing SMO code.  Wait – what?  I’m a DBA, not a C# developer.  That means I’ll need to use both methods to manage my SQL boxes: whatever I’m using now, plus 2008′s management policies.  I hate redundancy.

Another example: the Management Data Warehouse, which collects performance and query data on the server to give you a health picture.  Sounds great – until you realize that you’ll have one solution for your SQL 2008 boxes, and another solution for the rest.  Ugh.

The good stuff is only in Enterprise Edition.

Some of my favorite new features are only available in the Enterprise Edition, not Standard:

  • Data compression
  • Backup compression
  • Resource governor
  • Change data capture

I can see how some of these features are really positioning SQL Server against Oracle, integrating features that Oracle’s had for a while.  And if we’re going up against Oracle, then sure, we’re talking about customers with money.  But wouldn’t we all love data compression, a feature that gives dramatic I/O performance improvements without changing our code?  It’s only available in Enterprise, and I’m not convinced that the cost difference justifies those features.

There’s no easy GUI for the good stuff.

Even if you fork out the big bucks for Enterprise, that doesn’t mean you can use those features right away.  Take SQL 2005′s partitioning feature – when that came out, I was so excited!  It solved a big business need for me.  However, when I had to debug and troubleshoot my first partitioning schemes and functions, I was, uh, less than excited.  No GUI help whatsoever – just manual coding scripts.  Can we get just a little GUI help to get started?  No can do.  Powerful feature, but no help from the GUI.

Now, in 2008, Microsoft took that same approach with many more new features:

Want to use Transparent Data Encryption? Don’t expect to check a box and put in a password, oh no.  Light the fire, pour yourself a drink, and snuggle up with Technet to learn about certificates.  Oh, and don’t forget to pay particular attention to the part about backing up your certificates – otherwise, if your server crashes, you won’t be able to restore your backups.  And no, the cert isn’t included with the database backup.

Want to enable data compression? You’d expect to just right-click on the database and turn on compression.  No can do – compression is done at the table & index level.  There’s a wizard to go compress existing tables & indexes, but that doesn’t save the DBA when people constantly create new tables and indexes.  Those folks won’t know to use compression, and it’s a hassle to manage at the table/index level.

Want to use policy-based management with SQL 2000 or 2005? Like my grandma used to say, it don’t hurt to want.  Let go of the mouse – you’ll be writing SMO code for that one.

And no, there’s still no partitioning GUI in SSMS 2008, which leads me to believe these new 2008 features won’t have good GUI support in SSMS 2011, either.

Forget it – I’m switching to MySQL!

Okay, reality check: I’ve got gripes with SQL Server 2008, but they’re pretty small, especially relative to the other platforms out there.  It’s like saying my Ferrari Superamerica* doesn’t have enough seats for my drinking buddies, so I’ll be switching to a minivan.  Some compromises are worth making.

*Disclaimer – I don’t have a Ferrari Superamerica.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube