Migrasi MDS 1 : Skrip Perintah CMD
Ekspor model ke dalam file paket, lalu,
Jalankan skrip perintah CMD lain yang pada dasarnya akan menerapkan model ke instance MDS targetnya
Kelemahan pendekatan semacam itu adalah bahwa hal itu rawan kesalahan. Ini karena, semakin banyak model MDS yang harus dimigrasikan, semakin lama prosesnya karena diperlukan mengedit dan memelihara skrip perintah CMD untuk memastikan, antara lain, bahwa parameter sumber-ke-target ditentukan dengan benar termasuk nama model , layanan MDS serta lokasi file paket, seperti yang ditunjukkan dalam gambar dibawah.
Migrasi MDS 2: Pencadangan/Pemulihan Database MDS
Penulisan perintah CMD untuk memigrasi satu model MDS pada satu waktu, harus mempertimbangkan: Pencadangan/pemulihan basis data MDS opsi yang melibatkan pengambilan cadangan database MDS dan memulihkannya di lingkungan MDS lain.
Langkah 1: Cadangkan & Pulihkan Basis Data MDS
Baik pencadangan dan pemulihan basis data dapat dilakukan menggunakan alat berbasis GUI seperti Studio Manajemen SQL Server atau dapat dilakukan dengan menggunakan skrip T-SQL.
Langkah 2: Konfigurasikan Basis Data Target
Setelah pemulihan yang berhasil, harus memperlihatkan MDS Configuration Manager dan edit Database Configuration instans target MDS untuk memanfaatkan database yang baru dipulihkan seperti yang ditunjukkan pada Gambar.
Langkah 3: Hapus Model yang Tidak Digunakan
Karena pendekatan ini memulihkan seluruh instans MDS, mungkin harus menghapus model yang tidak berlaku untuk lingkungan target. Untuk melakukannya, buka aplikasi web MDS, klik System Administration dan klik Delete untuk menghapus model.
- Cadangan basis data SQL Server
- Pemulihan basis data SQL Server
- Akses salin/bagikan file database, serta,
- Akses administrasi sistem untuk menghapus model yang tidak perlu di aplikasi web MDS
Migrasi MDS 3: SSIS Scripting
Kedua pendekatan ( Skrip perintah CMD dan Pemulihan basis data MDS) berbeda dalam cara melakukan migrasi model massal MDS, keduanya memiliki batasan yang mendasarinya karena kedua pendekatan sangat bergantung pada eksekusi manual dari proses. Sebagian besar penyebaran produksi biasanya dilakukan selama jam kerja di luar jam sibuk (yaitu setelah jam kerja, pada akhir pekan, hari libur, dll.) dan dengan demikian memerlukan artefak penyebaran untuk diotomatisasi dengan sedikit atau tanpa campur tangan pengguna.
Oleh karena itu, pendekatan yang diambil adalah Penulisan SSIS yang melibatkan panggilan MDSModelDeploy.exe utilitas dalam Layanan Integrasi SQL Server (SSIS). Untuk otomatisasi dan penjadwalan, paket SSIS juga dapat dikonfigurasi untuk dijalankan menggunakan alat penjadwal seperti pekerjaan agen Server SQL.
Sama seperti Skrip perintah CMD pendekatan, Penulisan SSIS pendekatan menggunakan MDSModelDeploy.exe utilitas untuk mengekspor model MDS ke dalam file paket dan sekali lagi untuk menyebarkan file paket tersebut ke lingkungan target MDS masing-masing. Namun, kedua pendekatan berbeda dalam cara meneruskan nilai parameter ke MDSModelDeploy.exe kegunaan. Tidak seperti di Skrip perintah CMD argumen dalam Penulisan SSIS pendekatan diatur secara dinamis pada runtime paket SSIS.
Pada gambar dibawah menunjukkan Execute Process Task Editor itu Executable properti diatur ke lokasi kami MDSModelDeploy.exe kegunaan.
Itu Arguments milik dari Execute Process Task diatur melalui ekspresi seperti yang ditunjukkan dalam Gambar dibawah. Ekspresi, pada gilirannya, menggunakan variabel paket untuk menetapkan nama model dan nama file paket.
Setelah mengonfigurasi, Execute Process Task, lalu mengalihkan fokus untuk menetapkan variabel paket SSIS. Menetapkan nilai ke variabel paket SSIS melibatkan sedikit pekerjaan:
Mendapatkan daftar nama model MDS
Tulis skrip T-SQL yang mengekstrak daftar model MDS yang ada dari instance MDS yang diberikan. Selain mengambil nama model, skrip juga membuat kolom turunan yang menentukan lokasi save-as.
PILIH
[Name]
‘C:MDSExport’ + [Name] + ‘.pkg’ sebagai [SaveAs]
DARI [MDS16].[mdm].[tblModel]
Eksekusi dari Skrip 1 mengembalikan tiga model dari contoh contoh MDS seperti yang ditunjukkan pada gambar.
Konfigurasi Jalankan Tugas SQL
Selanjutnya, skrip T-SQL dimasukan ke Execute SQL Task komponen dalam paket SSIS.
Jalankan SQL Task Editor di SSIS
Setelah mengonfigurasi komponen Execute SQL Task lalu kembali ke Full result set yang disimpan dalam variabel objek yang disebut modelList.
Hasil set pemetaan ke variabel paket SSIS
Konfigurasikan ForEach Loop Container
Selanjutnya, kita mengkonfigurasi a ForEach Loop Container untuk mengulangi isi dari modelList variabel.
ForEach Loop Editor di SSIS
Untuk setiap iterasi, isi dari modelList variabel dipetakan terhadap variabel paket yang digunakan untuk menetapkan argumen.
Pemetaan variabel di ForEach Loop Editor
Pada titik ini, paket SSIS telah dikonfigurasi dengan komponen berikut:
- Execute SQL Task untuk mengekstrak nama model sumber MDS
- ForEach Loop Container untuk beralih melalui daftar model dan menetapkan variabel paket
- Execute Process Task untuk mengekspor model MDS ke dalam file paket MDS
Gambar dibawah menunjukkan bagaimana semua komponen telah bergabung bersama-sama. Bisa juga dilihat adalah bahwa telah menambahkan yang lain Execute Process Task dalam ForEach Loop Container untuk menerapkan model MDS untuk menargetkan instans MDS. Jadi, untuk setiap model MDS – dalam daftar mengekspor ke direktori lokal dan kemudian mengimpornya ke instans MDS targetnya.
Eksekusi komponen SSIS yang berhasil
Edit a File System Task yang akan melakukan pembersihan dengan menghapus atau mengarsipkan salinan paket file MDS setelah disebarkan.
Pada tutor ini, telah diperlihatkan beberapa pendekatan untuk memigrasi instans MDS yang berisi beberapa model ke lingkungan MDS lainnya. Dengan mendemonstrasikan pro dan kontra melakukan migrasi model massal MDS dengan menjalankan MDSModelDeploy.exe utilitas melalui jendela prompt perintah. juga mencantumkan semua izin akses yang diperlukan untuk menerapkan Pemulihan basis data MDS. Pada akhirnya, Penulisan SSIS Pendekatan ini dianggap lebih cocok untuk penyebaran produksi karena kemampuannya untuk menjadi dinamis, terjadwal dan otomatis.