“The Tuesday Night Fire Code Violation”

It was July 19, 2005. At least, I’m pretty sure it was.

Based on IndyPASS’s meeting history, that second meeting way down at the bottom (use your keyboard’s End key; that’s what it’s there for) was basically a “here’s what’s new/awesome in SQL Server 2005” presentation. I’ve long since lost most of my email from that time, but that meeting makes sense in the timeline of 2005’s release.

During the dark, dark days of 2005, just about everyone was desperate for an upgrade to SQL 2000. I was, and I hadn’t even been here that long. The fledgling Indianapolis PASS chapter met in a good-sized conference room on the ground floor of a Duke-owned office building off Meridian St (“twelve o’clock on the I-465 dial”) on the north side of town. That night, there were probably half-again as many people in that room as it could comfortably hold. People standing, sitting on the floor, you name it. Tom Pizzato, the speaker, was introduced; he walked up to the podium and the first thing he said was, “Welcome to the Tuesday night fire code violation.” That is still the best one-liner to open a technical presentation I’ve ever seen, and ever since, it has been cemented to SQL Server 2005 itself in my brain.

That was a long time ago–It’ll be eleven years here in a couple months. Eleven years is an appreciable percentage of an eternity in the tech world. As a result, earlier this week, Extended Support for SQL 2005 ended. This means that you, if you are still running it anywhere, will get no help from Microsoft were something to go wrong. Perhaps more importantly, there will be no more security patches made available for it. Don’t expect if something big happens, there will be a replay of what Microsoft did for XP.

This is a pretty big deal. If you have any kind of problem that you can’t fix, and you call Microsoft Support about it, you won’t get any help for your in-place system. You will have to upgrade to a supported version before you’ll be able to get any assistance, and in the middle of a problem bad enough to call PSS probably is not the time you want to be doing a Cowboy Upgrade™ of your production database system.

I understand that there are plenty of industries and even some specific companies that are either forced to, or elect to continue to run out-of-support RDBMSes on their mission-critical systems. I supported SQL 2000 for far longer than I would like to admit, and it was a risky proposition. After I transitioned out of that role, there was a restoration problem (fortunately on a non-production system) that it sure would have been nice to be able to call Microsoft about, but that wasn’t an option.

Don’t put yourself in that situation. There are plenty of points that can be made to convince the powers that be to upgrade. The fact that any new security vulnerability will not be addressed/patched should be a pretty good one for most companies. If you have an in-house network security staff, loop them in on the situation; I bet they will be happy to help you make your case.

One final note: If you are still running 2005 and are looking to upgrade, don’t just hop up to 2008 or 2012–go all the way to 2014 (or, once it goes Gold, 2016). SQL Server 2008 and 2008 R2 are scheduled to go off Extended Support on July 9, 2019. Three years seems like a long way off now, but that’ll sneak up on you…just like April 12, 2016 might have.

Normalization — It’s not Your Friend…or Your Enemy: Dataversity Webinar

As she does on a regular basis, my friend Karen Lopez ( blog | @datachick) is hosting a new webinar this week hosted by Dataversity. The topic, as the title of this post suggests, is about the good, bad, and craziness of normalization. The event is this Thursday at 2:00p Eastern Daylight (GMT -4).

Why am I sharing this? Well, I’m going to be there, too, playing the role of sidekick, because Karen’s the one that actually knows what she’s talking about 😉 . These webinars are always a good time, and you usually learn something, to boot.

It is free to everyone, but registration is required. More information and a link to register is available on this page.

If you join, stop in early while we do some audio checks, hang out and chat a bit beforehand. It’s a fun, informal time before the webinar proper starts. Stay tuned in via Twitter, as well. Monitor the #heartdata hashtag to participate in the conversation.

Hope to see you there!

Big Challenges in Data Modeling: Ethics & Data Modeling

From the “There’s a first time for everything” file, I can announce that I’m going to be joining an online panel discussion this Thursday (ie, tomorrow), April 24 at 2:00p EDT (11a Pacific). I know!


This discussion will be about Ethics and Data Modeling. It’s part of a monthly series put on by Dataversity covering Big Challenges in Data Modeling.

We’ll cover questions like what to do when asked to do something “wrong” (and maybe what the definition of “wrong” is in the first place) and if there are any items in particular that a data modeler/someone doing that task need to be especially aware of. Although these questions apply to anyone in the data field—or anyone in IT or business at all, for that matter—this conversation will be focusing on how they apply to data modeling specifically.


