Bagikan melalui


Memindahkan Data

Kelas Transfer adalah kelas utilitas yang menyediakan alat untuk mentransfer objek dan data.

Objek dalam skema database ditransfer dengan menjalankan skrip yang dihasilkan pada server target. Table data ditransfer dengan paket DTS yang dibuat secara dinamis.

Objek Transfer berisi semua fungsionalitas Transfer objek di DMO dan fungsionalitas SQL Server tambahan. Namun, dalam SMO di SQL Server 2012, Transfer objek menggunakan SQLBulkCopy API untuk mentransfer data. Selain itu, metode dan properti yang digunakan untuk melakukan transfer data berada di Transfer objek alih-alih Database objek. Memindahkan fungsionalitas dari kelas instans ke kelas utilitas konsisten dengan model objek yang lebih ringan karena kode untuk tugas tertentu hanya dimuat saat diperlukan.

Objek Transfer tidak mendukung transfer data ke database target yang memiliki CompatibilityLevel kurang dari versi instans SQL Server.

Contoh

Untuk menggunakan contoh kode apa pun yang disediakan, Anda harus memilih lingkungan pemrograman, templat pemrograman, dan bahasa pemrograman untuk membuat aplikasi Anda. Untuk informasi selengkapnya, lihat "Cara: Membuat Proyek SMO Visual Basic di Visual Studio .NET" atau "Cara: Membuat Proyek Visual C# SMO di Visual Studio .NET" di SQL Server Books Online.

Mentransfer Skema dan Data dari Satu Database ke Database Lain di Visual Basic

Contoh kode ini menunjukkan cara mentransfer skema dan data dari satu database ke database lain menggunakan Transfer objek .

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2012 2008R2 database
Dim db As Database
db = srv.Databases("AdventureWorks2012")
'Create a new database that is to be destination database.
Dim dbCopy As Database
dbCopy = New Database(srv, "AdventureWorks2012Copy")
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 = "AdventureWorks2012Copy"
xfr.DestinationServer = srv.Name
xfr.DestinationLoginSecure = True
xfr.CopySchema = True
'Script the transfer. Alternatively perform immediate data transfer with TransferData method.
xfr.ScriptTransfer()

Mentransfer Skema dan Data dari Satu Database ke Database Lain di Visual C#

Contoh kode ini menunjukkan cara mentransfer skema dan data dari satu database ke database lain menggunakan Transfer objek .

{  
            Server srv;  
            srv = new Server();  
            //Reference the AdventureWorks2012 database   
            Database db;  
            db = srv.Databases["AdventureWorks2012"];  
            //Create a new database that is to be destination database.   
            Database dbCopy;  
            dbCopy = new Database(srv, "AdventureWorks2012Copy");  
            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 = "AdventureWorks2012Copy";  
            xfr.DestinationServer = srv.Name;  
            xfr.DestinationLoginSecure = true;  
            xfr.CopySchema = true;  
            //Script the transfer. Alternatively perform immediate data transfer   
            // with TransferData method.   
            xfr.ScriptTransfer();  
        }   

Mentransfer Skema dan Data dari Satu Database ke Database Lain di PowerShell

Contoh kode ini menunjukkan cara mentransfer skema dan data dari satu database ke database lain menggunakan Transfer objek .

#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 AdventureWorks2012 database.  
$db = $srv.Databases["AdventureWorks2012"]  
  
#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()