Posts
254
Comments
120
Trackbacks
120
November 2005 Entries
Some tips for upgrading to Exchange 2003 SP2

It's been a little over a month (where does the time go?) since Exchange Server 2003 SP2 was released. Now that I've deployed it to a few systems, I wanted to take a moment to share some of the potential snags and gotchas you might encounter as you're looking at deploying SP2.

posted @ Thursday, November 24, 2005 3:48 AM | Feedback (2)
A SQL Server trick: updating the values of IDENTITY columns

When I was recently troubleshooting a blog post that went missing, I ran into the following issue and thought I'd share it with y'all.

Each article or post on my blog lives as a separate row in a database table. So when I discovered the missing post, I went poking around the various tables in the database. Sure enough, there was an older copy of that table that contained the missing row, so I figured it would be easy to just copy the row back into the main table. It turned out to be difficult enough that Greg, John, and I wasted quite a bit of time trying to figure out how to do it (and I think the only reason I figured it out first was that they had more important tasks to focus on).

This table uses an IDENTITY column as the primary key. This column provides an auto-incremented value for each new posting, ensuring a unique ID for each posting. By default, you can't specify a value for an IDENITY column; you have to use the SET IDENTITY_INSERT table ON command to tell SQL Server to allow you to insert a custom value (including one that might have been previously used) into the column. Greg and John already knew about this, but we were still getting a weird result after doing so: the row appeared to insert properly, but it wasn't showing up in the table afterwards.

What I finally was able to piece together after reading three or four separate hints on the Web is that triggers and IDENTITY columns interact in strange ways. So I wondered what would happen if I disabled the triggers before trying the insert. Sure enough, that proved to be the problem -- the active triggers prevented the custom-specififed IDENTITY column value (and thus the rest of the row) from being committed.

Here's the SQL code I used:

ALTER TABLE MyTable DISABLE TRIGGER MyTrigger

SET IDENTITY_INSERT MyTable ON

INSERT INTO MyTable (IDCol, Col1, Col2, Col3, Col4)
  SELECT IDCol, Col1, Col2, Col3, Col4 FROM MyTable_Backup
  WHERE IDCol=<value>

SET IDENTITY_INSERT MyTable OFF

ALTER TABLE MyTable ENABLE TRIGGER MyTrigger

Note that even with this trick, you cannot UPDATE the value of an IDENTITY column. You will have to copy the data into a new row with a new custom value and delete the old one, if that's what you're trying to do.

posted @ Friday, November 04, 2005 5:15 PM | Feedback (1)
Connections Report 2: Vendor Floor

There were a lot of interesting vendors at Connections. I was extremely surprised to see how many of them were slanted specifically towards email products -- I'd always thought this show was mostly Windows with a dash of Exchange. Some highlights:

  • Paul already blogged about Newsgator's server-side offering, so I won't belabor the point except to say that I was impressed too. What impressed me the most, though, was that the nice gentleman at the booth looked up my blog and found out that it was already added to their list of feeds. I promised them a shout-out in return.
  • Jim McBee (who is a heck of a nice guy) reckons that Cemaphore Systems should be in the running for a Best of Show for their forthcoming MailShadow 2.0 utility. This system promises to do a great job of providing realtime per-mailbox replication and shadowing.
  • My personal favorite product of the show comes from the fine folks at Zenprise. Their application provides real-time analysis and diagnosis of errors in your Exchange organziation, including DNS and Active Directory. It auto-discovers your servers, checks their configuration, monitors their error logs, and samples their PerfMon counters. When it detects one or more problems, it can figure out which ones are symptoms of the real root problems and triage the problems, allowing you to focus on the core issues to fix. It'll even give you step-by-step instructions on how to solve a particular problem. It integrates with KB articles and allows you to maintain a local set of knowledge about past and current problems. Best of all, it includes an auto-update service to allow Zenprise to push out new and updated rules -- so it stays on top of issues and problems caused by new updates, or even those seen by other Zenprise customers. I just wish they had a full version for Active Directory, SQL Server, and Sharepoint. Good job, guys -- and hurry up!
  • Remember my run-in with Sendmail, Inc. back in January? Well, they had a booth at the show. At first I was just going to grab my swag (they had some good offerings, see below) and move on, but then they asked me if there was something they could help me solve and I decided "Why not?" So I told them the story above. To their credit, they were not happy to hear my story -- there was a visible wince when I said "and I blogged about it" -- and have promised to help make it right.
  • HP's storage solution easily qualified as the "loudest display" of the show. A rack full of drives makes noise no matter how you slice it.
  • There were several low-end iSCSI storage arrays. 1TB of iSCSI SAN for $5,000 doesn't suck.
I've got a whole pile of data sheets and business cards to go through, so I expect to have some good blog fodder over the next few months as I get a chance to read about and play with the various offerings.