Participating will be Len Silverston, Denny Cherry, and Tamera Clark, with the whole apparatus MC’d/hosted by Karen Lopez (the one and only DataChick).

The broadcast is free, but you do have to register to get the sign-in information. That can be done at the webinar’s main announcement page (look for the round “Click to Register” graphic), along with reading full bios for all of us.

In addition to the Q&A and participant chat that will be going on during the discussion, you can follow the #BCDMOdeling hashtag on the tweeter. We’ll all be watching that as well.

Sign up, come out, ask some questions, and generally have a good time. Oh, and probably learn something, too. Can’t forget that.

High Availability in SQL Server Standard Edition (or Semi-Lack Thereof)

SQ Server 2012 brought about some major changes to the various High Availability schemes supported by the product. The most major of these is the introduction of AlwaysOn Availability Groups. As described early in that MSDN article, these can be over-simplified summed up as “enterprise-level database mirroring.” This is not quite the same thing as the existing Failover Clustering (which is still available), although AGs do require and run on a cluster.

From a Business Intelligence perspective, it’s a somewhat different situation: Analysis Services is cluster-aware, so it can be used in a Failover Clustering situation. SSRS has scale-out capabilities, which, if architected with it in mind, can provide some form of redundancy. SSIS has nothing built-in for high availability, which one could expect for an ETL solution (I could go on for a while about why HA ETL is dicey, but that’s not what we’re here for). AlwaysOn AGs don’t exist for any of these products, possibly because what the feature is/does doesn’t make sense for anything except, I would argue, SSAS. I’m mostly not here today to talk about BI HA, but I will come back to it briefly.

2012 ChangeS, Plural

With the introduction of AGs as “beefy mirroring”, it didn’t make sense to continue to support multiple, awfully similar, features. The result is Database Mirroring, introduced in SQL Server 2005, is deprecated as of SQL Server 2012. It’s not in the “Next Version” list, since this is the first time it has appeared, so there are at least two major version releases before it will go away entirely. (With SQL 2014 announced last week at TechEd North America, stay tuned for its documentation release to see if Mirroring has moved closer to death.)

The point is, it will be going away. What to do? Logic would suggest the intended migration path for DB Mirroring users would be to move to AlwaysOn AGs. Sounds like a good enough idea. I mean, since as mentioned, Microsoft themselves describes it as enterprise-grade mirroring, Standard does do two-node clustering, so let’s do that!

When They Said “Enterprise”, They Really Meant It

There is a potential problem with that logic. Specifically if one has been using (or would like to start using) the synchronous-only flavor of DB Mirroring available in the Standard edition of SQL Server, the available options have gotten realllly thin. See, AlwaysOn AGs aren’t available in the Standard Edition of SQL Server; at least not in 2012. This means if a company is running a few mission-critical DBs in a mirroring setup with Standard edition all-around, that setup’s upgrade path is very limited: in order to keep it, they wouldn’t be able to upgrade past whatever future version is the last one that includes Mirroring. For any other company who would like to deploy such a setup in the future, there will be a point in time when they won’t be able to—the feature won’t exist in their desired Edition of SQL Server.

Unless, of course, they want to upgrade to Enterprise. That’s…well…expensive. It always has been, but for most modern hardware, it’s a bigger jump from Standard to Enterprise than it used to be. There are plenty of other reasons worth spending the extra money to upgrade to Enterprise, but just because a system or DB is nosebleed-mission-critical doesn’t mean it’s huge, requiring table partitioning or something to run well. Especially at a small-to-midsize company, HA might be the only Enterprise Edition features needed. Is it worth the money? Wouldn’t it be nice if things stayed closer to how they are now?

What Should it Look Like?

This is the whole point of why I’m here: What do I want the HA situation to look like in Standard Edition?

I do not believe that High Availability options not named “Log Shipping” should be Enterprise-only. At least not entirely. I’m not saying Microsoft should make all four secondaries (eight in 2014) available in Standard. Nor am I 100% convinced that they should be readable in Standard like they are in Enterprise. I think that a single secondary, living on a second instance on the other node of that 2-node cluster allowed in Standard, usable for failover purposes only, would do the trick.

