All Products
Search
Document Center

Data Management:Perubahan SQL

Last Updated:Mar 29, 2026

SQL Correct memungkinkan Anda menentukan aturan keamanan yang mengontrol pernyataan SQL mana yang dapat diajukan dan dieksekusi untuk perubahan data. Aturan tersebut ditulis dalam bahasa domain-spesifik (DSL) dan dikelompokkan ke dalam checkpoint—masing-masing checkpoint mengatur tahap tertentu dalam alur kerja perubahan data.

Prasyarat

Sebelum memulai, pastikan Anda memiliki salah satu peran berikut:

  • DMS administrator

  • Database administrator (DBA)

  • Security administrator

Cara kerja

Saat tiket perubahan data diajukan, DMS mengevaluasinya berdasarkan aturan keamanan yang dikonfigurasi di tab SQL Correct. Anda dapat menentukan tingkat risiko untuk perubahan data sesuai kebutuhan bisnis, lalu menetapkan proses persetujuan berbeda untuk tiket dengan tingkat risiko berbeda—mulai dari proses persetujuan ketat yang mengontrol eksekusi semua pernyataan SQL hingga proses longgar yang memungkinkan eksekusi tanpa persetujuan.

Resolusi konflik

Jika dua aturan yang saling bertentangan sama-sama diaktifkan, aturan yang lebih ketat akan berlaku. Misalnya, jika “Semua DML dapat dieksekusi langsung di SQL Console” dan “Semua DML harus dieksekusi melalui tiket” sama-sama diaktifkan, maka aturan kedua yang berlaku.

Checkpoint

Basic Configuration Item

Checkpoint ini menyediakan lima aturan default yang berlaku sebagai pengaturan default sistem secara keseluruhan.

RuleDescription
Data change default approval TemplateTemplat persetujuan default untuk tiket perubahan data. ID templat default: 853; pemberi persetujuan default: DBA dari database yang terlibat.
Data Change risk level listMenentukan tingkat risiko yang tersedia untuk digunakan oleh Risk Identification Rules dan Risk Approval Rules. Tingkat default: LOW (risiko rendah), MIDDLE (risiko menengah), HIGH (risiko tinggi), HIGHEST (risiko sangat tinggi).
Whether data import supports selecting speed modeMenentukan apakah data dapat diimpor dalam mode kecepatan. Untuk detailnya, lihat Import data.
Skip Validation on Affected Rows for Regular Data ChangeJika diaktifkan, pemeriksaan awal melewati verifikasi jumlah baris untuk tiket perubahan data.
The Normal Data Modify ticket cannot be submitted if the specified number of affected rows is inconsistent with the result of the row count verification.Jika diaktifkan, tiket tidak dapat diajukan jika jumlah baris yang terpengaruh yang ditentukan berbeda dari hasil pemeriksaan awal.

SQL execution rules

SQL execution rules mengontrol pernyataan SQL mana yang dapat dijalankan langsung di SQL Console dan mana yang memerlukan tiket.

Contoh: Izinkan UPDATE, DELETE, dan INSERT dijalankan langsung hanya di lingkungan non-produksi:

if
  @fac.env_type not in ['product']
  and
  @fac.sql_type in ['UPDATE','DELETE','INSERT']
then
  @act.allow_submit
end

Risk Identification Rules

Risk Identification Rules mengklasifikasikan setiap perubahan data ke dalam tingkat risiko tertentu. Jika beberapa aturan sesuai dengan perubahan yang sama, tingkat risiko tertinggi yang diterapkan.

Contoh: Tandai perubahan data di lingkungan non-produksi dan non-pra-rilis sebagai risiko rendah:

if
  @fac.env_type not in ['product','pre']
then
  @act.mark_risk 'low' 'Low risk level: offline environment'
end

Risk Approval Rules

Risk Approval Rules memetakan tingkat risiko ke proses persetujuan. Jika suatu perubahan data tidak sesuai dengan Risk Identification Rule mana pun, DMS menggunakan templat persetujuan yang ditentukan dalam aturan Data change default approval Template di bawah Basic Configuration Item.

