Memuat data Microsoft SQL Server ke BigQuery

Catatan: Untuk mendapatkan dukungan atau memberikan masukan terkait fitur ini, hubungi dts-preview-support@google.com.

Untuk menjadwalkan transfer data berulang dari Microsoft SQL Server ke BigQuery, Anda dapat membuat konfigurasi transfer untuk menentukan objek data yang akan ditransfer, dan seberapa sering transfer data dijadwalkan. Setelah Anda menyiapkan konfigurasi transfer, BigQuery Data Transfer Service akan mentransfer data terbaru ke tabel BigQuery sesuai jadwal yang ditentukan.

Untuk mempelajari cara kerja transfer Microsoft SQL Server, lihat Pengantar transfer data Microsoft SQL Server.

Batasan

Tugas transfer data Microsoft SQL Server tunduk pada batasan berikut:

  • Ada jumlah terbatas koneksi simultan ke database Microsoft SQL Server. Oleh karena itu, jumlah operasi transfer simultan ke satu database Microsoft SQL Server juga dibatasi. Pastikan jumlah tugas transfer serentak kurang dari jumlah maksimum koneksi serentak yang didukung oleh database Microsoft SQL Server.
  • Beberapa jenis data Microsoft SQL Server mungkin dipetakan ke jenis STRING di BigQuery untuk menghindari kehilangan data. Misalnya, jenis numerik tertentu di Microsoft SQL Server yang tidak memiliki presisi dan skala yang ditentukan mungkin dipetakan ke STRING di BigQuery. Untuk mengetahui informasi selengkapnya, lihat Pemetaan jenis data.

Batasan transfer inkremental

Transfer Microsoft SQL Server inkremental tunduk pada batasan berikut:

  • Anda hanya dapat memilih TIMESTAMP kolom sebagai kolom watermark.
  • Penyerapan inkremental hanya didukung untuk aset dengan kolom watermark yang valid.
  • Nilai dalam kolom watermark harus meningkat secara monoton.
  • Transfer inkremental tidak dapat menyinkronkan operasi penghapusan di tabel sumber.
  • Satu konfigurasi transfer hanya dapat mendukung penyerapan inkremental atau penuh.
  • Anda tidak dapat memperbarui objek dalam daftar asset setelah penyerapan inkremental pertama dijalankan.
  • Anda tidak dapat mengubah mode tulis dalam konfigurasi transfer setelah operasi penyerapan inkremental pertama.
  • Anda tidak dapat mengubah kolom watermark atau kunci utama setelah operasi penyerapan inkremental pertama.
  • Tabel BigQuery tujuan dikelompokkan menggunakan kunci utama yang disediakan dan tunduk pada batasan tabel pengelompokan.
  • Saat Anda memperbarui konfigurasi transfer yang ada ke mode penyerapan inkremental untuk pertama kalinya, transfer data pertama setelah pembaruan tersebut akan mentransfer semua data yang tersedia dari sumber data Anda. Setiap transfer data inkremental berikutnya hanya akan mentransfer baris baru dan yang diperbarui dari sumber data Anda.
  • Sebaiknya buat indeks pada kolom watermark. Konektor ini menggunakan kolom watermark untuk filter dalam transfer inkremental, sehingga pengindeksan kolom ini dapat meningkatkan performa.
  • Saat melakukan transfer inkremental, Anda harus menggunakan pemetaan jenis data yang diperbarui.

Sebelum memulai

Sebelum dapat menjadwalkan transfer data Microsoft SQL Server, Anda harus memenuhi prasyarat berikut.

Prasyarat Microsoft SQL Server

Anda harus sudah membuat akun pengguna di database Microsoft SQL Server. Untuk mengetahui informasi selengkapnya, lihat Membuat pengguna dengan login.

Prasyarat BigQuery

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat transfer data Microsoft SQL Server, minta administrator untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat transfer data Microsoft SQL Server. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat transfer data Microsoft SQL Server:

  • bigquery.transfers.update
  • bigquery.datasets.get

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Konfigurasi jaringan

Anda harus menyiapkan konfigurasi jaringan tertentu jika alamat IP publik tidak tersedia untuk koneksi database Microsoft SQL Server. Untuk informasi selengkapnya, lihat bagian berikut:

Menyiapkan transfer data Microsoft SQL Server

Pilih salah satu opsi berikut:

