Abwärtskompatibilität in SMO

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

SMO-Anwendungen, die mit früheren Versionen von SQL Server geschrieben wurden, können mithilfe von SMO in neueren Versionen neu kompiliert werden.

Migrieren von SMO-Anwendungen

Verweise auf SMO-DLLs in älteren Versionen von SQL Server müssen entfernt werden, und Verweise auf die neuen SMO-DLLs, die mit neueren Versionen von SQL Server bereitgestellt werden, müssen enthalten sein.

Sie müssen mindestens einen Verweis auf folgende Dateien einschließen:

  • Microsoft.SqlServer.ConnectionInfo

  • Microsoft.SqlServer.Smo

  • Microsoft.SqlServer.Management.Sdk.Sfc

Diese Dateien sind für Verbindungsklassen, SMO-Hilfsprogrammklassen und Foundation Classes erforderlich.

Hinweis

SmoEnum.dll wurde entfernt, sodass Verweise darauf aus dem SMO-Projekt entfernt werden müssen.

Da sich die Namespaces ebenfalls geändert haben, können Sie Folgendes verwenden:

Für Visual C#
using Microsoft.SqlServer.Management.Smo;  
using Microsoft.SqlServer.Management.Common;  
Für Visual Basic
Imports Microsoft.SqlServer.Management.Smo  
Imports Microsoft.SqlServer.Management.Common  

Wenn im Code URN-Funktionen wie Server.GetSqlSmoObject(Urn)verwendet werden, müssen Sie eine Verknüpfung mit dem Microsoft.SqlServer.Management.Sdk.Sfc-Namespace herstellen.

Wenn im Code das Transfer-Objekt direkt verwendet wird, müssen Sie eine Verknüpfung mit dem Microsoft.SqlServer.Management.SmoExtended-Namespace herstellen.

Wenn Sie Code migrieren, müssen Sie ihn ggf. ändern. Dies liegt daran, dass mehrere Features SQL Server 2005 (9.x) und SQL Server 2008 (10.0.x) in neueren Versionen von SQL Server veraltet sind. Weitere Informationen zu veralteten Features finden Sie unter Veraltete Datenbank-Engine-Features in SQL Server 2016.