Kongsi Sekarang:

1. Pengenalan kepada SQL Server replikasi

1.1 Apa itu SQL Server Replikasi?

SQL Server Replikasi ialah satu set teknologi untuk menyalin dan mengedarkan data dan objek pangkalan data daripada satu pangkalan data ke pangkalan data yang lain, kemudian menyegerakkan antara pangkalan data untuk mengekalkan konsistensi. Ciri ini membolehkan anda mencipta dan menyelenggara berbilang salinan data anda merentasi pelayan dan lokasi yang berbeza, memastikan ketersediaan dan kebolehpercayaan data.

1.2 Tujuan dan Manfaat Replikasi

SQL Server Replikasi memenuhi pelbagai keperluan perniagaan kritikal dan memberikan kelebihan yang ketara untuk pengurusan pangkalan data dan pengedaran data:

  • Pengagihan Data Merentasi Lokasi: Replikasi membolehkan anda berkongsi data merentasi pejabat serantau atau lokasi global, meningkatkan kecekapan operasi dengan memastikan akses tempatan kepada data yang diperlukan. Ini mengurangkan latensi rangkaian dan memberikan prestasi yang lebih baik untuk pengguna yang tersebar secara geografi.
  • Ketersediaan Tinggi dan Pemulihan Bencana: Dengan mengekalkan replika data kritikal merentasi berbilang pelayan, replikasi menyediakan redundansi yang melindungi daripada kegagalan dan bencana perkakasan. Sekiranya berlaku kegagalan pelayan utama, salinan yang direplikasi boleh berfungsi sebagai sumber sandaran, meminimumkan masa henti dan kehilangan data.
  • Pengimbangan Beban dan Skalabiliti: Replikasi mengagihkan operasi baca merentasi berbilang pelayan, menghalang mana-mana pelayan tunggal daripada menjadi hambatan. Pendekatan ini meningkatkan prestasi sistem dan membolehkan infrastruktur anda diskalakan secara mendatar apabila data dan permintaan pengguna meningkat.
  • Pelaporan dan Analitis Masa Nyata: Pemindahan pertanyaan pelaporan dan analitik ke pelayan yang direplikasi mengurangkan beban pada pangkalan data pengeluaran. Pengguna boleh menjalankan pertanyaan analitikal yang kompleks terhadap data hampir masa nyata tanpa menjejaskan sistem operasi, sekali gus memastikan prestasi dan kesegaran data.
  • Integrasi dan Penyatuan Data: Replikasi memudahkan penggabungan data daripada pelbagai sumber ke dalam satu paparan terkonsolidasi. Ini amat berharga bagi organisasi yang mempunyai berbilang pejabat cawangan yang perlu mengagregatkan data di ibu pejabat atau untuk mewujudkan gudang data berpusat daripada sistem operasi teragih.

2. SQL Server Senibina dan Komponen Replikasi

SQL Server Seni bina replikasi terdiri daripada beberapa komponen yang saling berkaitan yang berfungsi bersama untuk mengedarkan dan menyegerakkan data merentasi infrastruktur pangkalan data anda. Bahagian ini meneroka komponen teras, termasuk penerbit, pengedar, pelanggan, penerbitan, artikel, langganan dan ejen yang menyelaras aliran data antara mereka:

  • Publisher: Penerbit ialah seorang SQL Server contoh yang mengehos satu atau lebih pangkalan data yang mengandungi data untuk direplikasi. Ia berfungsi sebagai sumber yang berwibawa dalam topologi replikasi.
  • Pengedar: Pengedar ialah seorang SQL Server contoh yang mengurus aliran data antara penerbit dan pelanggan. Contoh pengedar mengehos pangkalan data pengedaran, yang menyimpan metadata replikasi dan transaksi.
  • Pelanggan: Pelanggan ialah seorang SQL Server contoh yang menerima dan menyimpan data replikasi daripada penerbit. Satu contoh pelanggan boleh mengehos berbilang pangkalan data pelanggan, setiap satunya menerima data daripada penerbitan yang berbeza.
  • Penerbitan: Penerbitan menentukan data yang akan direplikasi dan bagaimana ia akan diedarkan kepada pelanggan. Ia mengumpulkan artikel berkaitan bersama-sama dan menetapkan metodologi replikasi yang terpakai kepada semua objek yang terkandung.
  • Article: Artikel ialah blok binaan asas replikasi, yang mewakili objek pangkalan data individu yang akan diedarkan kepada pelanggan.
  • Langganan: Langganan mewujudkan hubungan antara penerbitan dan pelanggan, yang menentukan bagaimana dan bila data dihantar ke pangkalan data destinasi.
  • ejen: Ejen merupakan proses khusus yang melaksanakan kerja sebenar untuk memindahkan dan menyegerakkan data antara komponen replikasi.

SQL Server Senibina dan Komponen Replikasi

3. Jenis-jenis SQL Server replikasi

SQL Server menyediakan beberapa jenis replikasi, setiap satunya direka bentuk untuk senario pengedaran data tertentu dan keperluan perniagaan. Memahami ciri-ciri, kelebihan dan batasan setiap jenis adalah penting untuk memilih pendekatan yang tepat untuk persekitaran anda.

3.1 Replikasi Gambaran Ringkas

