2008-08-28 71 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一起工作。

相關問題