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
STRINGdi BigQuery untuk menghindari kehilangan data. Misalnya, jenis numerik tertentu di Microsoft SQL Server yang tidak memiliki presisi dan skala yang ditentukan mungkin dipetakan keSTRINGdi 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
TIMESTAMPkolom 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
assetsetelah 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
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery untuk menyimpan data Anda.
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:
- Mengonfigurasi koneksi ke instance Google Cloud
- Mengonfigurasi koneksi ke AWS
- Mengonfigurasi koneksi ke Azure
Menyiapkan transfer data Microsoft SQL Server
Pilih salah satu opsi berikut:
Konsol
Buka halaman Transfer data.
Klik Create transfer.
Di bagian Source type, untuk Source, pilih Microsoft SQL Server.
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.
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.
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.
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.
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.
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).
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_idtidak diberikan untuk menentukan project tertentu, project default akan digunakan.DATA_SOURCE: sumber data, yaitusqlserver.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 ketrue(default) untuk menggunakan pemetaan jenis data lama. Tetapkan kefalseuntuk menggunakan pemetaan jenis data yang diperbarui. Jika Anda melakukan transfer inkremental, nilai ini harusfalse. 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_HOSTuntuk mengenkripsi data, serta memverifikasi CA dan nama hostENCRYPT_VERIFY_CAuntuk mengenkripsi data, dan hanya memverifikasi CAENCRYPT_VERIFY_NONEhanya untuk enkripsi dataDISABLEtanpa enkripsi atau verifikasi
connector.tls.trustedServerCertificate: (opsional) memberikan satu atau beberapa sertifikat berenkode PEM. Hanya diperlukan jika nilaiconnector.tls.modeadalahENCRYPT_VERIFY_CA_AND_HOSTatauENCRYPT_VERIFY_CA.ingestionType: tentukanfullatauincremental. Transfer inkremental didukung dalam pratinjau. Untuk mengetahui informasi selengkapnya, lihat Transfer penuh atau inkremental.writeMode: tentukanWRITE_MODE_APPENDatauWRITE_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"],
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
- Baca ringkasan tentang BigQuery Data Transfer Service.
- Pelajari cara mengelola transfer, termasuk mendapatkan informasi tentang konfigurasi transfer, membuat listingan konfigurasi transfer, dan melihat histori pelaksanaan transfer.
- Pelajari cara memuat data dengan operasi BigQuery Omni.