Dela via


Transferring Data

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-databas i Förhandsversion av Microsoft Fabric

Klassen Transfer är en verktygsklass som innehåller verktyg för att överföra objekt och data.

Objekt i databasschemat överförs genom att ett genererat skript körs på målservern. Table data överförs med ett dynamiskt skapat DTS-paket.

Objektet Transfer använder SQLBulkCopy-API :et för att överföra data. Dessutom finns de metoder och egenskaper som används för att utföra dataöverföringar på Transfer objektet i stället för objektet Database . Att flytta funktioner från instansklasserna till verktygsklasser är konsekvent med en lättare objektmodell eftersom koden för specifika uppgifter endast läses in när den krävs.

Objektet Transfer stöder inte dataöverföringar till en måldatabas som har en CompatibilityLevel mindre än versionen av SQL Server-instansen.

Example

Om du vill använda ett kodexempel som tillhandahålls måste du välja programmeringsmiljö, programmeringsmallen och programmeringsspråket för att skapa ditt program. Mer information finns i Skapa ett Visual C# SMO-projekt i Visual Studio .NET.

Överföra schema och data från en databas till en annan i Visual Basic

Det här kodexemplet visar hur du överför schema och data från en databas till en annan med hjälp av Transfer objektet.

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

Överföra schema och data från en databas till en annan i Visual C#

Det här kodexemplet visar hur du överför schema och data från en databas till en annan med hjälp av Transfer objektet.

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

Överföra schema och data från en databas till en annan i PowerShell

Det här kodexemplet visar hur du överför schema och data från en databas till en annan med hjälp av Transfer objektet.

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