Free Newsletters

   All InfoWorld Newsletters
Database Underground | Sean McCown » TAG: Microsoft

April 14, 2008 | Comments: (0)

Is Windows finished?

In my inbox last week, I got a newsletter that splashed the demise of Windows. And while that may be a pleasing thought to some, it just isn't practical. For instance, my friends at Oracle are always moaning that they're forced to use Windows systems instead of Linux, but even they agree that Linux just isn't ready for everyday business use.
The argument in the newsletter was simply that Vista is so slow and bloated that it's causing problems that will cause users to switch platforms and that MS is just skating by on their reputation and not giving their customers what they want. And while part of that is true, I don't think anybody is going to be throwing Windows away for Linux or Mac anytime soon. I found a beautiful rebuttal to this on TechRepublic written by Jason Hiner.

However, to put in my own 2-cents I have to say that I'm incredibly disappointed with Vista. It's got some good ideas, but they're usually executed so poorly that they're almost not that worth it. The OS itself is so incredibly slow it's hard to do the simplest of tasks sometimes. I've got it loaded on a very beefy tower under my desk and it still just crawls along. There hasn't been a Windows release this bad in many years (does anyone remember Windows ME?).

I have a hard time believing that the Vista team uses this platform every day themselves because if they did, it would be fixed by now. They would put together an SP that would fix all of this. Now, maybe it can't be fixed. Maybe it'll take a major re-write to get to the bottom of what's wrong. I don't know. I haven't talked to the Vista team about it. All I know is that as an end user (and an experienced one at that) I'm very disappointed with the way Vista has turned out.

I wrote a long time ago how devs should have their bonuses based off of the quality of code they write. If that were the way MS did things, they wouldn't have released this code yet.

I live mostly in the SQL world and I know the SQL Server team has a policy that it won't go out until it's ready. I don't see that same philosophy in the Windows team. If this OS went through any kind of QA, any kind of testing whatsoever, then there's no way it could have passed. It's simply impossible for Vista to have performed really well in these cycles and then crashed when it hit the wild. So there are only 2 things to assume here. Either Vista wasn't thoroughly tested, or it was and MS just didn't care about the effect it would have on people and released it anyway. Because I'm not nearly as productive as I was on XP. But there are a couple features that I've come to rely on no matter how slow they are. Being on Vista is like having a really bad job that pays really really well. You absolutely hate coming in every morning, but you can't find anything else for the same money.

This is the exact thing that MS has had to fight for years now. They've gotten this reputation for releasing garbage and then just patching the hell out of it. When the SQL Server team started changing their philosophies I thought it was an MS-wide edict, but apparently it isn't. And MS is going to have to work really hard to earn back its reputation after this Vista fiasco. I'm just wondering how many times they have to be beaten up in the media to start taking some pride in their work.

I make my living with MS products, and I'm a huge MS supporter. I defend Windows, SQL Server, IIS, and everything else MS does against everyone who bashes them. But even I'm getting tired of making upgrades only to be in a worse position than I was before.

So which is it MS? Did you not test, or did you just not care?

Posted by Sean McCown on April 14, 2008 07:10 AM



February 07, 2008 | Comments: (0)

Still Just Disappointed

OK, I downloaded Visual Studio 2008 a couple weeks ago. I've got a couple AJAX sites that I wanted to start working with in the new environment. I also wanted to get more involved in LINQ.

However, I'm still just disappointed in VS08. It's got some decent features as far as deployment goes, but man, this thing is still just dog slow on vista. I don't know if the problem is vista by itself, or the combo, but it's quite often just a beating to do anything.

A good example of this is sometimes I will make a small change to a page. Maybe the text on a label has a couple transposed letters. So I'll go in and switch the letters and hit save. Now I'm waiting for no less than 2mins while the GUI freezes up and gives me the hourglass because it's trying to workout all that heaving coding I just did. Typically I code at night and something similar to this happens several times in a single coding session. I had the same problems in the last version so it's not like it's anything new, but I was really hoping for more this time.

Well, and like I said, this may have more to do with vista than anything else. I haven't tried it on XP yet. But I did (and still do) have very similar problems in VS05 on my XP box, so my gut tells me it's not all vista.
However, I created a new folder yesterday on my vista box. It's a very simple operation. I typed in the new folder name and hit enter. Then I waited for what I timed 2.5mins for it to unfreeze the window before I could do anything at all. Vista's not exactly a speed demon but it shouldn't be doing stuff like that either. I've got a lot of the cool stuff turned off because they brought down my box too much. And vista still performs worse than Win95 ever did. That's sad isn't it? Win95 actually performed faster than vista. Vista's got so many cool features, but most of the time it pisses me off so bad I just wanna throw it out the window. And my vista box isn't a piecer. It's a very beefy box with tons of RAM. So it should be able to handle vista w/o too many issues.

What brought this up was the launch later this month. I'll be going to the big launch in L.A. and I doubt any of this will come up. Maybe I'll be lucky enough to run across someone on the VS or vista teams that I can complain to. Because frankly, I'm just disappointed in both of these products and if Longhorn has the vista core, what are we in store for with our mission critical apps if we put SQL or Exchange on it? This is a valid concern since everyone I talk to almost has vista performance problems.

Posted by Sean McCown on February 7, 2008 06:30 PM



September 27, 2007 | Comments: (0)

The Password NIghtmare

There are several best practices for dealing with passwords, but one that gets overlooked a LOT is the one that says never use your personal account for services or processes. The reason usually given is because when you change your password, the processes will stop working. That's nice, but so often people don't care about that. They prefer the ease of being able to use their account because they know it has the rights they need, and they can control the credentials and not have to get any other groups involved.

