Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
База данных SQL в Microsoft Fabric
Класс Transfer является служебным классом, наделенным средствами для передачи объектов и данных.
Объекты в схеме базы данных передаются в ходе выполнения сформированного скрипта на целевом сервере. Данные Table передаются вместе с динамически созданным пакетом DTS.
Объект Transfer использует API SQLBulkCopy для передачи данных. Кроме того, методы и свойства, используемые для передачи данных, располагаются в объекте Transfer, а не в объекте Database. Перенос функциональных возможностей с экземпляров классов на вспомогательные классы согласуется с облегченной объектной моделью, поскольку код для выполнения конкретных задач загружается только по мере необходимости.
Объект Transfer не поддерживает передачу данных в целевую базу данных с CompatibilityLevel меньшей версией экземпляра SQL Server.
Example
Чтобы использовать какой-либо из представленных примеров кода, нужно выбрать среду, шаблон и язык программирования, с помощью которых будет создаваться приложение. Дополнительные сведения см. в статье "Создание проекта SMO Visual C# в Visual Studio .NET".
Передача схемы и данных из одной базы данных в другую на языке Visual Basic
Этот пример кода показывает, как передавать схему и данные из одной базы данных в другую с помощью объекта Transfer.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2022 database
Dim db As Database
db = srv.Databases("AdventureWorks2022")
'Create a new database that is to be destination database.
Dim dbCopy As Database
dbCopy = New Database(srv, "AdventureWorks2022Copy")
dbCopy.Create()
'Define a Transfer object and set the required options and properties.
Dim xfr As Transfer
xfr = New Transfer(db)
xfr.CopyAllTables = True
xfr.Options.WithDependencies = True
xfr.Options.ContinueScriptingOnError = True
xfr.DestinationDatabase = "AdventureWorks2022Copy"
xfr.DestinationServer = srv.Name
xfr.DestinationLoginSecure = True
xfr.CopySchema = True
'Script the transfer. Alternatively perform immediate data transfer with TransferData method.
xfr.ScriptTransfer()
Передача схемы и данных из одной базы данных в другую на языке Visual C#
Этот пример кода показывает, как передавать схему и данные из одной базы данных в другую с помощью объекта Transfer.
{
Server srv;
srv = new Server();
//Reference the AdventureWorks2022 database
Database db;
db = srv.Databases["AdventureWorks2022"];
//Create a new database that is to be destination database.
Database dbCopy;
dbCopy = new Database(srv, "AdventureWorks2022Copy");
dbCopy.Create();
//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 = "AdventureWorks2022Copy";
xfr.DestinationServer = srv.Name;
xfr.DestinationLoginSecure = true;
xfr.CopySchema = true;
//Script the transfer. Alternatively perform immediate data transfer
// with TransferData method.
xfr.ScriptTransfer();
}
Передача схемы и данных из одной базы данных в другую в PowerShell
Этот пример кода показывает, как передавать схему и данные из одной базы данных в другую с помощью объекта Transfer.
#Connect to the local, default instance of SQL Server.
#Get a server object which corresponds to the default instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server
#Reference the AdventureWorks2022 database.
$db = $srv.Databases["AdventureWorks2022"]
#Create a database to hold the copy of AdventureWorks
$dbCopy = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Database -argumentlist $srv, "AdventureWorksCopy"
$dbCopy.Create()
#Define a Transfer object and set the required options and properties.
$xfr = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Transfer -argumentlist $db
#Set this objects properties
$xfr.CopyAllTables = $true
$xfr.Options.WithDependencies = $true
$xfr.Options.ContinueScriptingOnError = $true
$xfr.DestinationDatabase = "AdventureWorksCopy"
$xfr.DestinationServer = $srv.Name
$xfr.DestinationLoginSecure = $true
$xfr.CopySchema = $true
"Scripting Data Transfer"
#Script the transfer. Alternatively perform immediate data transfer with TransferData method.
$xfr.ScriptTransfer()