Konsol

  1. Buka halaman Transfer data.

    Buka Transfer data

  2. Klik Create transfer.

  3. Di bagian Source type, untuk Source, pilih Microsoft SQL Server.

  4. Di bagian Detail sumber data, lakukan hal berikut:

    • Untuk Network attachment, pilih lampiran jaringan yang ada atau klik Create Network Attachment.
    • Untuk Host, masukkan nama host atau alamat IP database Microsoft SQL Server.
    • Untuk Port number, masukkan nomor port untuk database Microsoft SQL Server.
    • Untuk Database name, masukkan nama database Microsoft SQL Server.
    • Untuk Username, masukkan nama pengguna Microsoft SQL Server yang memulai koneksi database Microsoft SQL Server.
    • Untuk Password, masukkan sandi pengguna Microsoft SQL Server yang memulai koneksi database Microsoft SQL Server.
    • Untuk TLS Mode, pilih opsi dari menu. Untuk mengetahui informasi selengkapnya tentang mode TLS, lihat Konfigurasi TLS.
    • Untuk Trusted PEM Certificate, masukkan sertifikat publik dari certificate authority (CA) yang menerbitkan sertifikat TLS server database. Untuk mengetahui informasi selengkapnya, lihat Sertifikat Server Tepercaya (PEM).
    • Untuk Enable legacy mapping, pilih true (default) untuk menggunakan pemetaan jenis data lama. Pilih false untuk menggunakan pemetaan jenis data yang diperbarui. Jika Anda melakukan transfer inkremental, nilai ini harus false. Untuk mengetahui informasi selengkapnya tentang update pemetaan jenis data, lihat 16 Maret 2027. server database.
    • Untuk Ingestion type, pilih Full atau Incremental.
      • Jika Anda memilih Incremental (Preview), untuk Write mode, pilih Append atau Upsert. Untuk mengetahui informasi selengkapnya tentang berbagai mode tulis, lihat Transfer penuh atau inkremental.
    • Untuk Microsoft SQL Server objects to transfer, jelajahi tabel Microsoft SQL Server atau masukkan nama tabel yang diperlukan untuk transfer secara manual.
  5. Di bagian Destination settings, untuk Dataset, pilih set data yang Anda buat untuk menyimpan data, atau klik Create new dataset dan buat set data untuk digunakan sebagai set data tujuan.

  6. Di bagian Transfer config name, untuk Display name, masukkan nama tampilan untuk transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.

  7. Di bagian Opsi jadwal, lakukan tindakan berikut:

    • Pilih frekuensi pengulangan. Jika memilih opsi Jam, Hari (default), Minggu, atau Bulan, Anda juga harus menentukan frekuensinya. Anda juga dapat memilih opsi Custom untuk membuat frekuensi pengulangan yang lebih spesifik. Jika Anda memilih opsi On-demand, transfer data ini hanya akan berjalan saat Anda memicu transfer secara manual.
    • Jika berlaku, pilih opsi Start now atau Start at a set time, lalu masukkan tanggal mulai dan waktu proses.
  8. Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:

    • Untuk mengaktifkan notifikasi email, klik tombol Notifikasi email ke posisi aktif. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
    • Untuk mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda, klik tombol Pub/Sub notifications ke posisi aktif. Anda dapat memilih nama topik atau mengklik Create a topic untuk membuatnya.
  9. Opsional: Di bagian Advanced options, pilih jenis enkripsi untuk transfer ini. Anda dapat memilih Google-owned and Google-managed encryption key atau kunci Cloud Key Management Service milik pelanggan. Untuk mengetahui informasi selengkapnya tentang kunci enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

  10. Klik Simpan.

bq

Masukkan perintah bq mk dan berikan flag pembuatan transfer --transfer_config:

bq mk \
    --transfer_config \
    --project_id=PROJECT_ID \
    --data_source=DATA_SOURCE \
    --display_name=DISPLAY_NAME \
    --target_dataset=DATASET \
    --params='PARAMETERS'

