Recently I had an issue where a Web Application stopped working when a SQL Server Migration took place. The SQL Server was moved to a new physical server, but in addition to that they upgraded SQL Server from 2005 to 2008 R2. The problem turned out to be the SMO references in the source code. All applications written referencing previous versions of SMO need to be changed to reference the new SMO DLL’s.
As a minimum, you would need to add the following which are required for connection classes, SMO utility classes, and foundation classes:
According to Microsoft, the SmoEnum.dll has been removed and some namespaces have changed. You will need to include the following:
In Visual C#
using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common;
In Visual Basic
Imports Microsoft.SqlServer.Management.Smo Imports Microsoft.SqlServer.Management.Common
Lastly, if your application uses the Urn functionality (for example Server.GetSqlSmoObject(Urn)) you will need to link to the Microsoft.SqlServer.Management.Sdk.Sfc namespace. If you use the Transfer object directly, you need to link to the Microsoft.SqlServer.Management.SmoExtended namespace. (Example of the Transfer object)
//Define a Transfer object and set the required options and properties. Transfer xfr; xfr = new Transfer(db); xfr.CopyAllTables = true; xfr.Options.WithDependencies = true; xfr.Options.ContinueScriptingOnError = true; xfr.DestinationDatabase = "AdventureWorks2012Copy"; xfr.DestinationServer = srv.Name; xfr.DestinationLoginSecure = true; xfr.CopySchema = true; //Script the transfer. Alternatively perform immediate data transfer // with TransferData method. xfr.ScriptTransfer();
Expect some code changes when you migrate code. The reason for this is that some features have been depreciated in the new DLL’s.
Latest posts by Dirk Strauss (see all)
- The Daily Six Pack: December 12, 2014 - 12 December, 2014 06:00:44
- Visual Studio 2015 Preview and Windows 10 Technical Preview – Try Them On Azure Now - 12 December, 2014 01:00:41
- The Daily Six Pack: December 11, 2014 - 11 December, 2014 06:00:06
- Rebracer – Save Visual Studio Editor Formatting Settings Per Solution - 11 December, 2014 01:00:38
- The Daily Six Pack: December 10, 2014 - 10 December, 2014 06:00:11