locked
2005 SMO Connection Issues w/ 2008 RRS feed

  • Question

  • We have an application that uses the SQL Server 2005 SMO. We are getting an error when it tries to connect to a SQL Server 2008 database. The error is occurring in the ServerConnection object in the Microsoft.SqlServer.Management.Common Microsoft.SqlServer.Management.Common namespace.The error is in the Connect() method of the object. The error is:

    ===================================

    This SQL Server version (10.0) is not supported. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------
    Program Location:

       at Microsoft.SqlServer.Management.Common.ConnectionManager.CheckServerVersion(ServerVersion version)
       at Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnect(WindowsIdentity impersonatedIdentity)
       at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()


    Is SQL Server 2008 not backward compatible with 2005 SMO? If it is, is there some setting on SQL Server 2008 we may be missing? I would think SQL Server 2008 should be backward compatible with 2005 SMO. I can understand limited functionality but not a lack of backward compatibility.
    Friday, August 15, 2008 7:20 PM

All replies

  • Hello,

     

    Please, could you have a look on this thread ?

    http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=1954823&SiteID=1

     

    I think you have to install the client components for Sql Server 2008 on the computer where you are testing your program ( and also where your program will run if on an other computer )

     

    I think it should be helpful for you

     

    Have a nice day

     

    Sunday, August 17, 2008 8:51 PM
  • Thanks for your response.

     

    The problem is we have a released product with the 2005 SMO dlls. I was hoping the 2005 dlls would still be able to communicate, even if there was limited functionality, with 2008. Query Analyzer can comminucate with 2008 although SQL Server Management Studio 2005 cannot. I was hoping 2008 would offer some type of backward compatibility with SMO since it does with the database engine.

    Monday, August 18, 2008 2:52 PM
  • Hello,

     

    It's a well-known issue : the compatibility may be warrented towards older versions not towards more recent versions.

    You cannot manage 2008 databases with tools provided with Sql Server 2000/2005, but you can manage 2000/2005 databases with 2008 tools.

    But thre are some exceptions, you cannot attach a 2005 database to a 2000 instance ( because there are features which may not be supported by a less recent edition )

     

    Have a nice day

     

    PS : some dll have changed their names between 2005 and 2008

    Friday, August 22, 2008 8:07 AM
  •  

    Installing any Cumulative update for SQL Server 2005 (>= CU5) should solve your problem of connecting to Sql Server 2008 instances from SQL Server 2005 tools.

    You can download CU5 from http://support.microsoft.com/kb/943656

    Thursday, September 11, 2008 2:02 PM
  • It's by design SMO applications build on lower version can't connect to higher version of SQL Server engine. SQL Server has nothing to do with this backward/forward compatibility issue. SQL Server communicates in language of T-SQL/SQL and its 100% backward compatible in that aspect. SMO has self imposed constraint to not get connected with higher version engine to avoid any unexpected behavior. If you re-compile your application with SQL Server 2008 assemblies then your application can connect to 2008 as well as 2005, 2000 servers.

    Wednesday, December 10, 2008 6:51 AM
  •  Sravanthi and I have verified the behaviour by updating the SQL Server 2005 with the cumulative update 5.  We can able to connect to SQL Server 2008 from SQL Server Management Studio 2005 and using SMO as well.

    There is no need to recompile the application. On applying the cumulative update 5 of SQL Server 2005, this works out.

    Thanks
    Sreekar
    Monday, December 15, 2008 2:03 PM