Well, the other side of that is that these processes running under your account will get you locked out if you're not careful. If you change your password, and these processes are still running, you'll get locked out for sure. And just try to track down what's locking you out when you can't stay on the network longer than a few minutes at a time. Now you've got to involve someone else in your hunt.

I don't care how bad you want to... never use your personal account for anything other than logging in. Now with Yukon, you've got even more reasons not to do that since you can setup proxies under your account.

So if you reset your personal password one day and you find yourself suddenly getting locked out, here are some common places to look.

Services: Quite often just to get things going, a DBA will run some of the SQL services under his account. Don't do it. But if you do, start here for troubleshooting.

Reporting Services: Reports take credentials to connect to the DB. It's very common for DBAs to setup his reporting environment to just connect with his account. Bad idea.

VBS: It's also not that unheard of to see OS-level scripts running under someone's account. A lot of these things will use WMI to connect to different machines to be used as collectors for stats. That's fine, just have an account created for that.

Scheduled Windows Jobs: Here's another place you have to hardcode your password. You have to tell the job to run as somebody... just don't make it you and you'll be fine.

Stored Procedures: It's not all that out of whack to see SPs with openrowset and xp_cmdshell commands in them, and quite often these will have your account and password hardcoded in them as well. The most common place I see that is in mapping drives in cmdshell.

TS: Terminal Services sessions can be a big culprit too. A good best practice to get into is always logging out of your TS sessions when you're done. This is because if you have open sessions, TS will use your previous credentials and lock you out eventually. I used to do this all the time at my old gig. Our network guy was constantly having to search the network for servers carrying my rogue TS sessions. And they can be tough to track down, so just log out when you're done.

OK, those are the biggest ones. I'm sure there are some I forgot, but this isn't meant to be a comprehensive list, just a few ideas. But think about it. If something's locking you out, how hard would it be to track it down if you manage dozens of boxes and have processes running all over the place. It's next to impossible. especially since you get very little information from AD on the event. And if it's a .vbs that's hidden in a folder somewhere, or being called from another program like MOM or NetIQ you're just screwed. You'll be lucky if you ever find it.

So if you don't care about this best practice because your environment is safe and you're not in much danger of your account being used for evil, then at least consider this point and set yourself for success the next time you change your password.

Anyway, that's all I got.


Posted by Sean McCown on September 27, 2007 09:57 AM



September 11, 2007 | Comments: (0)

The Best Kept Secret

For a year or more now I've been seeing promises of Microsoft's new wireless keyboard dubbed, the ultimate keyboard. You can find a couple sites with pics and a nice demo on MS's site, but I have yet to actually see the keyboard. There's next to no news online anywhere about it, and even on the official site, it doesn't say when it's supposed to hit. Originally it was supposed to be out last Feb. Then I heard July. Now, I actually assumed it had been out for some time now and I just went online to see what kind of reviews it's getting, and I'm not seeing anything out there that wasn't there a few months ago when I checked. So either the project is taking much longer than expected, or nobody is carrying it or even talking about it.
I'm not going to go over any specific features, but with the hefty pricetag of over $200 I'm very curious to see what it comes with. Personally, I've been trying to get a hold of one for quite some time now so I could get away from this piece of keyboard I use every day.

I also can't wait to see if they've put anything in especially to capture the programmer market. I think there are some keys that could be placed much better for programmers of all kinds and it would be nice to see a keyboard actually take those kinds of things into account for a change.

Anyway though, if I can ever get one I'll let you guys know if it's worth what they're asking. But for now, I guess I'll just wait to hear something because the only thing harder than finding the keyboard itself, is finding info on it.

OK, I just got off of the press site for this product, and it appears as though now they're saying that it'll be generally available sometime this month. The pricetag is now $299 for the keyboard/mouse combo. Man, I sure hope they can come to the table with something that makes it worth that much.

Posted by Sean McCown on September 11, 2007 03:22 PM



August 24, 2007 | Comments: (0)

The Perfmon Dilema

It's no wonder that so many vendors are always trying to come up with a decent realtime monitoring tool. The MS tool Perfmon is good, but for monitoring a lot of counters, it can get kinda thick. The trouble is, for all the technology out there, and all the companies throwing dev dollars at this problem, there's still nothing that works as well as Perfmon. What can I say, it's just a great tool. And despite its problems with large counter sets, it's still my tool of choice. What am I going to do, use Spotlight? I don't think so.

That's really the reason why the tool is so successful at what it does though. It doesn't try to be more than it is, and it doesn't try to throw tons of those fancy pac-man graphics (or whatever game you kids are playing these days) at you. It just draws simple lines. Because of this it keeps a very small footprint on the server and just does its job. I like that. It may not be the prettiest tool out there, but it's the most reliable I've seen. And it's fairly versitile as well. You can save to different file formats, and replay scenarios, etc. You can even save to a database and do whatever you like with it after that. But Perfmon as a realtime tool just can't be beat. And anything that does as good of a job is probably similar enough that you might as well use Perfmon to begin with.

To show you what I mean, here's a screenshot of a Perfmon session from my production environment. You can see that there's no way you could ever read this, but in a case like this, you wouldn't even try. What I do when I'm looking at this server is switch it over to log mode and just look at the raw numbers. It would be nice if you could highlight some of them or color them, etc, but that would make Perfmon fatter and it wouldn't be as successful as it is. So I don't really mind the lack of functionality if it'll work every time.

BusyPerfmon.JPG

