Mengelola Partisi untuk Publikasi Gabungan dengan Filter Berparameter

Berlaku untuk:SQL Server

Topik ini menjelaskan cara mengelola partisi untuk publikasi gabungan dengan filter berparameter di SQL Server dengan menggunakan SQL Server Management Studio, Transact-SQL, atau Objek Manajemen Replikasi (RMO). Filter baris berparameter dapat digunakan untuk menghasilkan partisi yang tidak tumpang tindih. Partisi ini dapat dibatasi sehingga hanya satu langganan yang menerima partisi tertentu. Dalam kasus ini, sejumlah besar pelanggan akan menghasilkan sejumlah besar partisi, yang pada gilirannya memerlukan jumlah rekam jepret yang dipartisi yang sama. Untuk informasi selengkapnya, lihat Filter Baris Berparameter.

Dalam Topik Ini

Sebelum Anda mulai

Rekomendasi

  • Jika Anda membuat skrip topologi replikasi, yang direkomendasikan, skrip publikasi berisi panggilan prosedur tersimpan untuk membuat partisi data. Skrip menyediakan referensi untuk partisi yang dibuat dan cara untuk membuat ulang satu atau beberapa partisi jika perlu. Untuk informasi selengkapnya, lihat Replikasi Pembuatan Skrip.

  • Ketika publikasi memiliki filter berparameter yang menghasilkan langganan dengan partisi yang tidak tumpang tindih, dan jika langganan tertentu hilang dan perlu dibuat ulang, Anda harus melakukan hal berikut: menghapus partisi yang berlangganan, membuat ulang langganan, lalu membuat ulang partisi. Untuk informasi selengkapnya, lihat Filter Baris Berparameter. Replikasi menghasilkan skrip pembuatan untuk partisi Pelanggan yang ada saat skrip pembuatan publikasi dibuat. Untuk informasi selengkapnya, lihat Replikasi Pembuatan Skrip.

Menggunakan SQL Server Management Studio

Kelola partisi pada halaman Partisi Data dari kotak dialog Properti Publikasi - <Publikasi> . Untuk informasi selengkapnya tentang mengakses kotak dialog ini, lihat Menampilkan dan Mengubah Properti Publikasi. Di halaman ini Anda dapat: membuat dan menghapus partisi; mengizinkan Pelanggan untuk memulai pembuatan dan pengiriman rekam jepret; menghasilkan rekam jepret untuk satu atau beberapa partisi; dan membersihkan rekam jepret.

Untuk membuat partisi

  1. Pada halaman Partisi Data dari kotak dialog Properti Publikasi - <Publikasi> , klik Tambahkan.

  2. Dalam kotak dialog Tambahkan Partisi Data, masukkan nilai untuk nilai HOST_NAME() dan/atau SUSER_SNAME() yang terkait dengan partisi yang ingin Anda buat.

  3. Secara opsional tentukan jadwal untuk merefresh rekam jepret:

    1. Pilih Jadwalkan Agen Rekam Jepret agar partisi ini berjalan pada waktu berikut

    2. Terima jadwal default untuk merefresh rekam jepret, atau klik Ubah untuk menentukan jadwal yang berbeda.

  4. Pilih OK.

Untuk menghapus partisi

  1. Pada halaman Partisi Data, pilih partisi di kisi.

  2. Klik Hapus.

Untuk memungkinkan Pelanggan memulai pembuatan dan pengiriman rekam jepret

  1. Pada halaman Partisi Data, pilih Tentukan partisi secara otomatis dan buat rekam jepret jika diperlukan saat Pelanggan baru mencoba menyinkronkan.

  2. Pilih OK.

Untuk menghasilkan rekam jepret untuk partisi

  1. Pada halaman Partisi Data, pilih partisi di kisi.

  2. Klik Buat rekam jepret yang dipilih sekarang.

Untuk membersihkan rekam jepret untuk partisi

  1. Pada halaman Partisi Data, pilih partisi di kisi.

  2. Klik Bersihkan rekam jepret yang ada.

Menggunakan T-SQL

Untuk mengelola publikasi dengan filter berparameter dengan lebih baik, Anda dapat menghitung partisi yang ada secara terprogram menggunakan prosedur tersimpan replikasi. Anda juga dapat membuat dan menghapus partisi yang ada. Informasi berikut tentang partisi yang ada dapat diperoleh:

