我正在尝试使用SQL Server管理对象(SMO)Transfer类创建表(无数据,只是模式)的副本。我唯一没有想到的是如何指定服务器在不同主机上时要复制到哪个服务器。在我的情况下,我想从10.1.2.x复制到10.1.2.y.有什么方法可以指定这个,或者这个类不支持它吗?将表从一个SQL Server复制到另一个
也许有更好的C#解决方案?
static void CreateTableFromTable(string fromConnection, string toConnection, string dbName, string tablename, bool copyData = false)
{
Server fromServer = new Server(new ServerConnection(new SqlConnection(fromConnection)));
Database db = fromServer.Databases[dbName];
Transfer transfer = new Transfer(db);
transfer.CopyAllObjects = false;
transfer.DropDestinationObjectsFirst = false;
transfer.CopySchema = false; //Database schema? Or Table schema? I DO NOT want to overwrite the db schema
transfer.CopyData = copyData;
transfer.DestinationServer = "?";
transfer.DestinationDatabase = dbName;
transfer.Options.IncludeIfNotExists = true;
transfer.ObjectList.Add(db.Tables[tablename]);
transfer.TransferData();
}
如何指定包含数据库的服务器的IP地址? – SamiHuutoniemi
只需将它放在 –
如何?这不像我可以键入SELECT * INTO DestDatabase.TableName FROM 10.1.2.1.SourceDatabase.TableName – SamiHuutoniemi