I think another driving force behind all the other realtime monitoring tools is lack of education. These days nobody wants to open a book and learn what a lot of these counters mean, and how they work together. So a lot of the other tools spend a lot of time and energy trying to interpret the raw data for you. Yeah, it can be useful sometimes, but how do I know that you've interpreted it correctly, or that it's what I actually want to see. Thresholds are another advantage to the 3rd party tools. You can set alarms to go off, and bells to chime, and colors to change, etc whenever a counter gets outside your parameters. And again, that's dandy, but it slows down the tool, and quite often creates a bigger load on the server than it can handle sometimes. Especially if it's already under heavy load... I mean, you're looking at it for a reason, right? And that reason is usually performance related. So if you're having problems with server performance, then why would you add more load to it and expect to be able to do anything except cause a bigger bottleneck? This is where a lot of the 3rd party tools loose me. And it's like none of them test their software on really busy systems. If they did, they would see what they do to the systems and either fix their product, or scrap it altogether. But that's not what happens. So they either test and they don't care, or they don't care so they don't test. Or maybe they just want their tool to be used on systems that aren't suffering from severe performance problems. Maybe they're only for moderate problems. Well, how do you know what kind of problems you're having until you get in there, and why would you switch tools for the different types of issues? You need to find a tool that works all the time in every scenario so you can keep your settings, etc. You also don't have to worry about learning how to do things differently in different tools. So you guys come back to Perfmon. MS is doing some pretty cool things with it these days in Vista, and I would imagine in Server'08 too.

Posted by Sean McCown on August 24, 2007 12:13 PM



August 13, 2007 | Comments: (0)

More on Access

OK, well, the response to my last Access post was a lot more than expected. There are some pretty good comments in there. Some of you made some very good points, both for and against my post. And for the first time in a long time I actually got on and approved comments so everyone could see them.

What I think is great though, is that a lot of you came out against my post, and ended up proving my point for me. I love it when that happens. Rather than dwell on those things though, I thought I'd just kinda explain why I wrote that to begin with.

I'm a professional DBA. It's what I do. That means that I deal with data all day. I backup and restore DBs, I develop DR plans, I spec sizing and performance for new servers, I troubleshoot indexing and performance issues, I recover corrupt data (as best I can), and everything else that goes along with being a production/dev DBA. In my group we do it all. I've been doing this for over 10yrs. And while I realize that there are plenty of you out there who have been in IT longer than I, a lot of you haven't been doing high-end DBs as long as I have.

So I'm looking back at some issues I've had over the past, and it hits me... a LOT of the issues I've been called in on have been due to end users pretending to be DBAs. The issues have been everything from 'we didn't put PKs/FKs on our tables and now we've got thousands of ghosted records' to 'I accidently updated all the records in my table and now we're completely screwed cause I didn't back it up.'

The issues are so varied there's no way I could recount them here, but those of you who support Access know what I'm talking about.
There are simple design principles that end users just don't know. And there's no reason for them to know them either. They're not DBAs. So why then do they want to develop their own apps? I get that it's quicker to use a tool like Access and keep the IT guys out of it. Yeah, sometimes things get over-engineered, but if you leave it in the hands of your end users then things will get under-engineered with almost no thought put behind it.

There's a reason we have DBAs. They know what they're doing. Well, they're supposed to anyway. And for every user that tells me that his Access solution is good enough, I always end up asking them a series of questions that makes them think otherwise. I've always felt that any data worth storing is worth protecting. It's clearly data you want, so why wouldn't you do what it takes to protect it? InfoWorld Daily just last week had an article on the true cost of data breach. So what cost would it be to you to have your employees be able to not just steal your data, but also the entire DB and application?

A couple of the comments to the last post said that I was wrong because there are tons of fortune 500 companies using Access all over the place. Do you think that makes one bit of difference to me? Do you think I really care what those companies are doing? Big companies can take chances with their data the same as everyone else... it doesn't make it right.

Even MS agrees with me. Look at how they're starting to treat SQL Server. In the old days, SQL shipped fully open. You could do whatever you wanted right out of the box. Now they're starting to shut things down more. With Yukon, you can't just install the DB and have it operational. You have to specifically turn on external connections. You also can't use openrowset or cmdshell right out of the box anymore either. The theory is that if you specifically turn something on, you're aware of its presence and are more likely to secure it and manage it properly. That's a method that's worked with Oracle for years.

I've always said that the general population of Oracle DBAs knows far more about Oracle than SQL Server DBAs know about SQL Server. That's because SQL has always been so incredibly easy out of the box that pretty much anyone could get a working DB up in just a day or 2. That's just not true with Oracle. It's becoming more true as Oracle's trying to become more user-friendly though.

So anyway, why do you think MS is putting all this effort into locking down SQL and making you jump through more hoops to open up functionality in SQL? Do you think it's because they're idiots, or because they've gone through their support records and saw where the bulk of their issues were and decided to start protecting us from ourselves? After all, any data loss we suffer in their product instantly becomes part of the reputation of that product whether it's their fault or not. So why wouldn't they follow this same reasoning with Access? Why give users another avenue to create a data store that's ill-conceived and basically unmanaged? From my perspective it just doesn't make sense. Like I said earlier, there's no such thing as trivial data. You either need it or you don't.

Most of you guys seem to treasure Access for its GUI abilities. Almost all of you agree with me on its merits as an actual DB. So why not pressure MS into making it a front-end dev utility? Have its functionality added to Visual Studio or the like and be done with it? I'd probably have a lot fewer problems with Access if it were just a dev environment and didn't put your data at such risk. Or if people used it the way they should and just connected to server-side DBs instead of using it to store data. That's the problem, isn't it? People have been given a pistol without a safety, and they insist on looking down the barrel.

Remember, in DBs, just because you can doesn't mean you should. MS even took object-level restore away from us in SQL 7 because of integrity issues. They wanted to protect us from ourselves. A position they're finally reconsidering. MS isn't stupid. They've got a lot of smart people working for them. And they know how to manage data. So with the way they manage SQL and the way they manage Access, I can only conclude that they're saying anything in Access isn't data worth keeping.