Replikasi snapshot mengambil snapshot data yang akan diterbitkan pada masa tertentu, kemudian mengedarkan salinan lengkap yang tepat kepada pelanggan. Ia tidak memantau perubahan berikutnya sehingga snapshot seterusnya dijana. Replikasi snapshot ialah bentuk replikasi yang paling mudah, menjadikannya sesuai untuk senario di mana data jarang berubah atau di mana mempunyai data yang sedikit ketinggalan zaman adalah boleh diterima.

Kes penggunaan biasa termasuk mengedarkan data rujukan seperti senarai harga atau kadar pertukaran yang dikemas kini secara berkala, menyediakan set data awal untuk gudang data dan senario di mana penyegaran data yang lengkap adalah lebih baik daripada menjejaki perubahan individu. Contohnya, syarikat mungkin menggunakan replikasi snapshot untuk mengedarkan katalog produk yang dikemas kini ke pejabat cawangan sekali sehari.

Kelebihan utama replikasi snapshot adalah kesederhanaannya, keperluan penyelenggaraan yang rendah dan keupayaan untuk mereplikasi data tanpa kunci utama. Walau bagaimanapun, ia mempunyai kelemahan yang ketara termasuk impak yang tinggi apabila snapshot dijana disebabkan oleh kunci jadual, latensi yang tinggi antara kemas kini dan ketidakcekapan untuk set data yang besar atau data yang kerap berubah. Sebarang pengubahsuaian yang dibuat pada pelanggan akan hilang apabila snapshot seterusnya digunakan.

3.2 Replikasi Transaksi

Replikasi transaksi menyampaikan perubahan daripada penerbit kepada pelanggan dalam masa nyata hampir dengan mereplikasi transaksi individu semasa ia berlaku. Ia bermula dengan gambaran awal untuk menetapkan garis dasar, kemudian memantau log transaksi secara berterusan untuk perubahan pada artikel yang diterbitkan dan menyampaikannya kepada pelanggan secara berperingkat.

Replikasi transaksional sesuai untuk senario pelayan-ke-pelayan yang memerlukan daya pemprosesan yang tinggi dan kependaman yang rendah. Kes penggunaan biasa termasuk meningkatkan kebolehskalaan dan ketersediaan dengan memindahkan operasi baca ke pelayan pelanggan, menyokong pergudangan dan pelaporan data dengan data hampir masa nyata, mengintegrasikan data daripada berbilang tapak ke lokasi pusat dan memindahkan pemprosesan kelompok ke pelayan khusus. Contohnya, platform e-dagang mungkin menggunakan replikasi transaksional untuk mengekalkan data inventori yang disegerakkan merentasi pangkalan data serantau.

Kelebihan replikasi transaksional termasuk penghantaran data latensi rendah, daya pemprosesan yang tinggi untuk jumlah transaksi yang besar dan keupayaan untuk membuat pengubahsuaian yang tidak direplikasi pada pelanggan. Kelemahan termasuk kerumitan yang lebih tinggi berbanding replikasi snapshot, keperluan untuk kunci primer pada jadual yang direplikasi dan potensi replikasi untuk pecah jika konflik berlaku seperti pelanggaran kunci primer pada pelanggan.

3.3 Replikasi Gabungan

Replikasi gabungan direka khusus untuk persekitaran di mana pelanggan perlu bekerja di luar talian atau dengan sambungan sekejap-sekejap, kemudian menyegerakkan perubahan apabila sambungan tersedia. Jenis replikasi ini membolehkan data diubah pada penerbit dan pelanggan secara bebas, menjejaki perubahan menggunakan pencetus dan jadual metadata, dan menggabungkan pengubahsuaian secara automatik semasa penyegerakan.

Replikasi gabungan direka bentuk untuk aplikasi mudah alih dan persekitaran pelayan teragih di mana perubahan autonomi berlaku. Kes penggunaan termasuk automasi tenaga jualan di mana pengguna mudah alih bekerja di luar talian dan menyegerakkan kemudian, sistem tempat jualan yang beroperasi secara bebas dan menyatukan data secara berkala dan aplikasi teragih di mana berbilang tapak perlu mengemas kini data kongsi. Contohnya, rangkaian runcit mungkin menggunakan replikasi gabungan supaya setiap kedai boleh mengurus inventori tempatan sambil menyegerakkan dengan sistem gudang pusat.

Kelebihan replikasi gabungan termasuk sokongan untuk pelanggan autonomi yang boleh membuat perubahan, toleransi untuk sambungan rangkaian sekejap-sekejap dan penyelesaian konflik yang fleksibel. Kelemahan termasuk kerumitan yang lebih tinggi dalam persediaan dan penyelenggaraan, overhed prestasi daripada pengesanan metadata dan pencetus, penambahan lajur pengecam unik pada jadual dan potensi konflik yang memerlukan pengurusan dan penyelesaian.

3.4 Replikasi Rakan Sebaya ke Rakan Sebaya

Replikasi rakan sebaya-ke-rakan dibina berdasarkan replikasi transaksi dan membolehkan berbilang contoh pelayan (tiga atau lebih nod) bertindak sebagai rakan sebaya yang sama, dengan setiap nod berfungsi sebagai penerbit dan pelanggan secara serentak. Dalam topologi ini, semua nod mengekalkan salinan data yang sama dan boleh mengendalikan operasi baca dan tulis, menyediakan persekitaran berbilang induk yang benar-benar teragih.

