Adakah yang tahu bagaimana saya bisa menyalin database SQL Azure ke mesin pengembangan saya? Saya ingin berhenti membayar untuk memiliki basis data pengembangan di cloud, tetapi ini adalah cara terbaik untuk mendapatkan data produksi. Saya menyalin basis data produksi saya ke basis data pengembangan baru tetapi saya ingin memiliki basis data yang sama secara lokal.
Ada saran?
Jawaban:
Ada beberapa cara untuk melakukan ini:
data
di meja Anda. Properti kolom, batasan, kunci, indeks, prosedur tersimpan, pemicu, pengaturan keamanan, pengguna, masuk, dll. Tidak ditransfer. Namun ini adalah proses yang sangat sederhana dan dapat dilakukan hanya dengan pergi melalui wisaya di SQL Server Management Studio.Prosedur manual untuk metode # 1 (menggunakan SSIS) adalah sebagai berikut:
Anda dapat mengotomatiskannya dengan membuat paket SSIS dan menjalankannya kembali kapan saja Anda ingin mengimpor kembali data. Perhatikan bahwa Anda hanya dapat mengimpor menggunakan SSIS ke DB yang bersih, Anda tidak dapat melakukan pembaruan tambahan ke database lokal Anda setelah Anda melakukannya sekali.
Metode # 2 (data SSID plus objek skema) sangat sederhana. Pertama pergi melalui langkah-langkah yang dijelaskan di atas, lalu buat skrip DB Creation (klik kanan pada database di SSMS, pilih Generate Scripts -> Database Create) Kemudian putar ulang skrip ini di basis data lokal Anda.
Metode # 3 dijelaskan dalam Blog di sini: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/ . Ada klip video dengan proses mentransfer konten DB ke penyimpanan Azure Blob sebagai BACPAC. Setelah itu Anda dapat menyalin file secara lokal dan mengimpornya ke contoh SQL Anda. Proses mengimpor BACPAC ke aplikasi Data-Tier dijelaskan di sini: http://msdn.microsoft.com/en-us/library/hh710052.aspx .
sumber
Salin data database Azure ke database lokal: Sekarang Anda dapat menggunakan SQL Server Management Studio untuk melakukan ini seperti di bawah ini:
"Selanjutnya" / "Selanjutnya" / "Selesai"
sumber
Saya hanya ingin menambahkan versi sederhana jawaban dumbledad , karena ini adalah jawaban yang benar.
sumber
Di SQL Server 2016 Management Studio, proses untuk mendapatkan basis data biru ke mesin lokal Anda telah disederhanakan.
Klik kanan pada database yang ingin Anda impor, klik Tugas> Ekspor aplikasi data-tier , dan ekspor database Anda ke file .dacpac lokal.
Dalam instance server SQL target lokal Anda, Anda dapat mengklik kanan Database> Impor aplikasi data-tier , dan setelah itu lokal, Anda dapat melakukan hal-hal seperti membuat cadangan dan mengembalikan database.
sumber
Saya pikir itu jauh lebih mudah sekarang.
Selain itu, saya menggunakan Sql Backup dan FTP ( https://sqlbackupandftp.com/ ) untuk melakukan backup harian ke server FTP yang aman. Saya cukup menarik file BACPAC baru-baru ini dari sana dan mengimpornya dalam dialog yang sama, yang lebih cepat dan lebih mudah untuk membuat database lokal.
sumber
Anda juga dapat memeriksa Sinkronisasi Data SQL Azure di Portal Manajemen Azure Windows. Ini memungkinkan Anda untuk mengambil dan mengembalikan seluruh database, termasuk skema dan data antara SQL Azure dan SQL Server.
sumber
Cukup mudah. Ini bekerja untuk saya ... dalam hal mendapatkan database Azure SQL ke mesin lokal Anda ...:
TETAPI, berhati-hatilah karena jika Anda JUGA menginginkan DATA, juga skrip, pastikan untuk memeriksa Opsi Lanjut sebelum mulai membuat ... gulir ke bawah ke "Jenis data ke skrip", dan pastikan Anda memiliki " Skema dan data "... atau apa pun yang sesuai untuk Anda.
Ini akan memberi Anda file skrip SQL yang bagus yang kemudian dapat dijalankan pada mesin lokal Anda dan itu akan membuat database serta mengisinya dengan semua data.
Ingat bahwa dalam kasus saya, saya tidak memiliki FK atau kendala lain ... juga, itu tidak banyak data.
Saya tidak merekomendasikan ini sebagai mekanisme cadangan secara umum ...
sumber
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
Menggunakan
msdeploy.exe
Peringatan:
msdeploy.exe
gagal membuat database tujuan sendiri, jadi Anda harus membuatnya secara manual terlebih dahulu.Jalankan
msdeploy.exe
seperti ini:Menggunakan
SqlPackage.exe
Ekspor DB azure ke paket bacpac.
Impor paket ke DB lokal.
sumber
Silakan coba ini: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/ .
Alternatif lain adalah Sinkronisasi Data Azure SQL .
Ada satu lagi posting blog yang saya lewati beberapa hari yang lalu tetapi tidak dapat menemukannya sekarang. Saya akan memperbarui posting ini segera setelah saya menemukannya.
sumber
Di SQL Server Management Studio
Klik kanan pada database yang ingin Anda impor, klik Tugas> Ekspor aplikasi data-tier, dan ekspor database Anda ke file .dacpac lokal.
Dalam instance server SQL target lokal Anda, Anda dapat mengklik kanan Database> Impor aplikasi data-tier, dan setelah itu lokal, Anda dapat melakukan hal-hal seperti membuat cadangan dan mengembalikan database.
sumber
Saya tidak bisa mendapatkan impor / ekspor SSIS karena saya mendapatkan kesalahan 'Gagal memasukkan ke dalam kolom read-only "id"'. Saya juga tidak dapat mengaktifkan http://sqlazuremw.codeplex.com/ , dan tautan di atas ke Sinkronisasi Data SQL Azure tidak berfungsi untuk saya.
Tapi saya menemukan posting blog yang sangat baik tentang file BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/
Dalam video dalam posting, penulis posting blog menjalankan melalui enam langkah:
Buat atau buka akun penyimpanan di Portal Manajemen Azure. Anda memerlukan Blob URL dan kunci akses utama dari akun penyimpanan.
Posting blog menyarankan membuat wadah baru untuk file bacpac dan menyarankan menggunakan Azure Storage Explorer untuk itu. (NB Anda akan memerlukan Blob URL dan kunci akses utama dari akun penyimpanan untuk menambahkannya ke Azure Storage Explorer.)
Di Portal Manajemen Azure pilih basis data yang ingin Anda ekspor dan klik 'Ekspor' di bagian Impor dan Ekspor pita.
Dialog yang dihasilkan memerlukan nama pengguna dan kata sandi Anda untuk database, URL gumpalan, dan kunci akses. Jangan lupa untuk memasukkan wadah di blob URL dan memasukkan nama file (mis. Https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).
Setelah Anda mengklik Selesai, basis data akan diekspor ke file BACPAC. Ini bisa memakan waktu cukup lama. Anda mungkin melihat file nol byte muncul segera jika Anda memeriksa di Azure Storage Explorer. Ini adalah Layanan Impor / Ekspor yang memeriksa apakah ia memiliki akses tulis ke toko gumpalan.
Setelah selesai, Anda dapat menggunakan Azure Storage Explorer untuk mengunduh file BACPAC dan kemudian di SQL Server Management Studio klik kanan folder database server lokal Anda dan pilih Impor Aplikasi Data Tier yang akan memulai wizard yang membaca wacana yang membaca di file BACPAC untuk menghasilkan salinan basis data Azure Anda. Wizard juga dapat terhubung langsung ke blob-store untuk mendapatkan file BACPAC jika Anda lebih suka tidak menyalinnya secara lokal terlebih dahulu.
Langkah terakhir mungkin hanya tersedia di SQL Server Management Studio edisi SQL Server 2012 (itulah versi yang saya jalankan). Saya tidak punya yang sebelumnya pada mesin ini untuk memeriksa. Dalam posting blog penulis menggunakan alat baris perintah DacImportExportCli.exe untuk impor yang saya percaya tersedia di http://sqldacexamples.codeplex.com/releases
sumber
Mengenai "Saya tidak bisa mendapatkan impor / ekspor SSIS karena saya mendapatkan kesalahan 'Gagal memasukkan ke dalam kolom read-only" id "'. Ini bisa didapat dengan menentukan di layar pemetaan yang ingin Anda lakukan. memungkinkan elemen Identity untuk dimasukkan.
Setelah itu, semuanya bekerja dengan baik menggunakan wizard Impor / Ekspor SQL untuk menyalin dari Azure ke database lokal.
Saya hanya punya SQL Impor / Ekspor Wizard yang datang dengan SQL Server 2008 R2 (berfungsi dengan baik), dan Visual Studio 2012 Express untuk membuat database lokal.
sumber
Jawaban yang diterima sudah usang. Saya menemukan jawaban yang lebih baik: Gunakan Aplikasi Impor Data-tier
Informasi lebih rinci silakan lihat artikel ini: Mengembalikan Database SQL Azure ke Server Lokal
sumber
Anda dapat mencoba dengan alat "SQL Database Migration Wizard". Alat ini menyediakan opsi untuk mengimpor dan mengekspor data dari azure sql.
Silakan periksa lebih detail di sini.
https://sqlazuremw.codeplex.com/
sumber
Anda bisa menggunakan Layanan Seluler Azure baru untuk melakukan ekspor cadangan malam hari dari SQL Azure ke file .bacpac yang dihosting di Azure Storage. Solusi ini adalah cloud 100%, tidak memerlukan alat pihak ke-3 dan tidak memerlukan turunan SQL Server lokal untuk mengunduh / menyalin / mencadangkan apa pun.
Ada sekitar 8 langkah berbeda, tapi semuanya mudah: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx
sumber
Saya selalu menggunakan Fitur Impor / Ekspor yang tampaknya paling mudah di antara semuanya.
Langkah 1:
Dapatkan cadangan dari instance biru sebagai berikut, Pilih database β Klik kanan β Tugas β Ekspor Aplikasi Data Tier.
Langkah 2: Berikan nama spesifik untuk file cadangan dan simpan di lokasi yang Anda inginkan
Langkah 3: Itu saja Anda telah mengambil cadangan dari database dari sql instance ke lokal Anda. Mari mengembalikannya ke lokal. Salin database yang dicadangkan ke drive C Anda. Sekarang buka PowerShell dengan hak administrator dan navigasikan ke drive C
Langkah 4: Mari unduh skrip powershell untuk menghapus master keyRemoveMasterKey.ps1 memiliki skrip pada drive yang sama dalam hal ini C.
Langkah 5: Jalankan skrip sebagai berikut,. \ RemoveMasterKey.ps1 -bacpacPath "C: \ identity.bacpac"
Itu saja, sekarang Anda dapat mengembalikannya di MSSQL 2017 di lingkungan lokal Anda.
Langkah 6: Sambungkan ke server lokal Anda, dan klik Databases β Import-Data-Tier-Application
Langkah 7 : Berikan nama untuk dipulihkan oleh basis data Anda.
Sekarang Anda akan melihat semuanya berwarna hijau!
Baca blog saya dengan diagram.
sumber
Unduh Optillect SQL Azure Backup - memiliki uji coba 15 hari, sehingga cukup untuk memindahkan database Anda :)
sumber
Trik bagi saya adalah mulai mereplikasi PK / FK / kendala pada DB kosong, kemudian menonaktifkan sementara kendala saat mengimpor data (lihat https://stackoverflow.com/a/161410 ).
Lebih tepatnya:
Semoga ini membantu!
sumber
Sekarang Anda dapat menggunakan SQL Server Management Studio untuk melakukan ini.
sumber
Gunakan layanan Impor / Ekspor di SQL Azure untuk membuat file .bacpac.
Kemudian lihat metode ini di artikel Stack Overflow lainnya.
Azure SQL Database Bacpac Pemulihan Lokal
sumber
Jika ada yang memiliki masalah untuk mengimpor Bacpac dari DB yang menggunakan Azure SQL Sync , Sandrino Di Mattia mengembangkan aplikasi sederhana yang bagus untuk menyelesaikan ini.
sumber
Jika ada yang menginginkan opsi gratis dan efektif (dan tidak keberatan melakukannya secara manual) untuk membuat cadangan basis data ke Lokal, maka gunakan skema dan fungsi perbandingan data yang dibangun dalam versi terbaru Microsoft Visual Studio 2015 Edisi Komunitas (Gratis) atau Profesional / Premium / Ultimate edisi. Itu bekerja seperti pesona!
Saya memiliki akun BizPark dengan Azure dan tidak ada cara untuk mem-backup database secara langsung tanpa membayar. Saya menemukan opsi ini dalam karya VS.
Jawaban diambil dari https://stackoverflow.com/a/685073/6796187
sumber
Hai Saya menggunakan alat SQLAzureMW untuk migrasi dan manajemen SQLAzure DB. Sangat berguna. Itu diunduh dari codeplex, tetapi saat ini tidak tersedia codeplex akan dimatikan, alat aplikasi yang sama sekarang tersedia di GttHub. Tautan di bawah ini menjelaskan cara menggunakan alat ini dan juga tersedia Aplikasi untuk diunduh.
https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md
sumber