Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggunakan SMO untuk menyalin database dan data

Nah, setelah menghubungi Dukungan Microsft, saya membuatnya berfungsi dengan baik, tetapi lambat dan kurang lebih tidak berguna. Melakukan pencadangan dan pemulihan jauh lebih cepat dan saya akan menggunakannya selama salinan baru harus hidup di server yang sama dengan aslinya.

Kode kerjanya adalah sebagai berikut:

ServerConnection conn = new ServerConnection("rune\\sql2008");
Server server = new Server(conn);

Database newdb = new Database(server, "new database");
newdb.Create();

Transfer transfer = new Transfer(server.Databases["source database"]);
transfer.CopyAllObjects = true;
transfer.CopyAllUsers = true;
transfer.Options.WithDependencies = true;
transfer.DestinationDatabase = newdb.Name;
transfer.DestinationServer = server.Name;
transfer.DestinationLoginSecure = true;
transfer.CopySchema = true;
transfer.CopyData = true;
transfer.Options.ContinueScriptingOnError = true;
transfer.TransferData();

Triknya adalah mengatur properti DestinationDatabase. Ini harus ditetapkan bahkan jika targetnya sama dengan sumbernya. Selain itu, saya harus terhubung ke server sebagai instance bernama alih-alih menggunakan opsi koneksi lainnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengubah angka menjadi kata dalam SQL

  2. Apa cara terbaik untuk menyisipkan basis data massal dari c #?

  3. Variabel peka huruf besar/kecil di SQL Server

  4. Memeriksa apakah tanggal tertentu cocok di antara rentang tanggal

  5. Bagaimana cara menambahkan Batasan Default ke Kolom yang ada di Tabel SQL Server - Tutorial SQL Server / TSQL Bagian 91