Replikasi rakan sebaya-ke-rakan sesuai untuk aplikasi yang memerlukan skala operasi baca dan ketersediaan yang tinggi. Kes penggunaan termasuk aplikasi web yang mengedarkan pertanyaan katalog merentasi berbilang nod sambil mengekalkan data yang konsisten, senario yang memerlukan penyelenggaraan atau naik taraf tanpa masa henti dengan menjadikan nod luar talian secara individu dan aplikasi global dengan pusat data di rantau yang berbeza. Contohnya, organisasi sokongan perisian di seluruh dunia mungkin menggunakan replikasi rakan sebaya-ke-rakan merentasi pejabat dalam zon waktu yang berbeza supaya setiap lokasi mempunyai akses tempatan kepada data semasa.

Kelebihan replikasi rakan-ke-rakan termasuk prestasi baca yang lebih baik melalui skala keluar, ketersediaan yang lebih tinggi dengan berbilang nod aktif dan konsistensi data hampir masa nyata. Kelemahan termasuk keperluan untuk Edisi Perusahaan, kerumitan dalam mengurus topologi berbilang nod, keperluan untuk skema dan data yang sama merentasi semua nod dan potensi konflik apabila operasi tulis tidak dibahagikan dengan betul.

3.5 Replikasi Dwiarah

Replikasi dwiarah ialah topologi replikasi transaksi khusus yang direka khusus untuk persekitaran dua pelayan di mana kedua-dua pelayan perlu bertukar perubahan antara satu sama lain. Setiap pelayan menerbitkan data dan melanggan data yang sama daripada pelayan lain, mewujudkan aliran penyegerakan dua hala yang mudah. ​​Walaupun replikasi rakan-ke-rakan juga boleh menyokong dua nod, replikasi dwiarah memberikan prestasi yang lebih baik untuk senario khusus ini.

Replikasi dwiarah sesuai untuk senario yang memerlukan dua pelayan aktif dengan data yang disegerakkan, seperti konfigurasi aktif-aktif untuk ketersediaan tinggi atau aplikasi yang diedarkan secara geografi di mana setiap tapak memerlukan akses tulis setempat. Topologi memerlukan reka bentuk aplikasi yang teliti untuk membahagikan kemas kini data dan mencegah konflik.

Kelebihannya termasuk prestasi yang dioptimumkan untuk senario dua pelayan, konfigurasi yang lebih mudah berbanding replikasi rakan-ke-rakan, penyegerakan hampir masa nyata dan overhed yang lebih rendah daripada replikasi gabungan. Kelemahan termasuk batasan kepada tepat dua pelayan, kekurangan penyelesaian konflik terbina dalam yang memerlukan reka bentuk aplikasi yang teliti dan keperluan untuk strategi pembahagian yang betul untuk mengelakkan konflik.

3.6 Langganan Boleh Dikemas Kini

Langganan boleh kemas kini melanjutkan replikasi transaksi untuk membolehkan pelanggan membuat perubahan sekali-sekala pada data yang direplikasi yang kemudiannya disebarkan kembali kepada penerbit dan pelanggan lain. Tidak seperti replikasi gabungan atau topologi rakan ke rakan yang direka untuk kemas kini dwiarah yang kerap, langganan boleh kemas kini bertujuan untuk senario di mana aliran data utama adalah sehala (penerbit kepada pelanggan) tetapi pelanggan kadangkala perlu membuat pembetulan atau kemas kini.

Langganan boleh kemas kini adalah sesuai untuk senario di mana kebanyakan kemas kini berlaku di penerbit tetapi kemas kini sekali-sekala di pelanggan adalah perlu, seperti pejabat lapangan yang terutamanya membaca data tetapi perlu membuat pembetulan atau kemas kini tempatan. Topologi memerlukan perancangan yang teliti untuk meminimumkan konflik dan memastikan konsistensi data.

Kelebihan utama termasuk membenarkan operasi penulisan terhad pada pelanggan sambil mengekalkan ciri prestasi replikasi transaksional. Kelemahan termasuk peningkatan kerumitan, potensi konflik yang memerlukan penyelesaian, overhed prestasi daripada protokol komit dua fasa dalam mod pengemaskinian segera dan keperluan bahawa semua jadual yang direplikasi mempunyai kunci utama.

3.7 Perbandingan Jenis Replikasi yang Berbeza

Jenis Replikasi Kemas kini Masa Bilangan Penerbit Arah Gunakan Senario
Tangkapan Titik dalam masa 1 Satu arah (Penerbit → Pelanggan) Data rujukan yang jarang berubah (senarai harga, kadar pertukaran)
Transaksional Berhampiran masa nyata 1 Satu arah (Penerbit → Pelanggan) Senario daya pemprosesan tinggi (inventori e-dagang, pergudangan data, pelaporan)
Bergabung Berkala (apabila disambungkan) 1 Dwiarah (Penerbit ↔ Pelanggan) Aplikasi mudah alih, pekerja luar talian (automasi pasukan jualan, perkhidmatan lapangan)
Peer-to-Peer Berhampiran masa nyata Berbilang (3 atau lebih) Dwiarah (semua nod) Pelaksanaan berbilang pusat data global (pejabat seluruh dunia dengan akses baca-tulis tempatan)
Dua arah Berhampiran masa nyata 2 Dwiarah (kedua-dua pelayan) Konfigurasi aktif-aktif dua pusat data (ketersediaan tinggi dwi-tapak)
Langganan Boleh Dikemas Kini Berhampiran masa nyata 1 Terutamanya satu arah (kemas kini terbalik sekali-sekala) Pejabat cawangan yang kebanyakannya membaca tetapi kadangkala mengemas kini (pembetulan tempatan)