This starts to look similar to the mirroring setup currently available in Standard, and that’s exactly what I’m trying to do. I don’t think we should get everything without having to pay for it—ie, all of the nice fancy stuff in Standard. There are features that 100% should be only available in Enterprise. Full-on readable secondaries, with SSRS reports or SSIS load jobs pointed at them, is one of those things that should require a fatter check to MSFT.

Semi-Related BI Commentary

Since I’m filling out the SQL Server section of my Christmas List, I was going to say it would be nice to have AlwaysOn AGs for SSAS, too. After thinking about that for 15 more seconds, I realized that was dumb, since, due to the nature of SSAS, it would be pretty pointless—we would get the same thing out of some kind of scale-out architecture.

Such an architecture already exists, but I think it is terribly kludgey and almost has to be fragile in practice. So, why not make a “real” scale-out system based on the AG architecture? SSAS is cluster-aware already; just need some kind of thing to automate copying of the freshly-processed data from the Primary (“Data Processing Server” in that article) to the Secondaries (“Data Access Servers”). Add some awareness of this process to the existing AG listener process/service, and boom! I’ve never had to deal with quite that big of an SSAS environment, so this might be a terrible idea, but it sounds good in my head!

Except…I would expect this to be Enterprise Edition-only functionally. Sooo…nevermind.

Microsoft Surface RT: How is it?

Almost split my writing about the Surface into two posts, because, apparently, I have a lot of thoughts about it. Possibly still should have, as this puppy is almost 2500 words. I didn’t, so y’all are stuck with it!

We got our Surface on release day, Friday, as promised, even though I got pretty nervous by Thursday since we hadn’t heard anything about it. I had preordered it on the second day it was available, even though my original plan was to wait until whatever media embargo was in place to read reviews (primarily Ars’) before jumping onboard. As it turned out, sometime on the first evening, the standalone Surface went on 3-week backorder. At that point, I was worried that the others would do the same (my plan was to get the 32 gig with the Touch cover bundle), so I went ahead and pulled the trigger.

After the weekend working with it a little bit, I’ve decided that it is generally a good device, although it does have some issues (some fairly glaring). There are some things that it does fairly well. Altogether, I can classify points as good, bad, and ugly.

The Good

Of course, there’s the hardware. Overall, it’s fairly awesome. It’s pretty thin, the screen looks really great—considering what resolution it actually runs at—and although it’s a little cramped and unstable, you can use it on your lap like a laptop, as long as you sit still and don’t do anything weird with your legs. The fit and finish seem really great at first, although it does show some fingerprints on its metal bits.

On the hardware front, but a somewhat separate topic, is the keyboard. All I can talk about is the Touch Cover, but it gets the job done. I’m not sure if I’d want to type on it all day, because I sometime find myself hitting the “keys” a lot harder than I need to, which, if it’s sitting on a hard surface, makes the muscles in my hands/fingers hurt. I’ve been trying to train myself to not beat on it so hard, because you don’t actually need to—it registers intended key presses fairly well. There are some issues with it, though, which I’ll get to in a bit.

Moving on to the Software, in general, I just like having a Windows tablet again. It’s even better that it’s an OS that is actually designed to live on such a form factor, as opposed to XP (and later Vista) that no matter what anyone said (including me), just wasn’t really all that great.

For as much as the split-brain nature of Windows 8 is a bit annoying on the desktop (or a regular laptop), it really comes into its own on a touch-centric tablet. Almost all of the things that seem goofy on the desktop, including the Start Screen “Modern” interface itself, either aren’t as glaring or outright make sense.

Split-screen view of two apps on Windows 8 RT

Rowi, a Twitter client, running in the left-hand narrow band, while Metro IE sits in the main

One of the things that always seemed borderline-useless on the multi-monitor machine I have been running 8 on, is the split-screen multitasking view that the Modern UI has. It has turned into what is probably my favorite feature of the OS after using Surface. It also makes up for some of the disadvantages of the 16×9 aspect ratio of the monitor. What I find myself doing is running a Twitter app in the narrow piece on the left while I do work/other thing on the right. This is a feature that really differentiates Windows 8 from other Tablet OSes. It’s pretty smart in that when you swipe in from the left to switch apps, the “main” app is the one that gets switched, leaving whatever is in the sidebar alone.

