Tuesday, June 28, 2022

Migrasi Master Data Services [ MDS ] pada SQL Server

 

Migrasi MDS 1 : Skrip Perintah CMD

  1. Ekspor model ke dalam file paket, lalu,

  2. Jalankan skrip perintah CMD lain yang pada dasarnya akan menerapkan model ke instance MDS targetnya

Sumber MDS untuk menargetkan pemetaan model

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.

Parameter MDSModelDeploy untuk menerapkan model MDS


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.

    Konfigurasi Basis Data di Manajer Konfigurasi MDS

  • 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.

    Menghapus model di SQL Server MDS


Pemulihan basis data MDS pendekatan ini memiliki kekurangan :
 
Pertama, tergantung pada jumlah model yang harus dimigrasi, dan harus menyalin dan memulihkan file cadangan database yang sama ke beberapa lingkungan MDS. Setelah dipulihkan, maka harus mengedit lagi Database Configurations instans MDS serta hapus salinan model apa pun yang tidak berlaku di lingkungan tertentu. 

Kedua, mengharuskan untuk memiliki izin yang lebih tinggi untuk melakukan, di antara tugas-tugas lain:
  • 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
Ketiga, pendekatan ini memerlukan waktu henti aplikasi web MDS sehingga dapat melakukan konfigurasi ulang basis data dan penghapusan model yang tidak digunakan. Bergantung pada organisasi, menjadikan instans MDS offline mungkin mengganggu operasi bisnis.

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.

Jalankan Editor Tugas Proses di SSIS

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.

Jalankan argumen Tugas Proses di SSIS

Setelah mengonfigurasi, Execute Process Task, lalu mengalihkan fokus untuk menetapkan variabel paket SSIS. Menetapkan nilai ke variabel paket SSIS melibatkan sedikit pekerjaan:

  1. 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.

    Hasil eksekusi T-Script

  2. Konfigurasi Jalankan Tugas SQL

    Selanjutnya, skrip T-SQL dimasukan ke Execute SQL Task komponen dalam paket SSIS.

    Jalankan Editor Tugas SQL di 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


    Hasil set pemetaan ke variabel paket SSIS

  3. Konfigurasikan ForEach Loop Container

    Selanjutnya, kita mengkonfigurasi a ForEach Loop Container untuk mengulangi isi dari modelList variabel.

    ForEach Loop Editor di SSIS


    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 di SSIS


    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

    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.

Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...