4. Menetapkan SQL Server replikasi

4.1 Prasyarat dan Keperluan

4.1.1 Keperluan Perisian

SQL Server replikasi memerlukan keserasian SQL Server versi merentasi semua peserta dalam topologi. Versi pengedar mestilah sama atau lebih tinggi daripada versi penerbit, dan pelanggan boleh berada dalam lingkungan dua versi penerbit. Contohnya, a SQL Server Penerbit 2016 boleh meniru SQL Server Pelanggan 2012, 2014, 2016, 2017 atau 2019.

4.1.2 Keperluan Kebenaran

Mengkonfigurasi replikasi memerlukan kebenaran khusus pada setiap peringkat. Ahli peranan pelayan tetap sysadmin boleh melaksanakan semua tugas konfigurasi replikasi. Untuk kebenaran yang lebih terperinci, pengguna perlu menjadi ahli peranan pangkalan data db_owner untuk pangkalan data penerbit dan pelanggan.

4.2 Langkah 1: Konfigurasikan Pengedaran

Mengkonfigurasi pengedaran adalah langkah pertama dalam menyediakan SQL Server replikasi.

Untuk mengkonfigurasi pengedaran menggunakan SQL Server Studio Pengurusan:

  1. Sambungkan ke SQL Server contoh di SQL Server Studio Pengurusan.
  2. Dalam Object Explorer, klik kanan pada replikasi folder dan pilih Konfigurasikan Pengedaran.
    Mula konfigurasikan pengedaran dalam SQL Server Replikasi.
  3. Dalam Wizard Konfigurasi Pengedaran, klik Seterusnya pada halaman alu-aluan.
    Konfigurasikan Wizard Pengedaran
  4. Pada Pengedar halaman, pilih salah satu daripada pilihan berikut berdasarkan keperluan topologi anda:
    • Pengedar Tempatan: Pilih “ServerName akan bertindak sebagai Pengedarnya sendiri; SQL Server akan mencipta pangkalan data pengedaran dan log” jika anda mahu penerbit dan pengedar dijalankan pada tika yang sama (Titik semasa). Konfigurasi ini lebih mudah untuk disediakan dan sesuai untuk persekitaran yang lebih kecil atau apabila latensi rangkaian antara penerbit dan pengedar akan menyebabkan masalah.
    • Pengedar Jauh: Pilih “Gunakan pelayan berikut sebagai Pengedar” dan klik Tambah untuk menentukan pelayan pengedar jauh jika anda ingin memindahkan pemprosesan pengedaran ke tika yang berasingan. Konfigurasi ini meningkatkan prestasi apabila jumlah replikasi tinggi dengan mengagihkan beban kerja merentasi berbilang pelayan. Anda perlu memberikan nama pengedar jauh dan menentukan kata laluan yang akan digunakan oleh penerbit untuk bersambung dengan pengedar.

    Konfigurasikan pengedar dalam SQL Server replikasi

  5. Klik Seterusnya untuk menentukan lokasi folder snapshot. Gunakan laluan UNC (seperti \\namapelayan\kongsi\folder) dan bukannya laluan setempat untuk memastikan kebolehcapaian merentasi rangkaian.
    Konfigurasikan folder snapshot dalam Wizard Konfigurasikan Pengedaran
  6. Pada Pangkalan Data Pengedaran halaman, terima nama pangkalan data pengedaran lalai (biasanya "pengedaran") atau tentukan nama tersuai, kemudian konfigurasikan lokasi data dan fail log.
    Konfigurasikan pangkalan data pengedaran dalam SQL Server replikasi
  7. Pada Penerbit halaman, sahkan bahawa pelayan semasa diaktifkan sebagai penerbit. Jika anda mengkonfigurasi pelayan semasa sebagai pengedar, anda boleh menambah penerbit tambahan yang akan menggunakan pengedar ini.
    Konfigurasikan penerbit dalam SQL Server replikasi
  8. Semak tindakan wizard dan klik Selesai untuk mengkonfigurasi pengedaran.
    Selesaikan konfigurasi dalam SQL Server replikasi

4.3 Langkah 2: Cipta Penerbitan

Selepas mengkonfigurasi pengedaran, langkah seterusnya adalah untuk mencipta penerbitan yang menentukan objek data yang akan direplikasi kepada pelanggan.

Untuk mencipta penerbitan menggunakan SQL Server Studio Pengurusan:

  1. Dalam Object Explorer, kembangkan replikasi folder.
  2. Klik kanan Penerbitan Tempatan dan pilih Penerbitan Baharu.
  3. Wizard Penerbitan Baharu bermula; klik Seterusnya pada halaman alu-aluan.
  4. Pilih pangkalan data yang ingin anda terbitkan daripada Pangkalan Data Penerbitan halaman. Ini secara automatik mendayakan penerbitan pada pangkalan data yang dipilih.
  5. Pada Jenis Penerbitan halaman, pilih jenis replikasi: Penerbitan ringkasan, Penerbitan transaksional, Penerbitan Rakan Sebaya, Atau Gabungkan penerbitan.
  6. Pada Artikel halaman, kembangkan Jadual node dan pilih jadual untuk disertakan sebagai artikel.
  7. Kembangkan secara pilihan Prosedur yang disimpan, Views, atau jenis objek lain untuk memasukkan artikel tambahan.
  8. Klik Hartanah Artikel untuk mengkonfigurasi penapisan atau tetapan khusus artikel lain.
  9. Pada Baris Jadual Tapis halaman, tambah penapis baris jika perlu.
  10. Pada Ejen Gambaran Ringkas halaman, pilih bila hendak mencipta petikan: serta-merta, pada masa tertentu atau mengikut jadual.
  11. Pada Keselamatan Ejen halaman, tentukan konteks keselamatan untuk Ejen Gambaran Ringkas.
  12. Pada Tindakan Ahli Sihir halaman, pilih Cipta penerbitan.
  13. Berikan nama penerbitan dan klik Selesai.
    Cipta penerbitan baharu dalam SQL Server replikasi

