DMO FAQ


Q: Is SQL-DMO still supported with SQL Server 2005?
A: Yes, SQL-DMO will be fully supported (albeit officially deprecated), however it will not be able to make use of any new SQL Server 2005 features. SQL-DMO will be available through a special 'backward compatibility redist' (filename = SQLServer2005_BC.msi) that will contain various other components besides SQL-DMO. Just to clarify: if you do not update SQL-DMO (7.0 or 2000) then you cannot connect to SQL Server 2005. The DMO Redist can be downloaded here: http://www.microsoft.com/downloads/details.aspx?FamilyId=D09C1D60-A13C-4479-9B91-9E8B9D835CDC.


Q: When I connect to SQL Server 2005 with SQL-DMO I receive the following message: "To connect to this server you must use SQL Server Management Studio or SQL Server Management Objects (SMO).". What causes this?
A: You may be running an older CTP. Try the June CTP (or a later version if that's already available). It may also be the case that your client has not SQL-DMO installed. Also if SQL Server 2000 or an ISV application is installed it may overwrite the DMO registration. In that case you need to reregister the SQL Server 2005 DMO version (using regsvr32).

Comments (10)
  1. Georgianne Giese says:

    An SQL 2005 Beta tester claimed that SQL Server 2000 and SQL Server 2005 could not be deployed on the same machine "because SQL-DMO has been replaced with SQL-SMO…"

    I’m relatively new to these tools, and haven’t a clue as to what these acroynms stand for. Could you explain what they are, what their functionality is, and if the quoted statement is true?

  2. Clifton Collins says:

    Has anyone regression tested the DMO backwards compatiblility with each SQL 2005 release.  I am on 9.00.2047 with the correct version of BC installed.  There are several methods and properties in the replication objects that do return an error or valid results.  It is like the data types have changed or the methods and properties are not working anymore.  

    For example, the TransPublication dmo object.

    We receive some information from the TransSubscription object, but not the DistributionJobID.

    We get the correct subscriber count, article count, publiser name, subscriber server and subscriber databasename.

    The DistributionJobID is all zeros, (00000000000000000000000000000000).

  3. Sharad Sharma says:

    hi all,

    according to the Asnser to the 1-st question on page…

    http://blogs.msdn.com/mwories/articles/dmofaq.aspx

    the The DMO Redist can be downloaded from here…

    http://www.microsoft.com/downloads/details.aspx?FamilyId=D09C1D60-A13C-4479-9B91-9E8B9D835CDC.

    But there are a number of installers, which one should i pick ?

    ….. Sharad

  4. The DMO Redist is included into "Microsoft SQL Server 2005 Backward Compatibility Components"

  5. mishaluba says:

    Event after installing DMO backward compatibility pack on my SQL 2000 machine, I am unable to connect to SQL 2005 server via my ActiveX script.  The script is primitive:

    Set oSQLServer = CreateObject("SQLDMO.SQLServer")

    ‘ Windows NT security

    oSQLServer.LoginSecure = True

    oSQLServer.Connect myServer

    The last line gives me "[SQL-DMO]You must use SQL Server 2005 management tools to connect ot this server".

    What am I doing wrong?

    Thank you.

    – Michael

    P.S.  I tried to use SQL authentication with the same effect.

  6. Tim McCann says:

    I am able to connect to SQL2005 servers using this DMO object. Though it appears RegisteredServers is locked out of containing SQL2005 servers.

    What does that mean ? Enterprise Manager will not allow a SQL2005 system. So any DMO applications using RegisteredServers should be rewritten for SMO.

    Though if you have another source for your connection information then the above examples will work.

    Thats what I have discovered.

    ‘This code works.

           Dim oSQLServer As SQLDMO.SQLServer

           Dim oQueryResult As SQLDMO.QueryResults

           oSQLServer = New SQLDMO.SQLServer

           oSQLServer.LoginTimeout = 15

           ‘ use trusted connection

           oSQLServer.LoginSecure = True

           ‘ ignore sa if using trusted connection

           oSQLServer.Connect("YourSQL2005Server", "sa", vbNullString)

           oQueryResult = oSQLServer.ExecuteWithResults _

               ("select convert(varchar(30),SERVERPROPERTY(‘ProductVersion’)) +’ : ‘ + convert(varchar(30),@@servername)")

           MsgBox("(Version : @@Servername ) " & oQueryResult.GetColumnString(1, 1))

  7. misiek says:

    Hi, is it legal to use SQL-DMO with SQL Express 2005 ?

    Best regards,

    Misiek

  8. Ben says:

    I have SQL 2005 client tools on my PC that I use (Enterprise Manager to access the SQL 2005 server on a different PC).

    I tried to install SQL Express 2005 and Enterprise Manager won’t work with it.

    Visual Studio won’t work with it.  It says I have to use "DMO".  I installed the SQL-BC.MSI for ‘backwards compatibility’ but it refused to install (it’s an older version?).

    My recommendation: Skip Express 2005 if you already have SQL 2005 client tools.  What you want is SQL Personal edition (costs money, but hey at least it works).

  9. ye says:

    just downloaded SQLServer2005_BC.msi and my old VB DMO runs perfectly

  10. mingle75 says:

    I have attempted to install the SQL Server 2005 Backward Compatibility Components redistributable – SQLServer2005_BC.msi on my workstation running Sql Server Express Advanced SP2 in order to install the new SQLDMO API compatible with SQL 2005.

    The SQLDMO9.DLL is not being installed and I can’t figure out why.  I choose all of the options during the SQLServer2005_BC.msi install including DMO but it never writes anything to the hard drive.  I know this because I used Filemon to identify what was being installed.

    I am aware of SMO but need to upgrade DMO in order for our legacy application to work with SQL Express without having to rewrite a lot of code.  Any help anyone can provide would be appreciated.

Comments are closed.

Skip to main content