Let's face it, as a company, there's just no reason to give your users the ability to walk off with your entire DB and application. Why even take the chance? And there's no reason to let amateurs create DBs and apps. You're just asking for trouble. Look at it this way, it goes back to a lot of my previous posts where I talk about the lack of respect for DBAs and data in general. You'd never find one of these companies letting some random guy in IT file their taxes with some off the shelf home or small business tax software, would you? Of course not. They take their taxes too seriously. And you'd never find a company letting some random secretary file their numbers with Wall Street, would you? Absolutely not. There's too much at stake. How about making sales deals? Could I just make a sales deal with someone for my company? I mean, why spin up a project for it, or go through the channels and get a sales guy involved? They'll just complicate things and a month later we'll still be waiting. I can make the deal in just a couple days. I'll even go through a day of sales training if it makes you feel better. No wait, here's a better idea. I'll go through a day of training, and then I'll go negotiate our health plan. Maybe I'll choose where our 401K will be invested instead.

All of those suggestions are ludicrous and no company on the planet would even consider any of them because every one of those things takes a highly skilled professional to do properly. Someone who knows that field inside and out and knows the pitfalls. But data... hell anyone can do that. Let's let the dept secretary run an Access DB on her workstation. She can build it and maintain it too. What's a foreign key? Oh, that's not important. What am I going to do if someone updates all the data a table and there are no log backups? Just never you mind. And how often should we back it up? I'm sure someone else will be in charge of that. What about data theft? Oh, that's just an old wives' tale. Is this data already being stored somewhere else? Who knows? What about integration with other systems? Will other people find this useful? Now you're just talking crazy. It's really like being your own lawyer. An end user who writes his own application in Access has a fool for a DBA. At least if you went with the client/server model you'd have to study up some more and you stand a little bit better chance at success.

Now, that's not to say that Access doesn't fulfill a purpose right now. From all the comments I've seen, almost every one of you values it as a front end tool. It's just that MS should make it a front end tool and leave it at that. They should take steps to phase out the DB portion of the product. But that's just my humble opinion. A lot of you were getting very upset at the mere mention of doing away with Access. I don't know why though. It's not like MS is going to do it just because I said it. I could see it now. The Access team sitting around going, oh man, now I've gotta find a new job. Sean said we should get rid of Access. Oh well, I liked the tool and this job, but what can I do... Sean said it has to go.

I'm gonna go off on one last diatribe and I promise to keep it short. Every enterprise data modeling class I've ever seen taught by a college has been taught with Access. Seriously guys, what the hell? While I've seen modeling classes taught in other DBs, they're usually a section in a line of courses for that specific product. But for general and enterprise modeling classes, they're always in Access. I'm not even going to touch that one.

Posted by Sean McCown on August 13, 2007 02:06 PM



August 08, 2007 | Comments: (0)

Die Access Die!

I've taken a pretty good look at Office 2007 and the new Access, and the one thing that goes through my head is the same thing that goes through every time I see Access... when is MS finally going to just get rid of this thing? What real purpose does it really serve anymore? For tiny shops, you still have to buy it, and MS has other solutions that are just as easy and completely free.

You can get SQL Server Express for free, as well as Visual Studio Express. And Visual Studio 2005 comes with lots of templates and wizards so creating whatever code you need should be fairly easy. I just think that continuing to support Access is fairly useless and it's time for it to die.

Not only has Access run its course, but using SQL2K5 Express/VS05 is actually smarter. Not only are they free (and you still have to buy Access), but it's a much smarter upgrade path. I seriously doubt that any of the small businesses out there dream of staying exactly where they are, and never want to grow at all. And as a business owner, you need to look into the future and consider things that will put your company in a good position on down the line. Well, making the decision to stay away from Access is a good business decision. Not only will you not have to buy Access (my solution is free), but when your business grows, the upgrade path from SQL2K5 Express to Workgroup or Standard is super easy. In fact, you have but to attach the DB files to the new system and your application works as before. You don't have an upgrade path with Access... it doesn't exist. When you out-grow Access, you have to convert to SQL Server (or other RDBMS) and then upgrade your front-end code to match. It's a huge pain and sometimes you can't match things up perfectly and have you re-architect. The IT world is full of stories of Access to SQL conversions.

SQL files also don't get corrupted like Access files do. You put an access file on your server, and pretty soon you'll need to fix corruption on it. Let's face it, Access is an out-dated, small-minded way to do things. If everyone did business in Access, you'd have huge file server farms acting as DB servers.

SQL is also much easier to manage. With Access, you can have the files anywhere on your workstation, or the server. You don't know where to start looking, and if you have a DB you don't use for a while, and you forget where the file is, what do you do? It's almost impossible to find it if you don't know where it is. Someone can also come along and delete your DB right out from under you and you'll have nothing. Or someone could just move it for you and not tell you where it is. There a quite a few things that can happen to an Access DB. With SQL however, you just don't have that problem. The DB is in SQL Server and it stays there. As long as the service is running nobody can delete your files, and if they do, you probably have a backup. Also, you can't forget where your data is stored on SQL. You just connect to the server, and the DB is right there. You don't have to maintain a shortcut to all of your DB files and keep up with where they are. Managing a lot of Access DBs is just ridiculous when you compare it to how easy it is to manage SQL DBs.

Access also doesn't have the same facilities as SQL for scheduling jobs, managing security, BI, reporting, etc. You just get far more out of SQL than you ever could out of Access... and did I mention Access isn't free and SQL is?

Anyway, join with me and lets all kill Access.

Posted by Sean McCown on August 8, 2007 06:35 AM



July 30, 2007 | Comments: (0)

Visual Studio... Get With It!!