4.4 Langkah 3: Cipta Langganan

Selepas mencipta penerbitan, langkah seterusnya adalah mencipta langganan yang menghubungkan penerbitan tersebut dengan pangkalan data pelanggan.

Langganan boleh terdiri daripada langganan tolak (diuruskan oleh pengedar) atau langganan tarik (diuruskan oleh pelanggan). Perbezaan utama adalah tempat anda membuat langganan dan lokasi ejen yang anda pilih, yang menentukan tindakan langganan (tolak atau tarik).

Untuk Langganan Push (diuruskan oleh Pengedar):

  1. Pada penerbit pelayan, kembangkan replikasi -> Penerbitan Tempatan.
  2. Klik kanan penerbitan dan pilih Langganan Baru.

Untuk Langganan Tarik (diuruskan oleh Pelanggan):

  1. Pada pelanggan pelayan, kembangkan replikasi, Klik kanan Langganan Tempatan, And select Langganan Baru.
  2. Pada Penerbitan halaman, klik Cari SQL Server Penerbit dan sambungkan ke pelayan penerbit.

Langkah-langkah wizard biasa untuk kedua-dua jenis langganan:

  1. Dalam Wizard Langganan Baharu, klik Seterusnya pada halaman alu-aluan.
  2. Pilih penerbitan dan klik Seterusnya.
  3. Pada Lokasi Ejen Pengedaran halaman, pilih lokasi ejen:
    • Langganan pushPilih “Jalankan semua ejen di Pengedar” – Pengedar akan menghantar perubahan kepada pelanggan.
    • Tarik langgananPilih “Jalankan setiap ejen pada Pelanggannya” – setiap pelanggan akan menarik perubahan daripada Pengedar.
  4. Pada Pelanggan halaman, pilih pelayan pelanggan sedia ada atau klik Tambahkan Pelanggan untuk menambah yang baharu.
  5. Bagi setiap pelanggan, pilih pangkalan data destinasi atau cipta pangkalan data baharu. Catatan: Pangkalan data langganan mestilah berbeza daripada pangkalan data penerbit, walaupun menggunakan pangkalan data yang sama SQL Server contohnya.
  6. Pada Keselamatan Ejen Pengedaran halaman, klik butang sifat untuk setiap langganan bagi mengkonfigurasi konteks keselamatan.
  7. Pada Jadual Penyegerakan halaman, pilih penyegerakan berterusan atau penyegerakan berjadual.
  8. Pada Mulakan Langganan halaman, pilih Serta-merta untuk memulakan semasa penyiapan wizard atau Pada penyegerakan pertama.
  9. Semak tindakan wizard dan klik Selesai.
    Cipta langganan baharu dalam SQL Server Replikasi dengan Wizard Langganan Baharu.

5. Pemantauan dan Pengurusan SQL Server replikasi

5.1 Memantau Replikasi dengan Monitor Replikasi

Untuk melancarkan Monitor Replikasi:

  1. In SQL Server Studio Pengurusan, kembangkan replikasi dalam Penjelajah Objek.
  2. Klik kanan replikasi dan pilih Lancarkan Monitor Replikasi.
  3. Jika tiada penerbit berdaftar, klik Tambah Penerbit dalam anak panah kiri.
  4. Pilih Tambah SQL Server Penerbit dan sambungkan ke pelayan penerbit.
  5. Penerbit muncul di panel kiri dengan nod yang boleh dikembangkan untuk penerbitan dan langganan.

Gunakan Monitor Replikasi untuk memantau SQL Server Replikasi.

5.2 Pemantauan Prestasi

5.2.1 Kependaman Monitor

Latensi replikasi ialah kelewatan masa antara perubahan yang berlaku di penerbit dan perubahan itu dikenakan di pelanggan. Pantau latensi untuk memastikan kesegaran data memenuhi keperluan perniagaan.

Gunakan Monitor Replikasi untuk melihat metrik kependaman pada tab Semua Langganan. Lajur Kependaman menunjukkan purata kependaman dalam saat. Untuk replikasi transaksi, token penjejak menyediakan ukuran kependaman yang tepat dengan memasukkan transaksi penanda yang dijejaki melalui saluran replikasi.

Untuk menggunakan token penjejak:

  1. Dalam Monitor Replikasi, pilih penerbitan transaksional.
  2. Klik Token Penjejak tab.
  3. Klik Sisipkan Penjejak untuk menyuntik transaksi penanda.
  4. Pantau token semasa ia bergerak dari penerbit ke pengedar ke pelanggan.
  5. Lihat masa yang diambil untuk setiap segmen bagi mengenal pasti kesesakan.

