Database SQL Server sumber

Halaman ini berisi informasi tentang:

  • Perilaku cara Datastream menangani data yang diambil dari database SQL Server sumber.
  • Versi database SQL Server yang didukung Datastream.
  • Batasan yang diketahui untuk menggunakan database SQL Server sebagai sumber.

Perilaku

Datastream melacak perubahan bahasa manipulasi data (DML) menggunakan salah satu metode CDC berikut:

Mengubah tabel

Metode CDC tabel perubahan memungkinkan pengguna mempertahankan log untuk waktu yang lebih singkat, sehingga menghemat ruang penyimpanan, tetapi mendukung throughput yang lebih rendah dibandingkan dengan metode log transaksi. Metode ini memiliki lebih sedikit batasan daripada log transaksi. Misalnya, hal ini menghilangkan risiko pemotongan log yang menyebabkan streaming gagal secara permanen, dan mendukung replikasi tabel terenkripsi. Untuk mengetahui informasi selengkapnya, lihat Batasan umum.

Saat menggunakan metode CDC ini, perubahan pada sumber dilacak menggunakan tabel perubahan khusus. Log transaksi masih digunakan, tetapi dalam batas tertentu, dan Anda tidak perlu menyimpannya dalam waktu yang lebih lama. Saat peristiwa DML diterapkan ke tabel sumber, perubahan direplikasi ke tabel perubahan yang sesuai. Tabel perubahan memiliki struktur yang sama dengan tabel sumber, tetapi dengan kolom tambahan untuk menyertakan metadata perubahan. Hanya transaksi yang di-commit yang ditambahkan ke tabel perubahan, beserta nomor urut log (LSN) operasi commit.

Log transaksi

Saat menggunakan metode CDC ini, Datastream membaca perubahan di sumber secara langsung dari log transaksi. Metode ini memerlukan lebih sedikit resource dan memungkinkan pengambilan data yang lebih cepat, tetapi memiliki lebih banyak batasan.

Untuk mencegah kehilangan data, log tidak boleh terpotong sebelum Datastream membacanya. Di sisi lain, jika Anda menyimpan file log terlalu lama, file tersebut akan menghabiskan ruang penyimpanan, yang pada akhirnya dapat menyebabkan instance database masuk ke mode hanya baca.

Untuk memastikan pembaca CDC memiliki cukup waktu untuk membaca log sekaligus mengizinkan pemotongan log untuk mengosongkan ruang penyimpanan, Anda perlu menerapkan langkah konfigurasi tambahan, seperti mengubah interval polling dan menyiapkan pengamanan pemotongan. Langkah-langkah ini memberikan lapisan perlindungan tambahan untuk memastikan bahwa Datastream dapat membaca data meskipun ada periode nonaktif di sisi Datastream atau masalah konektivitas antara database sumber dan Datastream.

Untuk petunjuk mendetail tentang cara menerapkan tindakan tambahan ini, lihat halaman Mengonfigurasi database SQL Server sumber dan pilih jenis database Anda.

Versi

Datastream mendukung versi dan edisi database SQL Server berikut:

  • Dikelola sendiri (di lokal atau dihosting di cloud) menggunakan versi berikut:
    • Enterprise: 2008 dan yang lebih baru
    • Standar: 2016 SP1 dan yang lebih baru
    • Developer: 2008 dan yang lebih baru
  • Amazon RDS for SQL Server
  • Azure SQL Database (tingkat S3 dan yang lebih tinggi).

  • Cloud SQL untuk SQL Server

Datastream tidak mendukung versi database SQL Server berikut:

  • Edisi SQL Server Standard dari versi 2008 hingga 2014
  • SQL Server Express
  • SQL Server Web

Batasan umum