Both applications are fully interactable (whoops, I’m making up words again) when in this state. The only problem is if the app isn’t rigged to behave in split-screen mode. Rowi there does pretty good in both wide and narrow split screen sides. The Desktop doesn’t, so much—in fact, in narrow mode, it just shows Aero-peek-esque window thumbnails, which is of dubious usefulness; better than a poke in the eye with a sharp stick, though. Overall performance of the machine is very smooth and fluid. I was skeptical of how smoothly app switching was demo’d–I never thought the rapid-fire swiping in from the left, cycling through all of the currently-running apps would go as well as it did in the demos, but it really does! We have seen some slow behavior when doing setup tasks—things like setting up email. Doing one of Tammy’s Gmail accounts caused it to just sit there and apparently process after putting in her email address and password. We cancelled it after a couple of minutes, tried again, and this time it instantly had the account configured and was starting to pull down mail. No idea what happened there, but this sort of thing did happen a couple different times. Nothing really major, but something does seem to not time-out or otherwise handle error conditions as smoothly as it could/should.

I tried to duplicate the horrid performance problem in Word that Brent showed, but was unable to—Word had no problem keeping up, and I even had Task Manager sitting on the desktop next to Word where I could see it (I did my test before upgrading to the Gold Office RT bits—this was still “preview”). What concerns me about this is the apparent inconsistency. For the exact same piece of hardware and the exact same software, I don’t think this sort of thing should be going on. Apparently this quickly became a known issue, has been fixed, and the patch is “forthcoming.” I’d like to know what some of the factors that can contribute to this are…

Other, minor things I think are good about the Surface:

  • The Modern/Metro OneNote app. It’s free in the Marketplace. Yes, it’s basically the same thing that’s included with the Home/Student version of Office that comes with the device, but it’s a lot more touch-friendly and beats having to drop to the Desktop to use.
  • One thing I do like having a real Windows Desktop for, is all of the usual admin tools—MMC and all of its snap-ins, full-blown Task Manager, and just about everything else one normally finds there.
  • If you’re using the keyboard, ALT-TAB works just like it always has, which is kind of cool.
  • The touch-based IE 10 (not the desktop instance) will navigate Back by swiping the page you’re looking at left-to-right. For some reason, this does trigger a reload on the new page, so it breaks the navigation chain (ie, you can’t go Forward again), but it is kind of a neat touch feature.
  • The split on-screen keyboard designed to be driven by your thumbs is pretty awesome.

As much as I’d like to say it is, it’s not all rainbows and unicorns…

The Bad

There are some bad things, and most of them are related to software (mostly the OS). I don’t know that any of these are deal-breakers for a technically-inclined person, but how they would play with a more general audience remains to be seen.

Starting with a hardware gripe: Although the Touch Cover is good—borderline magic—in general, the lack of good key feel does have some problems. Mainly, the ability to feel where keys that have to be reached for are—Control, Backspace, etc. This should get better as one gets more used to it, but it leads to lots of mis-hits in the meantime. I’m slowly getting better at this, but it’s kind of hard. I don’t think this outweighs the goodness of the Touch Cover, by any stretch. It’s still better than an on-screen keyboard, which I’ve basically never been able to train myself to use in any way that can’t be described as glorified hunting-and-pecking.

The biggest bad point I have about the OS is that there are a non-trivial amount of things that just aren’t that intuitive. Like…at all. There are a couple different reasons for this.

The first is that I try to do things like they work on Windows Phone. Things like multi-selecting message in the Mail app are completely different—on Windows 8, you side-swipe messages, as opposed to tapping beside them where checkboxes will appear. I guess it’s not like the invisible-until-you-hit-one checkboxes isn’t exactly good for someone completely uninitiated, but when moving within the same platform, I would have expected a little more consistency there. It also took me a bit of time to come to grips with the motion of flicking Live Tiles upwards to select them. Again, coming from WinPhone, I was expecting something like the tap-and-hold to bring up a context menu to select the tiles here. Lord help someone getting their first tablet or coming from a different platform.

Those are semi-minor nits that I can pick at in regards to the lack of UI intuitiveness. It kills me, because there are parts of it that work great, especially after reading about how to do some things (see the problem?). Switching between running apps? Pretty nice. Once you figure out how to do it. The split-screen multitasking thing? I’ve already said it’s about the bets thing ever. How does one know that’s even possible? Beats me! There are tons of things like this. It’s frustrating. What are they supposed to do, though? Send a manual with the thing? That’s not going to work. I don’t know that I have many good ideas here.