Masukkan token penjejak untuk mendapatkan ukuran kependaman yang lebih tepat SQL Server replikasi

5.2.2 Daya Pemantauan

Daya pemprosesan mengukur jumlah data yang direplikasi dari semasa ke semasa, biasanya dinyatakan sebagai transaksi sesaat atau arahan sesaat. Pantau daya pemprosesan untuk memastikan replikasi dapat mengikuti aktiviti penerbit.

Walaupun Replication Monitor menyediakan status penyegerakan asas, kadar penghantaran dan metrik daya pemprosesan terperinci tidak kelihatan dalam GUI. Gunakan pertanyaan T-SQL terhadap pangkalan data pengedaran untuk memantau daya pemprosesan:

USE distribution
GO

-- Direct join to avoid subquery
SELECT TOP 20
    h.time AS [Time],
    a.name AS [Agent Name],
    h.runstatus AS [Status],
    h.delivered_transactions AS [Delivered Transactions],
    h.delivered_commands AS [Delivered Commands],
    h.delivery_rate AS [Delivery Rate (commands/sec)],
    h.delivery_latency AS [Delivery Latency (ms)],
    h.comments AS [Comments]
FROM MSdistribution_history h
JOIN MSdistribution_agents a ON h.agent_id = a.id
WHERE a.name LIKE '%MyPublication2%'
AND h.runstatus IN (2, 3, 4, 6)
ORDER BY h.time DESC
GO

Kod status: 1 = Mula, 2 = Sedang dijalankan, 3 = Berjaya, 4 = Terbiar, 5 = Cuba Semula, 6 = Gagal. Bandingkan kadar penghantaran dengan kadar transaksi penerbit untuk mengenal pasti situasi di mana replikasi ketinggalan. Pengira prestasi dalam Pemantau Prestasi Windows menyediakan metrik daya pemprosesan tambahan untuk setiap ejen replikasi.

5.2.3 Kenal Pasti Halangan

Kesesakan replikasi boleh berlaku pada pelbagai titik dalam topologi. Pada penerbit, masa penjanaan snapshot yang berlebihan atau kelewatan Ejen Pembaca Log mungkin menunjukkan kekangan sumber. Pantau CPU, memori dan I/O cakera pada penerbit semasa aktiviti replikasi.

Di pengedar, semak transaksi terkumpul dalam pangkalan data pengedaran. Sebilangan besar arahan yang tidak diedarkan menunjukkan pengedar tidak dapat mengikuti penghantaran. Pantau sumber pelayan pengedar dan pertimbangkan untuk menggunakan pengedar jauh khusus untuk senario volum tinggi.

Semak arahan yang tidak diedarkan untuk mencari kesesakan prestasi dalam SQL Server replikasi

Pada pelanggan, aplikasi perubahan yang perlahan mungkin disebabkan oleh sumber yang tidak mencukupi, indeks yang hilang atau kekangan yang memperlahankan operasi sisipan. Pantau penggunaan sumber pelanggan dan prestasi pertanyaan apabila Ejen Pengedaran sedang berjalan. Had lebar jalur rangkaian antara komponen juga menyebabkan kesesakan, terutamanya untuk jumlah data yang besar.

5.3 Mengurus Ejen Replikasi

5.3.1 Ejen Mula dan Henti

Untuk memulakan atau menghentikan ejen replikasi:

  1. In SQL Server Studio Pengurusan, kembangkan SQL Server Agent -> Jawatan Kosong.
  2. Cari kerja ejen replikasi (nama biasanya merangkumi maklumat penerbitan dan pelanggan).
  3. Klik kanan pada tugasan dan pilih Mulakan Kerja or Hentikan Kerja.

Mulakan atau hentikan ejen replikasi dalam SQL Server replikasi

5.3.2 Konfigurasikan Profil Ejen

Profil ejen mengandungi set parameter yang mengawal tingkah laku ejen. SQL Server menyediakan profil lalai yang dioptimumkan untuk senario biasa dan anda boleh mencipta profil tersuai untuk keperluan khusus.

Untuk mengubah suai profil ejen:

  1. Dalam Penjelajah Objek, kembangkan replikasi.
  2. Klik kanan replikasi dan pilih Hartanah Pengedar.
  3. Klik Lalai Profil .
  4. Pilih jenis ejen (Snapshot, Pembaca Log, Pengedaran atau Gabungan) daripada menu lungsur turun.
  5. Pilih profil dan klik Hartanah untuk melihat nilai parameter.
  6. Klik Profil Baru untuk mencipta profil tersuai berdasarkan profil sedia ada.
  7. Ubah suai parameter mengikut keperluan dan klik OK.

Konfigurasikan profil ejen

Gunakan profil pada ejen dengan mengedit sifat langganan dan memilih profil yang diingini daripada menu lungsur turun Profil ejen.

5.3.3 Parameter dan Tetapan Ejen

Parameter ejen memperhalusi prestasi dan tingkah laku. Parameter utama untuk Ejen Pengedaran termasuk CommitBatchSize (bilangan transaksi yang digunakan setiap komit), CommitBatchThreshold (bilangan arahan sebelum komit), SubscriptionStreams (sambungan selari untuk penghantaran yang lebih pantas) dan QueryTimeout (tamat masa untuk arahan).