Meskipun bagian kedua dari rekam jepret dua bagian dapat dihasilkan sesuai permintaan ketika langganan baru diinisialisasi, prosedur di bawah ini memungkinkan Anda mengontrol bagaimana rekam jepret ini dihasilkan dan untuk membuat rekam jepret ini sebelumnya ketika paling nyaman. Untuk informasi selengkapnya, lihat Rekam Jepret untuk Gabungkan Publikasi dengan Filter Berparameter.

Untuk melihat informasi tentang partisi yang ada

  1. Di Publisher pada database publikasi, jalankan sp_helpmergepartition (Transact-SQL). Tentukan nama publikasi untuk @publication. (Opsional) Tentukan @suser_sname atau @host_name untuk mengembalikan hanya informasi berdasarkan kriteria pemfilteran tunggal.

Untuk menentukan partisi baru dan menghasilkan rekam jepret baru yang dipartisi

  1. Di Publisher pada database publikasi, jalankan sp_addmergepartition (Transact-SQL). Tentukan nama publikasi untuk @publication, dan nilai berparameter yang menentukan partisi untuk salah satu hal berikut:

  2. Buat dan inisialisasi rekam jepret berparameter untuk partisi baru ini. Untuk informasi selengkapnya, lihat Membuat Rekam Jepret untuk Publikasi Gabungan dengan Filter Berparameter.

Untuk menghapus partisi

  1. Di Publisher pada database publikasi, jalankan sp_dropmergepartition (Transact-SQL). Tentukan nama publikasi untuk @publication dan nilai berparameter yang menentukan partisi untuk salah satu hal berikut ini:

    Ini juga menghapus pekerjaan rekam jepret dan file rekam jepret apa pun untuk partisi.

Menggunakan Objek Manajemen Replikasi (RMO)

Untuk mengelola publikasi dengan filter parameter dengan lebih baik, Anda dapat secara terprogram membuat partisi Pelanggan baru, menghitung partisi Pelanggan yang ada, dan menghapus partisi Pelanggan dengan menggunakan Objek Manajemen Replikasi (RMO). Untuk informasi tentang cara membuat partisi Pelanggan, lihat Membuat Rekam Jepret untuk Publikasi Gabungan dengan Filter Berparameter. Informasi berikut tentang partisi yang ada dapat diperoleh:

  • Nilai dan fungsi pemfilteran di mana partisi didasarkan.

  • Nama pekerjaan yang menghasilkan rekam jepret parameter untuk Pelanggan.

  • Terakhir kali pekerjaan rekam jepret berparameter dijalankan.

Untuk melihat informasi tentang partisi yang ada

  1. Buat koneksi ke Publisher dengan menggunakan ServerConnection kelas .

  2. Membuat instans kelas MergePublication. Atur Name properti dan DatabaseName untuk publikasi, dan atur ConnectionContext properti ke yang ServerConnection dibuat di langkah 1.

  3. LoadProperties Panggil metode untuk mendapatkan properti objek. Jika metode ini mengembalikan false, properti publikasi di langkah 2 didefinisikan dengan tidak benar atau publikasi tidak ada.

  4. EnumMergePartitions Panggil metode , dan teruskan hasilnya ke array MergePartition objek.

  5. Untuk setiap MergePartition objek dalam array, dapatkan properti yang menarik.

Untuk menghapus partisi yang ada

  1. Buat koneksi ke Publisher dengan menggunakan ServerConnection kelas .

  2. Membuat instans kelas MergePublication. Atur Name properti dan DatabaseName untuk publikasi, dan atur ConnectionContext properti ke yang ServerConnection dibuat di langkah 1.

  3. LoadProperties Panggil metode untuk mendapatkan properti objek. Jika metode ini mengembalikan false, properti publikasi di langkah 2 didefinisikan dengan tidak benar atau publikasi tidak ada.

  4. EnumMergePartitions Panggil metode , dan teruskan hasilnya ke array MergePartition objek.

  5. Untuk setiap MergePartition objek dalam array, tentukan apakah partisi harus dihapus. Keputusan ini biasanya didasarkan pada nilai DynamicFilterLogin properti atau DynamicFilterHostName properti .

  6. RemoveMergePartition Panggil metode pada MergePublication objek dari langkah 2. Teruskan MergePartition objek dari langkah 5.

  7. Ulangi langkah 6 untuk setiap partisi yang dihapus.

Lihat Juga

Filter Baris Berparameter
Rekam jepret untuk Gabungkan Publikasi dengan Filter Berparameter