Batasan yang diketahui untuk menggunakan database SQL Server sebagai sumber meliputi:

  • Aliran data dibatasi hingga 10.000 tabel.
  • Tabel yang memiliki lebih dari 500 juta baris tidak dapat diisi ulang kecuali jika kondisi berikut terpenuhi:
    1. Tabel memiliki indeks unik.
    2. Tidak ada kolom indeks yang nullable.
    3. Semua kolom indeks disertakan dalam aliran data.
  • Database dengan ketahanan tertunda atau pemulihan database yang dipercepat (ADR) yang diaktifkan tidak didukung.
  • Streaming perubahan pada tabel sistem tidak didukung.
  • Autentikasi Windows Active Directory (AD) tidak didukung.
  • Jenis data berikut tidak didukung, dan tidak direplikasi ke tujuan:
    • SQL_VARIANT
    • HIERARCHYID
    • GEOMETRY
    • GEOGRAPHY
  • Datastream mereplikasi jenis data yang ditentukan pengguna, tetapi ini adalah jenis data dasar yang Anda gunakan untuk mendapatkan jenis yang ditentukan pengguna yang disimpan di tujuan. Misalnya, jika Anda menentukan jenis data USERNAME berdasarkan jenis data VARCHAR(50), data akan disimpan di tujuan sebagai VARCHAR(50).
  • Datastream tidak mendukung CDC untuk kolom objek besar (TEXT, NTEXT, XML, IMAGE) dan kolom panjang variabel maksimum (VARCHAR(MAX), VARBINARY(MAX), NVARCHAR(MAX)) dalam tabel tanpa indeks unik.

    Jika kolom objek besar tidak disertakan dalam streaming, CDC akan didukung.

  • Datastream tidak mendukung replikasi perubahan skema sumber saat menggunakan metode CDC tabel perubahan. Perubahan skema berikut dapat menyebabkan kerusakan data atau kegagalan untuk memproses peristiwa:

    • Menambahkan kolom: kolom baru tidak direplikasi ke tujuan.
    • Menghapus kolom: data dalam kolom ini diganti dengan nilai NULL.
    • Mengubah jenis data: Datastream mencoba menyisipkan data ke tujuan dan menampilkan error jika data ditolak.
    • Mengganti nama kolom: tidak didukung untuk SQL Server saat CDC diaktifkan.
  • Datastream tidak mendukung penyamaran data. Data direplikasi tanpa masking.

  • Datastream tidak mendukung replikasi perubahan yang diterapkan ke database menggunakan paket Data Tier Application Package (DACPAC).

  • Datastream tidak mereplikasi perubahan yang dilakukan menggunakan pernyataan WRITETEXT atau UPDATETEXT.

  • Datastream tidak mendukung replikasi kolom yang dihitung kecuali jika kolom tersebut ditandai PERSISTED.

  • Datastream tidak mendukung jenis kompresi PAGE, COLUMNSTORE, atau COLUMNSTORE ARCHIVE.

Batasan tambahan saat menggunakan metode log transaksi

Jika Anda menggunakan metode CDC log transaksi, batasan tambahan berikut berlaku:

  • Enkripsi Data Transparan (TDE) tidak didukung.
  • Enkripsi Tingkat Kolom tidak didukung. Data dalam kolom ini diganti dengan nilai NULL.
  • Datastream tidak mendukung pernyataan ROLLBACK TO SAVEPOINT. Peristiwa rollback tersebut diabaikan dan tidak direplikasi ke tujuan.
  • Datastream tidak mendukung CDC untuk baris yang lebih besar dari 8 KB dalam jenis tabel berikut:
    • Tabel tanpa indeks unik
    • Tabel yang hanya berisi indeks unik non-cluster dengan satu atau beberapa kolom dengan panjang variabel (VARCHAR, VARBINARY, NVARCHAR)
  • Datastream tidak mendukung CDC untuk kolom objek besar (TEXT, NTEXT, XML, IMAGE) dalam jenis tabel berikut:

    • Tabel tanpa indeks unik
    • Tabel yang hanya berisi indeks unik non-cluster dengan satu atau beberapa kolom dengan panjang variabel (VARCHAR, VARBINARY, NVARCHAR)

    Jika kolom objek besar tidak disertakan dalam streaming, CDC hanya didukung untuk tabel tersebut jika memiliki indeks yang valid.

Langkah selanjutnya