Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ubah dukungan pengambilan data (CDC) dengan RDS Custom untuk SQL Server
Gambaran Umum
RDS Custom for SQL Server menyediakan dukungan asli untuk Change data capture (CDC), memungkinkan Anda untuk melacak dan menangkap modifikasi data dalam tabel SQL Server Anda. CDC menyimpan metadata terperinci tentang perubahan ini untuk pengambilan dan analisis selanjutnya. Untuk informasi mendetail tentang fungsionalitas CDC, lihat Mengubah pengambilan data
Operasi CDC di SQL Server membutuhkan nilai yang cocok antara server lokal (yang memiliki server_id
= 0) di sys.servers
dan SERVERPROPERTY('ServerName')
pengidentifikasi. RDS Custom for SQL Server secara otomatis mempertahankan sinkronisasi ini di seluruh siklus hidup instans untuk memastikan fungsi CDC berkelanjutan bahkan jika host diganti selama operasi pemeliharaan atau pemulihan.
penting
Setelah failover instance Multi-AZ, SERVERPROPERTY('Servername')
fungsi secara otomatis mencerminkan perubahan nama. network/computer Namun, @@SERVERNAME
fungsi mempertahankan nama server lama sampai MSSQLSERVER
layanan dimulai ulang. Query @ @SERVERNAME mengembalikan nama server sebelumnya setelah failover. Untuk mendapatkan nama server yang akurat setelah failover, gunakan kueri SQL berikut:
SELECT name FROM sys.servers WHERE server_id=0
Kueri ini memberikan informasi nama up-to-date server paling banyak tanpa memerlukan layanan restart.
Ketersediaan wilayah dan versi
Fungsionalitas CDC didukung di semua Wilayah AWS tempat RDS Kustom untuk SQL Server tersedia, untuk semua versi SQL Server yang didukung oleh RDS Custom. Untuk informasi selengkapnya tentang versi yang didukung dan ketersediaan Wilayah RDS Custom for SQL Server, lihat. Daerah yang Didukung dan mesin DB untuk RDS Kustom untuk SQL Server
Persyaratan dan pembatasan
Saat menerapkan CDC pada RDS Custom for SQL Server, perhatikan pertimbangan utama berikut:
-
Jika Anda secara manual mengatur server
@@SERVERNAME
and/or lokalsys.servers
untuk menggunakan fitur seperti MS Replication, jika nilai server lokal (yang memilikiserver_id = 0
) disys.servers
diatur ke format yang cocok*.rds.amazonaws.com
atau*.awsrds.*.com
, RDS Custom untuk SQL Server tidak mencoba untuk memodifikasinya agar cocok.SERVERPROPERTY('ServerName')
-
RDS tidak dapat memodifikasi server lokal (yang memiliki
server_id = 0
)sys.servers
ke nama host baru sementara login jarak jauh atau server tertaut secara aktif menggunakan nama host lama. Batasan ini berlaku dalam dua skenario:-
Ketika server tertaut membuat koneksi ke server lokal menggunakan login jarak jauh yang terkait dengan nama host lama
-
Ketika instance RDS Custom for SQL Server bertindak sebagai penerbit atau distributor dan telah menautkan login yang terkait dengan nama host lama ke instance pelanggannya.
-
Pemecahan Masalah
Untuk mengidentifikasi login jarak jauh atau login tertaut yang terkait dengan nama server lama, gunakan kueri berikut. Validasi hasil dan hapus login ini untuk memastikan fungsionalitas CDC yang tepat.
SELECT * FROM sys.remote_logins WHERE server_id=0
atau
select sss.srvname,ssp.name,srl.remote_name from sys.server_principals ssp inner join sys.remote_logins srl on srl.local_principal_id=ssp.principal_id inner join sys.sysservers sss on srl.server_id = sss.srvid where sss.srvname = @@SERVERNAME