One of the things that really frustrates me with VS 2005 is working with some of the server controls that don't work the way you think they should. Take the menu control for example. It would really be nice if it did more with direct data sets. Instead, you have to present it XML data, but only from like an actual XML file or the like. You can't just attach it to a SQL SP that spits out For XML. And even if you have a flat menu structure, you can't just tie it to a simple resultset and have a nice dynamic menu. Of course, these can be done at all, but not without some pretty thick coding. And the point of the whole thing isn't to code that much, but to have these controls do the work for you.

Another good example is binding data to a calendar control. VS doesn't do it from the calendar properties so again you find yourself up to your elbows to code the solution.

More often than not, I find myself not using these 'easy' built-in solutions provided by VS because in practice, few of them are that easy. Take the login control. You can have it be SQL driven, or windows driven. That's great, but what if I want a windows login site that's available from the outside world. It would have to provide you a method for logging in with your windows credentials when none are present. Now, I know this can be done because OWA does it just fine. But it's not easy, and it's not part of the properties setup by the control. And there's no easy way to use complex custom mappings from your windows creds to your application security. Let's say that I want to use windows auth for my ASPX pages. And inside my DB I have certain users or groups that have rights to individual pages or even rows of data that's determined by some logic inside either the front end, or the backend. There's no real easy way to map your windows acct to that security model. You can do it with the SQL auth because you can point it at the DB and tell it where to get the security, but with Windows you're left holding the bag with a much more complicated solution.

Let's see... oh yeah, I was talking about not using those solutions. Yeah, another reason I tend to not use things like the menu control, etc is because of the way they're implemented. You have to put them inside a form tag and once you get them inside a master page and put 3-4 other form controls on there, it can be hard to manage them and get them to work correctly. A lot of times it comes down to using one control or the other and it's just a pain. And again, even if you could use them all on one page (which I'm sure you can), it's so much trouble you're better off just using something else and saving yourself the hassle.

What got me on this topic were a couple vids I saw from TechED on LINQ. Frankly, I didn't really get the whole LINQ hype until I saw that one vid online. It's given by Luca Bolognese, who's about as Italian as you can get. He's always talking about Ferrari and ravioli, which is great if you ask me. Anyway though, it's an excellent intro to LINQ and he actually managed to get me excited about VS'08 which is something that I haven't managed to do yet. So I think I'm actually going to go download it this week and try to do some LINQ stuff.

One thing that I'm wondering about though, is whether they're actually addressing any of these other concerns. I'm not the only one who's noticed these either. And these are just the tip of the meatball. I do love .NET for how easy it makes some things, but you've really gotta do more these days. It would be nice if they would start crossing the finish line on some of these things and actually making some of these things easier to use. To this day, I still haven't used the Login control because every time I go to setup my provider in the site properties, I get an error. I'm sure I could troubleshoot it and get it working, but so far it's been easier to use a table adapter and just get on with my life.

Not to mix topics here, but the same thing goes for SQL Server and SSMS. Yukon was basically v.1 for a lot of these tools so I cut them a lot of slack. If we still see a lot of the same issues in the Katmai toolset I'm going to be a lot less forgiving. Especially if they're problems I know people have been telling them about for quite some time. I realize they can't put every feature everyone comes up with in the product, but there had really better be some significant improvement in the way these tools work or there are going to be a lot of SQL guys hitting the roof... myself included.

Anyway, I'm just waiting to see what they come up with.

Posted by Sean McCown on July 30, 2007 11:55 AM



February 12, 2007 | Comments: (0)

My First Kill

That's right! I've claimed my first victim-- Director of Product Management for SQL Server, Francois Ajenstat. Shortly after I posted my blog, I got the most fabulous email from him. And I'm sharing it with all of you guys (with Francois's permission) because it's not only good information, it's just funny.

You almost gave me a hard attack when I read the “Robert was rude” part… I was going to go off and kill him. J Thankfully, the next paragraph made everything much better.

Forums… good or bad… well, let’s just say that every month in our Senior Leadership Meetings, we review the amount of activity on the SQL Server forums, the response rates, dev team participation, etc. The dev team is measured on engaging with customers/community (on top of other things of course). But again, as I mention below, that only works if customers can find the forums and actually use them.

And here's a snippet from another email you'll find impressive.

As an extra piece of info, the SQL Server product team has committed to recording 35,000 hours of customer contact this year through activities such as Customer meetings, Newsgroup/Forum posts, Customer labs, Customer events (like PASS and TechEd), Blogs, etc. That’s a whole lotta customer interactions. And once again, that’s another metric that we review monthly.


Now, I'm gonna have to say that I'm officially impressed. I had no idea that they held their developers accountable for issues brought to the forums. And my guess is that none you you did either, and that's why I'm printing this for everyone. I think that with all the bad press MS has gotten in the past (some of it by my hand) that the community should know the things they do to restore faith and hold themselves accountable to their customers. So with the addition of this new information, this is less of a forum, and more of an online support mechanism... for free. This is the kind of support we dream about. Think about it... you would ordinarily have to open up a case with support to get solid answers on a lot of things like this, but if you've got an issue that's not all that urgent, a forum like this is the perfect place to get answers from the people who actually write the code. I've known for quite some time that MS engineers shark the forums, but it never really meant that much to me because it doesn't really mean anything. Encouraging engineers to shark the forums is like encouraging your kids to clean their rooms. It won't happen often enough to count on. And getting the majority of your answers from the general user community in the forums is also hit and miss. The general public doesn't have the answers I typically need, and the ones who do are usually too busy with their own jobs to post that often. However, when you start holding engineers accountable for the activity in the forums, then that becomes a completely different story. Now you're telling your kids that they can't go out and play until their rooms are clean. It's all of a sudden relevant to them.

I've often said that devs should not only be held accountable for their code, but their bonuses should be based on the number of bugs that hit production. There are some unseen circumstances, but in general, if you've got a dev who consistently puts code into production that has bugs, then his bottomline should be effected. I bet he starts writing better code next year.