Untuk Ejen Pembaca Log, parameter penting termasuk ReadBatchSize (transaksi dibaca setiap imbasan), ReadBatchThreshold (arahan sebelum penghantaran) dan PollingInterval (kelewatan antara imbasan log). Laraskan parameter ini berdasarkan keperluan jumlah transaksi dan kependaman.

Konfigurasikan sifat ejen

5.4 Pertimbangan Sandaran dan Pemulihan

Membuat sandaran pangkalan data yang terlibat dalam replikasi memerlukan pertimbangan khusus. Bagi pangkalan data penerbit, sandaran log penuh dan log transaksi yang kerap adalah penting. Tandakan sandaran pangkalan data untuk sokongan replikasi dengan menggunakan pilihan DENGAN REPLIKASI semasa membuat sandaran pangkalan data dalam replikasi transaksional. Buat sandaran pangkalan data pengedaran secara berkala untuk melindungi konfigurasi replikasi.

Apabila memulihkan pangkalan data penerbit ke pelayan yang sama dengan nama yang sama, gunakan pilihan WITH KEEP_REPLICATION untuk mengekalkan keadaan replikasi. Pilihan ini memastikan bahawa transaksi yang belum diproses oleh Ejen Pembaca Log kekal ditanda untuk replikasi, membolehkan replikasi diteruskan secara automatik tanpa memulakan semula langganan.

Dalam senario pemulihan bencana di mana sandaran tidak tersedia, rosak atau fail pangkalan data rosak, alat pemulihan khusus mungkin diperlukan. DataNumen SQL Recovery boleh mengekstrak data daripada fail MDF dan NDF yang rosak atau tidak boleh diakses, menyediakan pilihan terakhir apabila prosedur pemulihan standard gagal.

Untuk maklumat lebih lanjut mengenai SQL Server sandaran, lihat kami panduan komprehensif.

6. Soalan Lazim (FAQ)

S: Apakah perbezaan antara snapshot dan replikasi transaksional?

A: Replikasi snapshot mengambil salinan lengkap data pada satu ketika tertentu dan menggunakannya kepada pelanggan, sesuai untuk perubahan data yang jarang berlaku. Replikasi transaksi bermula dengan snapshot awal dan kemudian mereplikasi transaksi individu secara berterusan semasa ia berlaku, menyediakan penyegerakan hampir masa nyata untuk data yang kerap berubah.

S: Bolehkah saya meniru antara yang berbeza SQL Server versi?

J: Ya, SQL Server replikasi menyokong keserasian versi dalam julat terhad. Versi pengedar mestilah sama atau lebih tinggi daripada versi penerbit, dan pelanggan boleh berada dalam dua versi penerbit. Contohnya, jika penerbit SQL Server 2016, pelanggan boleh SQL Server 2012, 2014, 2016, 2017, atau 2019.

S: Bagaimanakah saya mengendalikan konflik dalam replikasi gabungan?

A: Replikasi gabungan menyediakan mekanisme pengesanan dan penyelesaian konflik terbina dalam. Anda boleh mengkonfigurasi penyelesai konflik pada peringkat artikel, memilih daripada penyelesai terbina dalam atau melaksanakan penyelesai konflik tersuai. Konflik biasanya diselesaikan menggunakan kaedah berasaskan keutamaan atau berasaskan cap waktu, dengan pilihan untuk merekodkan konflik untuk semakan manual.

S: Apakah kesan prestasi replikasi?

A: Replikasi memberi kesan kepada prestasi dalam beberapa cara: penerbit mengalami overhed daripada menjejaki perubahan dan menjana snapshot, pengedar menggunakan sumber untuk menyimpan dan memajukan transaksi, dan lebar jalur rangkaian digunakan semasa pemindahan data. Kesannya berbeza-beza mengikut jenis replikasi, dengan replikasi snapshot menyebabkan pecah berimpak tinggi berkala dan replikasi transaksi mengekalkan beban yang lebih konsisten tetapi berterusan.

S: Bagaimanakah saya boleh menjamin topologi replikasi saya?

A: Lindungi topologi replikasi anda dengan melaksanakan beberapa amalan terbaik: gunakan Pengesahan Windows atau strong SQL Server pengesahan, sulitkan sambungan menggunakan TLS, selamatkan folder snapshot dengan yang sesuai NTFS kebenaran, konfigurasikan Senarai Akses Penerbitan (PAL) untuk mengawal akses, gunakan akaun perkhidmatan berasingan dengan kebenaran minimum yang diperlukan untuk setiap ejen replikasi dan audit tetapan keselamatan replikasi secara berkala.

S: Bolehkah saya meniru ke Pangkalan Data Azure SQL?

J: Ya, anda boleh mereplikasi ke Pangkalan Data Azure SQL menggunakan replikasi transaksi dengan pangkalan data di premis SQL Server atau Azure SQL Managed Instance sebagai penerbit dan pengedar. Pangkalan Data Azure SQL boleh berfungsi sebagai pelanggan tetapi bukan sebagai penerbit atau pengedar. Replikasi gabungan dan replikasi rakan ke rakan tidak disokong dengan Pangkalan Data Azure SQL.

S: Bagaimanakah saya memantau kelewatan replikasi?

