Reasons to Deprecate

I’m happy to see features and services of SQL Server deprecated by Microsoft if it is for a good reason. Good reasons include conformance with SQL Standards or rejection by the community of users; I consider Microsoft’s commercial convenience to be a bad reason.

I suspect that everything possible has been said about Microsoft dropping Notification Services in SQL Server 2008. It is unprecedented for a service to be removed without an adequate substitute. Actually, there is an unsupported pre-release version of SQL Server 2005 Notification Services Components Package RC1 that has been altered to work with SQL Server 2008, but you have to download it separately. Its fate is sealed, and there is little cheer for the folks who have built complex systems around it, beguiled by the siren words of the Microsoft Marketing Department.

DMO is another SQL Server component that is being phased out. Poor DMO is still hanging on there by its fingernails, however. Microsoft hates it, but any users who have lots of old scripts still need it and like it. The ‘softies’ keep telling us we don’t need it any more now we have PowerShell and SMO; but to most DBAs, PowerShell is a strange, unintuitive language cast in the UNIX mentality.

The two services are deprecated, but for entirely different reasons. Notification Services wasn’t liked much by users, and take-up was poor. It was badly designed, and there has been a smell of death around it for some time. The WMI event model in SQL Server 2005 that used it was absurdly complicated, and it was hurriedly superseded by a new and simpler event handling system, namely Extended Events (XE).

DMO, on the other hand, was deprecated because it was inconvenient. Users liked it because any scripting system that could use OLE automation could use it. Even Perl could be used to automate SQL Server administration tasks. There was a botched attempt to allow DMO’s replacement, SMO, to use OLE Automation, but SMO emerged as a .NET Assembly only.  Although a positive spin was put on it, the truth was that if you wanted to use SMO, then you now had to write compiled applications with C# or VB.NET, or grit your teeth and learn PowerShell. DBAs weren’t fooled, and weren’t about to re-write hundreds of scripts just because Microsoft didn’t want to maintain a scriptable version of SMO.

DMO lives because there is no viable alternative.

Cheers,

Tony.