SMO 中的向后兼容性

使用以前版本的 SQL Server 编写的 SMO 应用程序可以通过使用 SQL Server 2012 中的 SMO 进行重新编译。

迁移 SMO 应用程序

必须删除对旧版 SQL Server 中 SMO 动态链接库的引用,而且必须包括对随 SQL Server 2012 提供的新 SMO 动态链接库的引用。

至少要引用以下内容:

  • Microsoft.SqlServer.ConnectionInfo

  • Microsoft.SqlServer.Smo

  • Microsoft.SqlServer.Management.Sdk.Sfc

连接类、SMO 实用工具类和基础类都需要这些文件。

注意注意

SmoEnum.dll 已被移除,所以,必须从 SMO SQL Server 2012 项目中移除对它的引用。

命名空间也已经更改,所以可以使用以下内容:

对于 Visual C#

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

对于 Visual Basic

Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

如果您的代码使用 Urn 功能,例如 Server.GetSqlSmoObject(Urn),则必须链接到 Microsoft.SqlServer.Management.Sdk.Sfc 命名空间。

如果您的代码直接使用 Transfer 对象,则需要链接到 Microsoft.SqlServer.Management.SmoExtended 命名空间。

迁移代码时,可能会需要修改代码。 这是因为有若干 SQL Server 2005 和 SQL Server 2008 功能在 SQL Server 2012 中已不推荐使用。 有关不推荐使用的功能的详细信息,请参阅 SQL Server 2012 联机丛书中的 SQL Server 2012 中不推荐使用的数据库引擎功能