Now, as some of you may have noticed, Francois (oddly enough he doesn't have a French accent) made mention of another email in that snippet above("But again, as I mention below..."). So just for completion's sake, here's a piece of that email too, because I think it outlines the SQL team's attitude towards its community.

1. Setup experience: Upgrade/Uninstall scenarios are critical for customers. If we ask them to test our products we should make sure that they have a good experience moving from one CTP to the next or to the RTM. That doesn’t mean that upgrade/uninstall will always be easy but that it can be done and is well documented. I know that this is a top priority for SQL Server as we think of the CTP process for the next releases

2. Forums/community support: I think that I had mentioned it on the phone a while ago but I’m a big fan of the community and using the community for support. In this case, I know that there are very good forums that are monitored by the development team which is a great place to get assistance. We need to do a better job making sure that customers know about these forums and can easily find them.

OK, that's all I've got this time.

Posted by Sean McCown on February 12, 2007 07:06 AM



February 09, 2007 | Comments: (0)

Is Redemption Possible?

Before I start the actual blog post I've got a little house cleaning to do. I got called down by a reader who says I should define my terms. As it turns out, he's a Unix user and isn't familiar with our acronyms, and while it's usually a safe bet that my readers are Windows guys, this is a small enough request that I certainly don't mind doing whatever it takes. So, just to catch you up, the 2 acronyms I used in the last post are:

CTP: Community Technology Preview... this is the new MS term for a beta. And while I'm sure I'll get an email from some marketing guy explaining the differences, as far as you Unix guys are concerned, it's a beta.

RTM: Release To Manufacture... this is the final version of the product that goes to market.

OK, now on to today's post.


To be brief, of course redemption is possible.

I recently wrote a blog about my bad experience with trying to uninstall VSTE for DBAs. I thought now that the issue is resolved, I should come on and share the results with you guys.

OK, so when we last left our hero(me) he was stuck with having to uninstall VS entirely or rebuild his box. So what I decided to do was uninstall. Unfortunately, that didn't work(I didn't figure it would). So I then used the utility MS gave me that completely wipes any trace of VS or the .NET framework. And you know what... that didn't work either. Everything except VSTE was uninstalled. That's just great. So now, per MS, my only option was to rebuild the box. So I decided to try to get it off myself. I ran a registry search on 'Visual Studio Team Edition' and just killed anything that came up. Oddly enough that worked, and didn't destroy anything else. So, I was able to reinstall and everyting appears to be working just fine now.

Now, here's the new part. I got a call this morning from Robert Merriman. He's the guy who actually wrote the setup for the VSTE in question. Apparently good news travels fast and this blogging thing works after all.

Unfortunately it hasn't changed MS's attitude at all. Robert was rude, insulting, and completely apathetic to my problems. In fact, I got the feeling that he was only calling because someone threatened his job if he didn't. At one point in the conversation he actually told me that MS was starting a list of troublemakers who would never be allowed to install betas again, and he was going to make sure I was on it or die trying. Whatever dude...

Actually, that whole last paragraph was just for fun. I've got this vision in my mind of some exec at MS getting this glazed look over his face and having to remember to breathe as he reads thats. Robert was incredibly helpful, and extremely polite. I can tell that he really likes what he's doing and actually takes pride in the code he writes. That's right, I said Pride. That's not a word you hear too much in the software industry anymore. Anyway, thanks for the help Robert, if only it had been a day sooner.

Robert did share some things with me though that I'd like to pass along to all of you. The first thing is their team forum. Which can be found here: VSTE for DBAs forum. This is evidently the place to go to get some real help with something.

There's also the Team blogs at: Blogs. I'm sure you won't be able to get any actual help here, but it's always good to keep up with things.

Now, how seriously do they take forum problems... that's the question. Because telling people to go to the forum and actually making it worth their time are two different things.
And to this purpose, they've added a customer feedback form and Robert assures me that they take this very seriously, and ordinary DBAs get the same treatment as worldwide celebrities like me.

And that brings up another point... forums. One reason that I don't really go to forums much is that in the past, I've never really gotten much out of them at all. I'd submit a question that would go unanswered. I'd submit it again, and it would again be ignored. So forums in the past haven't really been much help. It's funny isn't it... how long initial impressions can last?

I also didn't know they even had a forum, which is at the heart of something I was talking to MS about a couple months ago. How does a big company like MS get the word out on things like webcasts, forums, and other resources they publish to help the community? Because they were telling me about a webcast I should've seen, and I said, well, I would've had I even known about it. And I consider myself to be someone fairly in-the-know about SQL Server stuff. So if I missed it, then how is the ordinary user going to hear about it?

As well, this whole thing also proves to validate my initial blog on this issue. Why did I have to blog to get decent support? There are all kinds of things I could say about that, but you get the idea.

I also have more to say about the forums and other sources, but I've got a blog on this topic already planned and I don't want to step on my own toes.

I've only got one more thing, and that's on reliability. I touched on this in the original post, but it could stand some elabotation here. Let's look at the situation that I just finished. I got a guy on the phone who gave me less than accurate support, and I blogged on it. Now, look at what that negative press does to a company like MS who, let's face it, hasn't had the easiest time in the press over the last 10yrs. That little bit of negative energy is going to make its way to someone reading this blog, and is going to get told to someone thinking of installing an MS product. Then it's going to get told again and again and again until it's so distorted I wouldn't even recognize it. Now, of course, I'm redeeming them here with this post, but what if not everyone who read the last post reads this one? That's the problem with things like this. You can't be guaranteed you'll reach the same audience every time. And that's why companies need to make a greater effort to please every customer, not just the world-famous ones.

Posted by Sean McCown on February 9, 2007 10:49 AM



February 07, 2007 | Comments: (0)

