Я пытаюсь создать копию таблицы (без данных, только схемы) с использованием объектов управления 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