A: Pantau lag replikasi menggunakan Monitor Replikasi dalam SQL Server Management Studio, yang memaparkan metrik kependaman untuk setiap langganan. Anda juga boleh membuat pertanyaan pada jadual pangkalan data pengedaran seperti MSdistribution_history dan MSrepl_commands, menggunakan kaunter prestasi khusus untuk ejen replikasi atau menyediakan amaran berdasarkan ambang kependaman untuk mengesan dan menangani kelewatan penyegerakan secara proaktif.

S: Apa yang berlaku apabila pelanggan berada di luar talian?

A: Apabila pelanggan berada di luar talian, tingkah laku bergantung pada jenis replikasi. Untuk replikasi transaksi, transaksi terkumpul dalam pangkalan data pengedaran sehingga pelanggan kembali dalam talian, kemudian penyegerakan disambung semula. Untuk replikasi gabungan, perubahan dijejaki pada kedua-dua belah pihak dan digabungkan apabila sambungan dipulihkan. Tetapan tempoh pengekalan menentukan berapa lama data disimpan sebelum ia mesti dimulakan semula.

S: Bagaimanakah saya boleh menambah artikel baharu pada penerbitan sedia ada?

A: Untuk menambah artikel baharu pada penerbitan sedia ada, gunakan SQL Server Studio Pengurusan untuk mengubah suai sifat penerbitan dan memilih objek tambahan atau menggunakan prosedur tersimpan sp_addarticle. Selepas menambah artikel, jana snapshot baharu dan mulakan semula semua langganan untuk memastikan pelanggan menerima artikel baharu. Sesetengah perubahan mungkin memerlukan permulaan semula langganan bergantung pada tetapan penerbitan.

S: Bagaimanakah saya boleh mengalih keluar replikasi daripada pangkalan data?

A: Alih keluar replikasi daripada pangkalan data dengan memadam semua langganan menggunakan sp_dropsubscription terlebih dahulu, kemudian menggugurkan penerbitan dengan sp_droppublication, dan akhirnya melumpuhkan penerbitan pada pangkalan data menggunakan sp_replicationdboption. Jika pelayan ialah pengedar, lumpuhkan pengedaran menggunakan sp_dropdistributor. Sentiasa buat sandaran pangkalan data sebelum mengalih keluar konfigurasi replikasi.

S: Apakah perbezaan antara SQL Server Kumpulan Replikasi dan Ketersediaan AlwaysOn?

A: Replikasi ialah penyelesaian pengagihan dan integrasi data yang beroperasi pada peringkat objek, manakala Sentiasa Mengenai Kumpulan Ketersediaan merupakan penyelesaian ketersediaan tinggi dan pemulihan bencana yang beroperasi pada peringkat pangkalan data.

7. kesimpulan

SQL Server Replikasi menyediakan rangka kerja yang mantap untuk mengedarkan dan menyegerakkan data merentasi pelbagai pangkalan data dan lokasi. Teknologi ini menyokong pelbagai senario melalui jenis replikasi yang berbeza.

Memilih strategi replikasi yang betul bergantung pada keperluan khusus anda. Pertimbangkan kekerapan perubahan data, keperluan latensi, sama ada pelanggan perlu membuat kemas kini, ciri rangkaian dan keperluan autonomi pelanggan. Replikasi snapshot berfungsi paling baik untuk perubahan data rujukan yang jarang berlaku di mana latensi tidak kritikal. Replikasi transaksional sesuai dengan senario volum tinggi yang memerlukan latensi rendah dan terutamanya aliran data sehala.

Pilih replikasi gabungan apabila pelanggan memerlukan operasi autonomi dengan keupayaan luar talian dan penyegerakan dwiarah. Laksanakan replikasi rakan-ke-rakan untuk operasi bacaan pengimbangan beban merentasi berbilang nod aktif dengan konsistensi hampir masa nyata. Pertimbangkan pendekatan hibrid yang menggabungkan berbilang jenis replikasi untuk senario kompleks dengan keperluan yang pelbagai.

Rujukan


Mengenai Penulis

Yuan Sheng ialah pentadbir pangkalan data kanan (DBA) dengan lebih 10 tahun pengalaman dalam SQL Server persekitaran dan pengurusan pangkalan data perusahaan. Beliau telah berjaya menyelesaikan ratusan senario pemulihan pangkalan data merentas perkhidmatan kewangan, penjagaan kesihatan dan organisasi pembuatan.

Yuan pakar dalam SQL Server pemulihan pangkalan data, penyelesaian ketersediaan tinggi dan pengoptimuman prestasi. Pengalaman praktikalnya yang luas termasuk mengurus pangkalan data berbilang terabait, melaksanakan Kumpulan Ketersediaan Sentiasa Dihidupkan, dan membangunkan strategi sandaran dan pemulihan automatik untuk sistem perniagaan yang kritikal misi.

Melalui kepakaran teknikal dan pendekatan praktikalnya, Yuan menumpukan pada mencipta panduan komprehensif yang membantu pentadbir pangkalan data dan profesional IT menyelesaikan kompleks SQL Server cabaran dengan cekap. Dia kekal terkini dengan yang terkini SQL Server keluaran dan teknologi pangkalan data Microsoft yang sedang berkembang, menguji senario pemulihan secara kerap untuk memastikan cadangannya mencerminkan amalan terbaik dunia sebenar.

Ada soalan tentang SQL Server pemulihan atau memerlukan panduan penyelesaian masalah pangkalan data tambahan? Yuan mengalu-alukan maklum balas dan cadangan untuk menambah baik sumber teknikal ini.

Kongsi Sekarang: