Bagikan melalui


Memecahkan masalah database cermin Fabric dari server fleksibel Azure Database for PostgreSQL

Artikel ini membahas langkah-langkah pemecahan masalah untuk mencerminkan server fleksibel Azure Database for PostgreSQL.

Memecahkan masalah pesan kesalahan/peringatan selama pemilihan tabel untuk pencerminan

Saat Anda membuat database cermin baru, di halaman Pilih data , Anda mungkin menerima beberapa umpan balik visual mengenai tabel tertentu dalam database sumber. Tabel berikut ini menyediakan daftar potensi masalah, termasuk pesan yang ditampilkan dan deskripsi terkait tentang cara menyelesaikan masalah.

Kode Status Tipe Status Message Description
SCHEMA_DOES_NOT_EXIST ERROR Skema {} tidak ada Skema yang diberikan tidak ada. Ini bisa saja dihapus saat Fabric menarik info tabel yang relevan. Coba lagi.
TABLE_DOES_NOT_EXIST ERROR Dalam skema {}, tabel {} tidak ada. Tabel yang diberikan tidak ada. Ini bisa saja dihapus saat Fabric menarik info tabel yang relevan. Coba lagi.
FORBIDDEN_CHARS_IN_COLUMN_NAME ERROR Tabel {}.{} berisi karakter terlarang dalam nama kolom {} Kolom yang diberikan memiliki karakter yang tidak didukung dalam nama. 1
UNSUPPORTED_DATA_TYPE ERROR Tabel {}.{} memiliki tipe data yang tidak didukung dalam kolom {} Satu (atau lebih) kolom tabel saat ini memiliki tipe data yang tidak didukung. 3
FORBIDDEN_CHARS_IN_TABLE_NAME ERROR Tabel {}.{} berisi karakter terlarang dalam nama Nama tabel memiliki karakter yang tidak didukung. 1
NOT_REGULAR_TABLE ERROR Tabel {}.{} bukan tabel biasa Jenis tabel tidak didukung untuk pencerminan. 2
HAS_PRIMARY_KEY OK Tabel {}.{} memiliki kunci primer Tabel adalah tabel biasa dan memiliki kunci primer yang valid yang digunakan untuk pencerminan.
HAS_UNIQUE_INDEX OK Tabel {}.{} memiliki indeks unik yang sesuai Tabel tidak memiliki kunci primer, tetapi memiliki indeks unik yang akan digunakan untuk pencerminan.
NO_INDEX_FULL_IDENTITY PERINGATAN Tabel {}.{} tidak memiliki indeks unik yang sesuai. Menggunakan identitas lengkap Tabel tidak memiliki kunci primer atau indeks unik, jadi REPLICA IDENTITY FULL diperlukan untuk mendukung pencerminan, yang dapat menyebabkan masalah performa.

1 Pengidentifikasi objek dengan karakter spasi (' ') tidak didukung.

2 Jenis tabel ini tidak didukung untuk pencerminan. Saat ini, tampilan, tampilan materialisasi, tabel asing, dan tabel yang dipartisi tidak didukung.

3 Untuk daftar jenis data yang tidak didukung, lihat Batasan. Hanya kolom dengan jenis berikut yang didukung:

  • bigint
  • bigserial
  • boolean
  • bytea
  • character
  • character varying
  • date
  • double precision
  • integer
  • numeric
  • real
  • serial
  • oid
  • money
  • smallint
  • smallserial
  • text
  • time without time zone
  • time with time zone (* bukan sebagai kunci primer)
  • timestamp without time zone
  • timestamp with time zone
  • uuid

Di Postgres, dua nilai 'waktu dengan zona waktu' yang sesuai dengan momen yang sama persis, tetapi di zona waktu yang berbeda, dianggap berbeda. Misalnya: 06:24:00.59+05 dan 05:24:00.59+04 sesuai dengan waktu epoch yang sama, tetapi Postgres memperlakukannya secara berbeda.

Perubahan pada kapasitas fabric atau ruang kerja

