添加引用--〉COM--〉“Microsoft SQLDMO Object Library”SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
...
SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
...
调试欢乐多
/// 数据传输
/// </summary>
/// <param name="SrcDatabase"></param>
/// <param name="ServerName"></param>
/// <param name="DBUserName"></param>
/// <param name="DBPassword"></param>
/// <param name="IsIntegrated"></param>
/// <param name="DestDatabase"></param>
private void TransferDatabaseToServer(string SrcDatabase,string ServerName,string DBUserName,string DBPassword,bool IsIntegrated,string DestDatabase)
{
SQLDMO.SQLServer2 oServer = new SQLDMO.SQLServer2Class();
SQLDMO.Database2 oDatabase;
SQLDMO.Transfer2 oTransfer = new SQLDMO.Transfer2();
oTransfer.IncludeDependencies = false;
oServer.LoginSecure = false;
oServer.Connect(ServerName,DBUserName,DBPassword);
oDatabase = (SQLDMO.Database2)oServer.Databases.Item(SrcDatabase,"");
oTransfer.DestDatabase = DestDatabase;
oTransfer.CopyAllTables = true;
oTransfer.CopyAllObjects = true;
oTransfer.CopyAllDefaults = false;
oTransfer.CopyAllRules = true;
oTransfer.CopyAllStoredProcedures = true;
oTransfer.CopyAllTriggers = true;
oTransfer.CopyAllViews = true;
oTransfer.CopySchema = true;
oTransfer.CopyData = SQLDMO.SQLDMO_COPYDATA_TYPE.SQLDMOCopyData_Replace;
oTransfer.DestTranslateChar = true;
oTransfer.DropDestObjectsFirst = true;
oTransfer.IncludeDB = false; //是否在目标数据库不存在的情况下创建数据库
oTransfer.IncludeGroups = false;
oTransfer.IncludeUsers = false;
oTransfer.IncludeLogins = false;
oTransfer.IncludeDependencies = false;
oTransfer.DestUseTrustedConnection = false;
oTransfer.DestLogin = DBUserName;
oTransfer.DestPassword = DBPassword;
oDatabase.Transfer(oTransfer);
oServer.DisConnect();
oServer = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(oTransfer);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oDatabase);
//System.Runtime.InteropServices.Marshal.ReleaseComObject(oServer);
System.GC.Collect();
}