25.1. The History of SQL Server Management Object Models

This is, to me — even as someone who genuinely loves the product — not an area where SQL Server shines. This is not to say that SMO is a bad thing but rather that it is a rather sordid history. The team has had a tough time picking a horse and sticking with it.

As I write this, I've been working with SQL Server for something over a decade. In that time, the methods of managing SQL Server have changed several different times. "A new release? A new management method!" could be the motto for SQL Server. In short, there are probably countries out there with shorter histories than SQL Server's management model efforts.

So, let's look at the highlights from the last couple of releases. These are some of the different models and technologies you may bump into as you work on legacy code out there.

25.1.1. SQL Distributed Management Objects

Distributed Management Objects, or DMO, is the relative "old dog" of the management models. When you think of the old Enterprise Manager from prior versions of SQL Server, most of its underlying functionality ended up in a DMO call. The DMO model supported COM, and could perform all the basic tasks you might want management-wise, such as:

  • Start a backup

  • Restore from backup

  • Create a database

  • Create jobs and other agent-related tasks

  • Reverse engineer tables into SQL code

The list goes on.

So, what went wrong with DMO? Well, the object model was often deemed "clunky" at best. Indeed, parts of DMO often ...

Get Professional SQL Server™ 2005 Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.