沒有人有確定的答案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)不支持。」
有沒有人成功讓這兩個玩得好?
沒有人有確定的答案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)不支持。」
有沒有人成功讓這兩個玩得好?
您可以使用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
很明顯,在改變任何東西之前做一個備份。
看起來文檔是錯誤的(並且在過去的3年以上仍然是錯誤的!)。我發現這個片段與Reflector在Microsoft.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。
對不起,我遲到答案...有partial support用於SQL 2000和SQL 7
只是爲了跟進你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一起工作。