Penyebab Result Resolusi yang direkomendasikan
Kapasitas fabric dijeda/dihapus Pencerminan berhenti 1. Lanjutkan atau tetapkan kapasitas dari portal Microsoft Azure
2. Buka Item database cermin Fabric. Dari toolbar, pilih Hentikan replikasi.
3. Mulai replikasi dengan memilih database Mirror untuk item cermin di portal Fabric.
Kapasitas fabric dilanjutkan Pencerminan tidak akan dilanjutkan 1. Buka Item database cermin Fabric. Dari toolbar, pilih Hentikan replikasi.
2. Mulai replikasi dengan memilih database Mirror untuk item cermin di portal Fabric.
Ruang kerja dihapus Pencerminan berhenti secara otomatis Jika pencerminan masih aktif di server fleksibel Azure Database for PostgreSQL, sambungkan menggunakan admin server dan jalankan perintah berikut di server PostgreSQL Anda: select azure_cdc.list_tracked_publications();, lalu gunakan nama publikasi yang dikembalikan dan jalankan select azure_cdc.stop_publication(<publication_name>);
Kapasitas uji coba fabric kedaluwarsa Pencerminan berhenti secara otomatis Lihat Kapasitas uji coba Fabric kedaluwarsa.
Kapasitas fabric terlampaui Pencerminan jeda Tunggu hingga status kelebihan beban berakhir atau perbarui kapasitas Anda. Pelajari lebih lanjut dari Tindakan yang dapat Anda ambil untuk memulihkan dari situasi kelebihan beban. Pencerminan berlanjut setelah kapasitas dipulihkan.
Kesalahan sumber daya lainnya Pencerminan dinonaktifkan Untuk memastikan sumber daya komputasi Anda tidak terpengaruh dan untuk meminimalkan dampak pada server fleksibel Azure Database for PostgreSQL, pencerminan menonaktifkan kesalahan sumber daya persisten apa pun.
Pengaturan "Pengguna dapat mengakses data yang disimpan di OneLake dengan aplikasi eksternal ke Fabric" dinonaktifkan "Replikator - Tabel Tidak Dapat Mencapai Status Replikasi" Aktifkan pengaturan Penyewa Pengguna dapat mengakses data yang disimpan di OneLake dengan aplikasi di luar Fabric.

Kueri SQL untuk pemecahan masalah

Jika Anda mengalami masalah pencerminan, lakukan pemeriksaan tingkat server berikut menggunakan tampilan dan fungsi sistem untuk memvalidasi konfigurasi.

  1. Jalankan kueri berikut untuk memeriksa apakah perubahan mengalir dengan benar:

    select * from azure_cdc.tracked_publications;
    

    Periksa apakah publikasi aktif dan rekam jepret telah dibuat. Anda juga dapat memeriksa apakah batch perubahan berikutnya telah dihasilkan dengan mengkueri:

    select * from azure_cdc.tracked_batches;
    
  2. azure_cdc.tracked_publications Jika tampilan tidak memperlihatkan kemajuan pemrosesan perubahan bertahap, jalankan kueri SQL berikut untuk memeriksa apakah ada masalah yang dilaporkan:

    SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';
    
  3. Jika tidak ada masalah yang dilaporkan, jalankan perintah berikut untuk meninjau konfigurasi database PostgreSQL yang dicerminkan saat ini. Konfirmasikan bahwa ini diaktifkan dengan benar.

    SELECT * FROM pg_replication_slots;
    

    Kolom kunci yang harus dicari di sini adalah slot_name dan active. Nilai apa pun selain t (true) menunjukkan potensi masalah.

  4. Hubungi dukungan jika pemecahan masalah diperlukan.

Identitas yang dikelola

System Assigned Managed Identity (SAMI) dari server fleksibel Azure Database for PostgreSQL perlu diaktifkan, dan harus menjadi identitas utama. Untuk informasi selengkapnya, lihat Identitas terkelola yang ditetapkan sistem untuk server fleksibel PostgreSQL.

Setelah diaktifkan, jika status pengaturan SAMI kemudian dinonaktifkan, maka diaktifkan lagi, pencerminan server fleksibel Azure Database for PostgreSQL ke Fabric OneLake gagal.

Verifikasi bahwa SAMI diaktifkan dengan kueri berikut: show azure.service_principal_id;

Izin SAMI

Jangan hapus izin kontributor System Assigned Managed Identity (SAMI) server fleksibel Azure Database for PostgreSQL pada item database cermin Fabric.

Jika Anda tidak sengaja menghapus izin SAMI, Mencerminkan server fleksibel Azure Database for PostgreSQL tidak berfungsi seperti yang diharapkan. Tidak ada data baru yang dapat dicerminkan dari database sumber.

Jika Anda menghapus izin atau izin SAMI server fleksibel Azure Database for PostgreSQL tidak disiapkan dengan benar, gunakan langkah-langkah berikut.

  1. Tambahkan SAMI server fleksibel sebagai pengguna dengan memilih ... opsi elipsis pada item database yang dicerminkan.
  2. Pilih opsi Kelola Izin .
  3. Masukkan nama server fleksibel Azure Database for PostgreSQL. Berikan izin Baca dan Tulis .