2008-08-28 56 views
0

没有人有确定的答案Sql Server Management Objects是否与Sql Server 7.0兼容? 的文档状态:SMO和Sql Server 7.0

由于SMO与SQL Server 7.0版时,SQL Server 2000,SQL Server 2005中,和SQL Server 2008兼容,您轻松管理多版本环境。

但是尝试连接到SQL实例7得到我:

“这个SQL Server版本(7.0)不支持。”

有没有人成功让这两个玩得好?

回答

3

您可以使用SMO连接到SQL Server版本7,2000年和2005年,但SMO并不支持设置为兼容性级别60,65数据库和70

对于SQL Server 7.0的兼容性级别是70

显然这是相互矛盾的信息......我假设你的数据库的兼容级别是70你不能连接。

要检查运行:EXEC sp_dbcmptlevel的 '数据库名称'

Looking through this link,看来你也许可以通过运行这个改变兼容级别:

EXEC sp_dbcmptlevel的 '数据库名称',80

很明显,在改变任何东西之前做一个备份。

1

看起来文档是错误的(并且在过去的3年以上仍然是错误的!)。我发现这个片段与ReflectorMicrosoft.SqlServer.Management.Common.ConnectionManager,Microsoft.SqlServer.ConnectionInfo

protected void CheckServerVersion(ServerVersion version) { 
    if ((version.Major <= 7 || (version.Major > 9)) { 
     throw new ConnectionFailureException(
      StringConnectionInfo.ConnectToInvalidVersion(version.ToString()) 
     ); 
    } 
} 

所以,它看起来像只有SQL 2000和SQL 2005的支持。据推测,SQL 2008(版本10)已经更新了SMO程序集。

Bummer - 猜想这个项目可以回到SQL-DMO

1

只是为了跟进你commment SQL 2008确实有其自己的SMO包,它支持SQL 2000,2005年和2008年这是确切地记录在他们的下载页面!而且你是对的,你不能将SQL 2005 SMO连接到SQL 2008.

SMO的版本10中有一些很好的更新更新,如果您访问的SQL版本中不存在的属性连接到你得到一个合理的“此属性不适用于此版本的SQL”异常或单词为此。

Microsoft SQL Server 2008管理对象 SQL Server管理对象(SMO)是一个。.NET Framework对象模型,使软件开发人员可以创建客户端应用程序来管理和管理SQL Server对象和服务。此对象模型将与SQL Server 2000,SQL Server 2005和SQL Server 2008一起工作。

相关问题