Microsoft's Ridiculous CTP Upgrades

With frequent bloggers like myself sometimes coming up with topics can be challenging to say the least.  Then at other times topics are thrust upon you no matter how hard you try to fight it.  This is one of those times.

I was one of the unfortunate ones who installed the CTP of the Visual Studio Team Edition for DBAs (VSTE for DBAs).  Now I'm getting ready to install the RTM version and I'm having trouble uninstalling the CTP.  I don't have the CD anymore, and the code isn't up on MSDN.  So, I'm stuck with trying to uninstall my CTP so I can install the RTM.  And did I mention that the RTM won't uninstall, nor will it install on top of the older version.  So, I did what any hard-working conscientious DBA would do... I called my guys at MS to see how to get it uninstalled. 

Now, mind you, I've got VS2005 up and running on my  Vista box and fully patched and working well.  And MS not really trying anything at all to get me uninstalled, their only 2 suggestions have been to uninstall VS entirely along with the .NET framework and WinFX.  Then use this tool they have that will completely wipe all traces of it off of my box, and then reinstall and put the new VSTE on there afterwards.  The 2nd solution, and you're going to love this one, is to completely rebuild my box from scratch.  Again, keep in mind that they've done nothing at all to try to uninstall VSTE by itself.

When Yukon was still Yukon, you could uninstall those CTPs by hand if you needed to.  It took a few minutes, but it was far less time than rebuilding your box.  And what's really important, you didn't have to hold on to every scrap of media you had in order to get rid of the previous version.  It was easier if you did, but it wasn't necessary, and the methods for doing it manually were easy to come by.  I think I even posted it in blog to make it even easier.

You would think that it's fair to have to uninstall VS completely since you had to uninstall Yukon completely.  However, VSTE for DBAs is just a plug-in to VS.  It requires VS Pro.  So, you should be able to keep the host application in tact and just deal with the plug-in.

What I'm left with here is a sense of foreboding for end users.  I'm lucky in that I'm a journalist and I get special attention that ordinary users don't get.  If you top that off with the fact that I'm doing this to try to kick off the official InfoWorld Review of the product and it becomes even more appalling.  If I can't get anything out of them, what chance does an ordinary user have?  It's typically a good idea to hold off on putting CTPs on your servers unless you have a dedicated test box.  It looks like now it's getting practically impossible to expect to be able to install a CTP on your desktop either.  If the answer to uninstalling a CTP from my box is to rebuild, then there's something seriously wrong with the CTP program.  It's just flatout lazy coding.  And I tell my devs all the time that laziness is no excuse for bad code. 

MS, here's a hint... whenever you provide someone with beta code, you need to also give them a way to get it off.  Perhaps the RTM should have some knowledge of uninstalling components.  It's just a thought.

I'm really not writing this out of spite.  I can see how it would be taken that way because the timing's right, but I'm not.  I'm honestly concerned for the end users who don't have the connections at MS that I have.  What is an ordinary user going to do?  It's happened to me a few times when a company has blown me or my company off until they found out I was in the press and then they tripped over themselves to fix the problem.  Why do I have to have the ability to publicly call you out before you'll own up to your responsibilities?  Most customers don't have that luxury, and I really feel for them.  They're just stuck.  And it's no joke either because not only does word get around, but so does IT staff.  People in our industry change jobs like every year or so, and it takes but one bad experience to turn someone against you.  And you may not care because they're at a young startup and won't make up hardly any of your customer base, but beware... that guy may go on to a Fortune 500 company next month and if the topic of your software comes up, he will tell everyone what he knows about you and how you deal with your customers.  Now you're out a huge client and you'll never know it.  I've stopped more software purchases than I can count based on my initial experiences with any given company.  And it's funny how long that sticks with you too.  People remember a really bad experience for a long time.  Putting a dumb support engineer on the phone can ruin a company's reputation.  I quite often judge a company's customer service by their pre-sales support on something really small.  If they're not very willing to help you spend your money, then they're not very willing to keep it.  It's like the cell phone companies who put together these really amazing deals for new customers, and exclude the loyal customers who've been with them for a long time.  It's ridiculous.  You're going to reward someone who could take off next month by giving them an excellent deal, and punish the ones who have proven you'll get their money.  Nice move.  Anyway, that's all I had to say.

So instead of spending my evening being productive with anything, I'll be wiping my box clean of VS in an attempt to get this review off the ground.

Posted by Sean McCown on February 7, 2007 01:49 PM



January 26, 2007 | Comments: (0)

Don't Get Left Behind

I always like to pass along things like this when I get the chance. My PR rep from AppDev just sent me their roadmap for the first part of this year, and so far it's looking pretty good.
Most of you know how big I am on training. I don't think DBAs should rest on their DB knowledge alone. These days there's so much more to it than that. You have to know so much more that you used to.

Anyway, here are some of the courses they're putting out, and I for one can't wait. I'll be reviewing them as they release, so I'll keep you guys updated on the progress of that.

I'm serious guys... AppDev is some of the best training out there, so if you want to get started with any of these technologies, this is an excellent place to start. If none of you have ever seen any of my reviews on their material before, you can go here.

**Building Web Services Using Visual Basic 2005, ships 2/28/07
**SQL Server 2005 Analysis Services, ships 3/15/07
**SQL Server 2005 Integration Services, ships spring 2007
**Advanced .NET Framework Using Visual Basic 2005, ships spring 2007
**Advanced .NET Framework Using Visual C# 2005, ships spring 2007

If you click on the links, I've got the TOCs on PDF so you can see what they'll cover. I don't have the TOC for SSIS yet, but I hope it's coming soon and when it does, I'll post it.

Posted by Sean McCown on January 26, 2007 03:10 PM



December 15, 2006 | Comments: (0)

VISTAphilia