Contoh perilaku default: Lingkungan offline (diidentifikasi sebagai risiko rendah) tidak memerlukan persetujuan.

Batch Data import rules

Aturan ini hanya berlaku untuk tiket impor data dan dievaluasi secara terpisah dari alur kerja perubahan data.

Contoh aturan: Izinkan impor massal pernyataan INSERT.

Faktor dan aksi

Aturan ditulis menggunakan faktor (@fac.*) dan aksi (@act.*). Faktor merepresentasikan variabel konteks—seperti tipe lingkungan, tipe SQL, atau jumlah baris yang terpengaruh. Aksi menentukan apa yang terjadi ketika kondisi aturan terpenuhi.

Faktor

Tabel 1. Faktor yang tersedia di tab SQL Correct

FactorTypeDescription
@fac.env_typeStringTipe lingkungan database, seperti DEV atau PRODUCT. Lihat Change the environment type of an instance.
@fac.sql_typeStringSubkategori pernyataan SQL, seperti UPDATE atau INSERT. Lihat daftar lengkap subkategori di SQL Console for relational databases.
@fac.detail_typeStringTipe tiket perubahan data: COMMON (Normal Data Modify), CHUNK_DML (Lockless change), PROCEDURE (Programmable Object), CRON_CLEAR_DATA (History Data Clean), BIG_FILE (Large Data Import).
@fac.is_logicBooleanApakah database target merupakan database logis.
@fac.is_ignore_affect_rowsBooleanApakah verifikasi jumlah baris dilewati.
@fac.insert_rowsNumberJumlah baris yang akan dimasukkan.
@fac.update_delete_rowsNumberJumlah baris yang akan diperbarui atau dihapus.
@fac.max_alter_table_sizeNumberUkuran ruang tabel terbesar yang berisi tabel yang akan dimodifikasi.
@fac.is_has_security_columnBooleanApakah pernyataan SQL melibatkan bidang sensitif.
@fac.security_column_listListBidang sensitif yang terlibat dalam pernyataan SQL.
@fac.risk_levelStringTingkat risiko yang ditetapkan untuk perubahan data.
@fac.risk_reasonStringAlasan perubahan data diberi tingkat risiko tersebut.
@fac.table_name_listListNama tabel yang terlibat dalam perubahan data.
@fac.extra_infoStringInformasi tambahan tiket. Saat ini tidak digunakan.

Contoh: Tandai perubahan pada tabel pesanan sebagai risiko tinggi:

if
  'tb_order' in @fac.table_name_list or 'tb1_order' in @fac.table_name_list
then
  @act.mark_risk 'high' 'High-level risk: involving order table'
end

Aksi

Tabel 2. Aksi yang tersedia di tab SQL Correct

ActionDescription
@act.allow_submitMengizinkan pernyataan SQL diajukan dalam tiket.
@act.allow_execute_directMengizinkan pernyataan SQL dijalankan langsung di SQL Console.
@act.forbid_executeMemblokir eksekusi pernyataan SQL.
@act.mark_riskMenetapkan tingkat risiko untuk perubahan data. Format: @act.mark_risk 'middle' 'Medium-level risk: online environment'.
@act.do_not_approveMenentukan ID templat persetujuan. Untuk detailnya, lihat Configure approval processes.
@act.choose_approve_template
@act.choose_approve_template_with_reason

Ubah templat persetujuan default

  1. Masuk ke DMS console V5.0.

  2. Arahkan penunjuk ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Catatan

    Jika Anda menggunakan DMS console dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules di bilah navigasi atas.

  3. Di tab Security Rules, temukan set aturan keamanan dan klik Edit di kolom Actions.

  4. Di halaman Details, klik tab SQL Correct di sebelah kiri.

  5. Pilih Basic Configuration Item untuk parameter Checkpoints.

  6. Temukan aturan Data change default approval Template dan klik Edit di kolom Actions.

  7. Di kotak dialog Change Configuration Item, klik Switch Approval Template.

  8. Di kotak dialog Switch Approval Template, temukan templat dan klik Select di kolom Actions.

    Untuk menghapus persyaratan persetujuan sepenuhnya, klik Reset to Free of Approval.

  9. Klik Submit.