Best vendor swag:

  1. Zenprise's USB hotplate/mug warmer. Why I'd use this I have no idea, but it's silly in a cool way. Not as silly as the Fundue USB fondue pot, but still silly.
  2. Sendmail's USB reading light. A small lamp (three white LEDs) on a flexible metal neck, perfect for lighting up your laptop keyboard on that red-eye flight or other dark environment.

 More Connections updates later!

[Edit 08 Nov 2005: In the interests of openness, I should disclose that my boss Paul is a member of the advisory board for Zenprise. However, I did not know that when I reviewed the product on the show floor and took notes to blog about it; in fact, Paul and I had never discussed this product before.

posted @ Friday, November 04, 2005 5:01 PM | Feedback (1)
Dr. Rootkit (or how I learned to get q0wned by Sony and love DRM)

On the one hand, I am shocked that any major corporation would be so stupid as to place a rootkit on content-protected CDs (see this most illuminative article by Mark Russinovich to see how Sony is putting rootkits on their CDs in the name of copy protection). On the other hand, I'm almost grateful to them for doing so. Why?

Very simple: they attempted to pull a very sophisticated ploy, but did so in such a clumsy fashion that they might have left a window of opportunity open for the right case law to set some strong precedents. Look at what they did:

  • They installed a rootkit -- a program that installs at the lowest levels of the operating system, actively hides signs of its presence, and fundamentally changes the behavior o the operating system without any warning. Without the flimsy excuse of their EULA, this would be computer trespass.
  • They used a deceptive EULA (end-user license agreement) to do so; the EULA does not disclose, the full and obvious affects of the software (such as the inability to remove the software through normal methods, the potential loss of functionality to the CD-ROM drive, or the ability for other non-affected files to be hidden from the user). The deceptive EULA might, with luck and the right lawyer, be enough to allow this to be called what it is -- criminal computer trespass.
  • They used a poorly written rootkit written by an inexperienced third-party company. Again, with the right lawyer, this could be leveraged to show negligence and lack of good intent and help criminalize their actions.

 I hope that the right lawyer can take this on and get Sony nailed for criminal actions; we need this kind of precedent with DRM. Eventually, I suspect that we're going to see the music companies forced to abandon DRM as a method of protecting music and movie content, allowing the industry to focus on using it where it will actually do some good -- helping ensure regulatory compliance.

posted @ Thursday, November 03, 2005 3:44 PM | Feedback (0)
Connections Report 1: Exchange Cookbook Secret Sauce

I've been down in San Diego for the Windows Connections/Exchange Connections conference this week. Even though I hadn't been accepted as a speaker this time around, I was eager to go heckle my co-authors at their session Secret Sauce: Best Recipes from the Exchange Cookbook. Instead, they ended up dragging me up on the stage with them to help present the material. Tom, Missy, and I had fun, and we got a lot of good feedback from the audience. I had fun up on stage and even received a couple of compliments about my stage presence. All the theater in high school paid off, it seems! For those of you who were at the session and haven't downloaded the slides (or even if you just want to see what Tom and Missy cooked up), you can get the Powerpoint slide deck here.

Somehow, we never quite managed to get Paul, Tom, Missy, and myself all in the same room at the same time -- three out of four was the best we could do. Next time, darn it.

This was a great conference to attend, especially as it was my first major industry conference. Connections is large enough to offer a solid variety of interesting sessions, but small enough that you are seeing familiar faces all the way through the week. I got to see old friends, renew many acquaintainces, and meet a lot of interesting and talented people for the first time in person. I even got to do some late-night singing and find a Texas Hold'em game or two.

The other cool thing that happened this morning: I got the heart-warming bit of news that the book vendor here at the conference completely sold out all of the copies of the Exchange Server Cookbook. In fact, our book was the #2 top mover at this conference, second only to the truly fantastic Protect Your Windows Network : From Perimeter to Data (Microsoft Technology) by Steve Riley and Jesper Johansson, both of Microsoft (I'll be posting a review of it later today as I'm waiting for my plane back to Seattle).

Unfortunately, all of my notes and handouts are packed away, so I'll be posting an item or two over the next several days to highlight all the seriously cool stuff I saw at Connections. If you can at all make the time for the Spring event, I urge you to come.

Special shout-out to Amy Eisenburg and Lisa Pere of Windows IT Pro ("More drink tickets?"), Kevin Laahs of HP ("Just make up the words!"), my co-authors, and the many fine people who helped ensure my first Connections conference was a great experience.

posted @ Thursday, November 03, 2005 2:11 PM | Feedback (1)
News

Devin has moved on
to new adventures.
This blog is preserved
for historical purposes.

Please follow his
personal blog at:

Devin on Earth


Virtual Devin