The split-up thumb-drive on-screen keyboard, although possibly the awesomest awesome that’s ever awesomed, is a little too wide for my hands. This is definitely not like the thumb iPhone5 commercial. It works for me, but it’s a stretch, and makes my hands hurt after a bit. Actually, the first draft of the last couple-three paragraphs I typed with it, lying upside-down in bed, and I’m about to have to stop.

The Bad bullet list:

  • Foursquare is pretty much going to be useless on this device without a GPS, which is unfortunate.
  • No USB charging. I know it would take hours to charge this thing with it, but I wish the option was at least there, to at least keep the battery level while continuing to use the device.
  • Can’t configure he touchpad. I know this is a total nitpick, and I’m not going to lose a lot of sleep about it, but I really wish I could, say, configure tap + tap/hold to drag like you can on a “real” touchpad.


The ugly list is populated by short, but borderline terrible, things:

  • The kickstand. It’s cool. Somewhat. Its fixed angle isn’t always the best angle. What’s worse, is since it’s metal all the way to the ground, I’m afraid it’s going to scratch the hell out of tables. Within about 5 minutes of having ours out of the box and sitting on the table, I was already looking to make sure I wasn’t going to have to be refinishing the top of our kitchen table. It feels scratchy, but I haven’t seen it actually do any damage. If you get one of these, be mindful of that.
  • The camera.
    Low-Light Surface Camera Pic

    Rough low-light indoor shot with the Surface’s front-facing camera. You can barely tell there’s a dog there with Tammy!

    It’s bad. I think it’s bad, at least. All I’ve tired to do is low-light indoor pictures with it, but its little punny LED “flash” isn’t anywhere near bright enough to do any good. I know the example picture here was a terrible environment to be trying to take a picture with a non-real camera, but I’m fairly certain my Samsung Focus could have done better. Also, according to the settings within the app, it is suggested the max res it can do is ONE megapixel, which I’m pretty sure isn’t right. Not sure what is going on with that.

  • I’ve had some problems getting apps to close (as far as I know: pull them out of the multitask list, then drag them to the bottom of the screen in one motion). About half the time I wind up opening the app again, not closing it. Don’t know if this is User Error or an actual problem.
  • I’m still waiting on a good multi-column Twitter app. Definitely open to suggestions here. I love Rowi on Windows Phone, but I don’t like their 8 app almost at all. Heavily disappointed so far in this department.


Bottom line: I think this is a good device. I think the OS (Windows 8) is good, just needs a possibly unfortunate amount of user training. One could argue whether or not that disqualifies it as “good”, but I don’t think it does—tools require training. I am confident that it will receive the polish it needs as time goes on, and the currently-sparse application situation will improve as well.

That said, I don’t think everyone who’s in the market for a tablet should run out and pick one of these things up. My personal guidelines for whether or not to get a Windows 8 tablet pretty much mirror my phone recommendations:

If you are used to/interested in making your device a fat client, with dedicated, non-OS-embedded client applications to do everything from take pictures to get wine pairings for your food, then the Windows platform probably shouldn’t be your first choice. This may be somewhat trollish, but I’ll also add that if you’re possibly more interested in simplicity over functionality, then this platform also probably isn’t for you.

However, if you are more about using your tablet for tasks that involve OS-embedded features like web browsing, email work, and at this point, content creation using the Microsoft Office suite, then I think it’s a no-brainer to at least look at a Windows RT tablet (even if not a Surface). If you are interested in running Photoshop on as small a device as absolutely possible, a full-blown Windows 8 tablet/convertible laptop is a really good consideration. Yes, Windows 8 in a touch environment will require some reading, tinkering, and effort to remember how everything works, but so do big, complicated desktop OSes. This won’t work out well for all people in the tablet use-case, but for those of us who are interested in that, Win 8 & RT tablets are a boon.

I definitely think you should get to a Microsoft store if you’re so lucky to have one close by to test-drive one of these devices. If you can’t, feel free to find me at PASS Summit next week, as I will most likely have our Surface on me. Tammy might have it, too, so grab whichever one of us you see first just in case. I’m pretty sure I’ll happily talk to anyone about this for probably longer than they’re willing to listen 😉