I've got one issue that if any of you guys on the Windows team are listening, I could use some guidance. Keep reading...

So I finally took the plunge and upgraded my main workstation to Vista. What can I say except that I completely love this OS. I bought a top of the line Velocity box a couple months ago in preparation for this, and I'm able to take full advantage of the new graphics. It's just a beautiful design and I think it far out-does anything Mac and Linux are doing. I'm already taking advantage of a lot of the new features as well. I'm not going to go into too much detail about the wonders of it all because you can read that anywhere.

What I do want to talk about though is my upgrade experience. This is just kind of a primer for those of you who are thinking of making the leap yourselves. First of all, definitely run the >upgrade advisor first. There are several things that will stop your upgrade. Most of them are apps that are incompatible though, and once you get past them, you should be ok.

I had to uninstall >Roxio and >Acronis before I could upgrade, but no big loss. I hear though that Acronis now has a Vista release. Anyway though... the upgrade itself took around 3hrs. I did an upgrade in >VMWare before, and it was much quicker, but my workstation has a lot of apps on it, so it took quite some time. The upgrade process rebooted several times and often times seemed to be dead, but regardless of how long it takes, it's still plugging along. When it finally came up though, it was flawless. I had some initial concerns about my wireless USB card, but when all was said and done, the driver mapped just fine.

There were a couple driver problems, but they were very minor and I got them worked out with little trouble. The sound card was one of them, and I was lucky that there was a beta Vista driver online that I was able to plug in just fine. There's some PCI controller thingy (sorry to be so technical) that doesn't seem to have a compatible driver, but things seems to be working just fine without it, so no blood no foul I guess. I had some trouble with my DVD burners, but once I upgraded my motherboard chipset drivers, they started working again. Finding the chipset drivers on Intel was very easy, and I had what I needed in just a couple minutes.

My only outstanding issue is with the Vista Help. For some reason, every time I go to bring up Windows help on anything it tells me that it can't find the site. Then it just searches forever. I let it run overnight one time and it never returned anything. So if there's anybody on the Windows team reading, I could use some help on this.

Otherwise, I've got no problems, and I'm just Lovin' life. Windows team: EXCELLENT work!!! Maybe the SQL team could contract a couple of you boys to do their front end as well.

Posted by Sean McCown on December 15, 2006 07:15 AM



October 26, 2006 | Comments: (0)

Complain Early. Complain Often.

I was discussing some of the missing features with one of the SQL Server product managers a couple weeks ago, and he said something that I hadn't really thought about before. I asked him how some of these things could have made it out of beta, and he said that beta cycles are very good at shaking out usability issues. He's right too. Think about how you look at beta software. You always judge it for major features, and if something's missing from the GUI, you always just assume it'll be added for the final release. I've said that many times myself... "oh well, they'll get around to it. This is just the beta."

The problem is that everyone says that and you can't test against everything. So things get overlooked. The thing to do is complain about every little thing as early as you can. On more than one occasion MS has told me that every single issue gets a developer assigned to it and you can see the progress of your issues.

Personally, I love that. Not only will you get some really good ideas, but you're making your customers part of the cycle and if they know their issues are actually going to be addressed in one way or another, they're more likely to submit them. Everyone wins.

So go to the website they've setup to track these issues and complain about whatever you like. They can take it. Be very liberal with the amount you use this service too. Use it as much as you like. The only way they're gonna shut us up about it is to actually fix the issue.
Here's the link: http://connect.microsoft.com

Posted by Sean McCown on October 26, 2006 08:33 AM



September 04, 2006 | Comments: (0)

The Vista Upgrade Debacle

I realize this is a DB blog, but some things effect us all. I just tried upgrading to Vista and it was a mess. I just bought a Toshiba Satellite and it’s supposed to be Vista-ready. I ran the upgrade option on the Vista install, and it went ok. The only thing that it said would need to be updated was my wireless card, so I thought I’d give it a shot and deal with that problem later.
The setup took quite a while, but most of it was unattended; I had to do very little. Then, it got to the final stage and rebooted. It got in this reboot loop where it wouldn’t do anything but try to reboot. After about the 3rd or 4th time I noticed that it was flashing a bluescreen for about a millisecond before it tried to reboot again. So I was stuck. I tried safe mode but that yielded the same results. So I entered setup and it has a repair section there where you can make a number of choices to diagnose the problem. I chose the section aptly named, diagnose and repair start up problems… or something similar to that. It sat there for quite a while diagnosing my box. I let it sit through 2 Law and Orders before I realized it probably wasn’t going to do anything. I then had to go and figured it wouldn’t hurt to let it run while I was gone, so I left for a couple more hours. When I returned, it was still churning and since there’s no progress bar I have no idea what it’s actually doing. I cancelled it and it came back and said that it didn’t find any problems. Ok, fine… now what… I tried the memory test and that came back ok. The only thing left to do was to rollback the installation to XP. I was surprised how quick it was and how good of a job it did. I think I’m noticing a couple small quirks now, but it’s hard to say what’s causing it, so I’m not going to blame it on the rollback.
So, the install rollback is cool, and worked very well for me, but the install of Vista itself was a wreck. Had it given me something I could troubleshoot then maybe I could have fixed the problem. As for now, I really hope they improve the process. Bluescreens are usually driver related, so you would think that safe mode would have done the trick, but no such luck.
Anyway, I enjoy going to the Vista site and looking at all the cool pics of the OS even if it’s beyond me right now. I’m not sure who to be more upset with right now though… MS or Toshiba.

Read my book reviews at:
http://www.ITBookworm.comhttp://www.ITBookworm.com

Posted by Sean McCown on September 4, 2006 06:15 PM



Technology White Papers

 

InfoWorld Technology Marketplace

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
» BUY A LINK NOW

Sponsored Technology Links