Ganti kode berikut:

  • PROJECT_ID (opsional): project ID Google Cloud Anda. Jika flag --project_id tidak diberikan untuk menentukan project tertentu, project default akan digunakan.
  • DATA_SOURCE: sumber data, yaitu sqlserver.
  • DISPLAY_NAME: nama tampilan untuk konfigurasi transfer data. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
  • DATASET: set data target untuk konfigurasi transfer data.
  • PARAMETERS: parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Berikut adalah parameter untuk transfer Microsoft SQL Server:

    • connector.networkAttachment (opsional): nama lampiran jaringan yang akan dihubungkan ke database Microsoft SQL Server.
    • connector.database: nama database Microsoft SQL Server.
    • connector.endpoint.host: nama host atau alamat IP database.
    • connector.endpoint.port: nomor port database.
    • connector.authentication.username: nama pengguna dari pengguna database.
    • connector.authentication.password: sandi pengguna database.
    • connector.legacyMapping: ditetapkan ke true (default) untuk menggunakan pemetaan jenis data lama. Tetapkan ke false untuk menggunakan pemetaan jenis data yang diperbarui. Jika Anda melakukan transfer inkremental, nilai ini harus false. Untuk mengetahui informasi selengkapnya tentang update pemetaan jenis data, lihat 16 Maret 2027.
    • connector.tls.mode: tentukan konfigurasi TLS yang akan digunakan dengan transfer ini:
      • ENCRYPT_VERIFY_CA_AND_HOST untuk mengenkripsi data, serta memverifikasi CA dan nama host
      • ENCRYPT_VERIFY_CA untuk mengenkripsi data, dan hanya memverifikasi CA
      • ENCRYPT_VERIFY_NONE hanya untuk enkripsi data
      • DISABLE tanpa enkripsi atau verifikasi
    • connector.tls.trustedServerCertificate: (opsional) memberikan satu atau beberapa sertifikat berenkode PEM. Hanya diperlukan jika nilai connector.tls.mode adalah ENCRYPT_VERIFY_CA_AND_HOST atau ENCRYPT_VERIFY_CA.
    • ingestionType: tentukan full atau incremental. Transfer inkremental didukung dalam pratinjau. Untuk mengetahui informasi selengkapnya, lihat Transfer penuh atau inkremental.
    • writeMode: tentukan WRITE_MODE_APPEND atau WRITE_MODE_UPSERT.
    • watermarkColumns: menentukan kolom dalam tabel Anda sebagai kolom watermark. Kolom ini wajib diisi untuk transfer inkremental.
    • primaryKeys: menentukan kolom dalam tabel Anda sebagai kunci utama. Kolom ini wajib diisi untuk transfer inkremental.
    • assets: daftar nama tabel Microsoft SQL Server yang akan ditransfer dari database Microsoft SQL Server sebagai bagian dari transfer.

Misalnya, perintah berikut akan membuat transfer Microsoft SQL Server bernama My Transfer:

bq mk \
    --transfer_config
    --target_dataset=mydataset
    --data_source=sqlserver
    --display_name='My Transfer'
    --params='{"assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"],
        "connector.authentication.username": "User1",
        "connector.authentication.password":"ABC12345",
        "connector.database":"DB1",
        "connector.endpoint.host":"192.168.0.1",
        "connector.endpoint.port":"1520",
        "connector.networkAttachment":"projects/dev-project1/regions/us-central1/networkattachments/na1",
        "ingestionType":"incremental",
        "writeMode":"WRITE_MODE_APPEND",
        "watermarkColumns":["createdAt","createdAt"],
        "primaryKeys":[['dep_id'], ['report_by','report_title']],
        "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST",
        "connector.tls.trustedServerCertificate": "PEM-encoded certificate"}'

Saat menentukan beberapa aset selama transfer inkremental, nilai kolom watermarkColumns dan primaryKeys sesuai dengan posisi nilai di kolom assets. Dalam contoh berikut, dep_id sesuai dengan tabel DB1/DEPARTMENT, sedangkan report_by dan report_title sesuai dengan tabel DB1/EMPLOYEES.

      "primaryKeys":[['dep_id'], ['report_by','report_title']],
      "assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"],
  

Saat Anda menyimpan konfigurasi transfer, konektor Microsoft SQL Server akan otomatis memicu operasi transfer sesuai dengan opsi jadwal Anda. Dengan setiap operasi transfer, konektor Microsoft SQL Server mentransfer semua data yang tersedia dari Microsoft SQL Server ke BigQuery.

Untuk menjalankan transfer data secara manual di luar jadwal reguler, Anda dapat memulai operasi pengisian ulang.

Memecahkan masalah

Untuk memecahkan masalah terkait transfer data Anda, lihat Masalah transfer Microsoft SQL Server.

Metadata transfer

Anda juga dapat menggunakan konektor Microsoft SQL Server untuk mentransfer metadata ke Knowledge Catalog. Untuk mengetahui informasi selengkapnya, lihat Memuat metadata Microsoft SQL Server ke Knowledge Catalog.

Langkah berikutnya