Because of changes in the SQL Server 2005 metadata we have updated SQLDMO, the new version is SQLDMO9, it should work with SQL Server 7/2000 and 2005. For backwards compatibility it is installed by SQL Express so that existing DMO apps should just work. Due to the way that SQLDMO is versioned, only one version can exist on a machine at one time, so when Express is installed the SQLDMO9 version is the one that is registered. Having explained the scenario lets take a look at potential problems:

1/ Looking at permisions of objects in EM does not work.

Like the rest of the current version of SQL Express this is a pre-release version, the permissions problem is a bug which we have resolved in the B2 build of SQL Server 2005. If you need to use EM before we update SQLDMO and Express, then go to the version of SQLDMO.dll thats in SQL Server 2000 directory and execute regsvr32 sqldmo.dll. This should enable EM to work as it was before against SQL Server 2000 but neither EM nor DMO will work against SQL Express in this case.

 

2/ Uninstalling SQL Express breaks DMO and Enterprise Manager

When SQL Express installs it registers SQLDMO9 and when it uninstalls, it de-registers it, but if there was a SQLDMO (SQL2000 or SQL7) version on the machine previously this registration is not put back, leaving the machine with no SQLDMO registered. The resolution to this is the same as the above, re-register the right version of SQLDMO.

 

-Euan Garden

Product Unit Manager

SQL Server Tools