Sdílet prostřednictvím


Přenos dat

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analyticssql database v Microsoft Fabric

Třída Transfer je utility třída, která poskytuje nástroje pro přenos objektů a dat.

Objekty ve schématu databáze se přenesou spuštěním vygenerovaného skriptu na cílovém serveru. Table data se přenášejí pomocí dynamicky vytvořeného balíčku DTS.

Objekt Transfer používá rozhraní SQLBulkCopy API k přenosu dat. Také metody a vlastnosti, které se používají k provádění přenosů dat, se nacházejí v objektu Transfer místo objektu Database . Přesouvání funkcí z tříd instancí do tříd nástrojů je konzistentní s lehčím objektovým modelem, protože kód pro konkrétní úlohy se načte pouze v případě, že je vyžadován.

Objekt Transfer nepodporuje přenosy dat do cílové databáze, která má CompatibilityLevel méně než verzi instance SQL Serveru.

Example

Pokud chcete použít libovolný zadaný příklad kódu, budete muset zvolit programovací prostředí, programovací šablonu a programovací jazyk, ve kterém chcete vytvořit aplikaci. Další informace najdete v tématu Vytvoření projektu SMO visual C# v sadě Visual Studio .NET.

Přenos schématu a dat z jedné databáze do jiného v jazyce Visual Basic

Tento příklad kódu ukazuje, jak pomocí objektu Transfer přenést schéma a data z jedné databáze do druhé.

'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()

Přenos schématu a dat z jedné databáze do jiného v jazyce Visual C#

Tento příklad kódu ukazuje, jak pomocí objektu Transfer přenést schéma a data z jedné databáze do druhé.

{  
            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();  
        }   

Přenos schématu a dat z jedné databáze do jiné v PowerShellu

Tento příklad kódu ukazuje, jak pomocí objektu Transfer přenést schéma a data z jedné databáze do druhé.

#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()