Gejala
Anda menggunakan replikasi penggabungan SQL Server 2005 atau SQL Server 2008 replikasi penggabungan dengan sinkronisasi Web berbasis pelanggan. Terjadi kebocoran memori setelah sinkronisasi ulang dan Anda akan menerima galat "memori penuh" setelah periode waktu tertentu. Ini menjadi terlihat ketika proses host tidak di-restart untuk waktu yang lama, seperti ketika menggabungkan agen (Replmerg.exe) yang digunakan dengan switch - terus-menerus atau saat parameter berkelanjutan ditetapkan di profil agen yang diterapkan ke agen. Juga, masalah ini dapat mempengaruhi RMO aplikasi atau layanan yang Anda mengembangkan yang menjalankan sinkronisasi di sebuah loop saat aplikasi berjalan selama beberapa hari tanpa keluar.
Penyebab
Beberapa objek internal bocor berdasarkan sinkronisasi masing-masing.
Pemecahan masalah
SQL Server 2005 Paket Layanan 3
Perbaikan untuk masalah ini pertama kali dirilis di pembaruan kumulatif 6 untuk SQL Server 2005 Paket Layanan 3. Untuk informasi lebih lanjut tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
974648 kumulatif paket pembaruan 6 untuk SQL Server 2005 Paket Layanan 3Catatan Karena edisi ini kumulatif, setiap edaran perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2005 edaran perbaikan. Microsoft menganjurkan agar Anda menerapkan edaran perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
960598 SQL Server 2005 edisi yang dirilis setelah SQL Server 2005 Paket Layanan 3 diluncurkan. Microsoft SQL Server 2005 perbaikan dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan perbaikan terbaru SQL Server 2005 Paket Layanan 3 untuk penginstalan SQL Server 2005 Paket Layanan 3. Secara default, setiap perbaikan terbaru yang disediakan dalam paket layanan SQL Server yang disertakan dalam paket layanan SQL Server.
Versi rilis SQL Server 2008
Penting Anda harus menginstal perbaikan ini jika Anda menjalankan versi rilis SQL Server 2008.
Perbaikan untuk masalah ini pertama kali diedarkan dalam 8 pembaruan kumulatif. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:Paket 8 pembaruan 975976 kumulatif untuk SQL Server 2008Catatan Karena edisi ini kumulatif, setiap edaran perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2008 edaran perbaikan. Kami sarankan Anda mempertimbangkan untuk menerapkan edaran perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
956909 bangun SQL Server 2008 yang dirilis setelah SQL Server 2008 dirilis
SQL Server 2008 Paket Layanan 1
Penting Anda harus menginstal perbaikan ini jika Anda menjalankan SQL Server 2008 Paket Layanan 1.
Perbaikan untuk masalah ini pertama kali dirilis pada 5 pembaruan kumulatif untuk SQL Server 2008 Paket Layanan 1. Untuk informasi lebih lanjut tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:975977 kumulatif paket pembaruan 5 untuk SQL Server 2008 Paket Layanan 1Catatan Karena edisi ini kumulatif, setiap edaran perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan sebelumnya SQL Server 2008 edaran perbaikan. Microsoft menganjurkan agar Anda menerapkan edaran perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
970365 bangun SQL Server 2008 yang dirilis setelah SQL Server 2008 Paket Layanan 1 kini telah dirilis Microsoft SQL Server 2008 perbaikan dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan perbaikan terbaru SQL Server 2008 Paket Layanan 1 untuk penginstalan SQL Server 2008 Paket Layanan 1. Secara default, setiap perbaikan terbaru yang disediakan dalam paket layanan SQL Server yang disertakan dalam paket layanan SQL Server.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Pemecahan masalah
Untuk mengatasi masalah ini, gunakan salah satu dari metode berikut ini:
Metode 1
Jika Anda menggunakan agen gabungan dalam mode terus-menerus, menghentikan proses agen gabungan secara berkala, dan mulai lagi.
Misalnya, Anda menerima galat "memori penuh" setelah lima hari, dan Anda menggabungkan agen dijadwalkan sebagai pekerjaan. Kemudian, Anda jadwal pekerjaan agen Server SQL baru untuk panggilan sp_stop_job diikuti oleh sp_start_job menentukan nama pekerjaan agen gabungan yang akan siklus proses terpengaruh setiap lima hari. Ketika Anda menghentikan proses menggabungkan agen (Replmerg.exe), memori bocor apa pun di dalam ruang memori proses akan diluncurkan. Untuk informasi selengkapnya tentang penggunaan switch - berkelanjutan di menggabungkan Agent, lihat situs Web Microsoft Developer Network (MSDN) berikut:http://msdn.microsoft.com/en-us/library/ms147839.aspx
sp_stop_job http://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx
sp_start_job http://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx
Metode 2
Jika Anda menggunakan agen gabungan dari pekerjaan, Anda dapat mengkonfigurasi manual looping logika dalam pekerjaan dengan menggunakan langkah-langkah tambahan bukannya mengandalkan parameter berkelanjutan. Alih-alih satu gabungan agen proses looping internal selamanya terus-menerus, menjadwal agen gabungan sebagai langkah pekerjaan yang berulang secara sering seperti sekali setiap menit. Proses akan keluar antara pengulangan, dan ini membebaskan memori bocor apa pun.
Edit menggabungkan agen pekerjaan sehingga ulangi langkah-langkah di sebuah loop dengan jeda antara mengulang.-
Setelah langkah [3] "Mendeteksi shutdown nonlogged agen," menambahkan langkah baru [4] bernama "Loop coba lagi terbatas." Menetapkan jenis TSQL dan perintah "waitfor penundaan ' 0: 00:05'", penundaan TSQL ini akan memberikan jeda kedua 5 mana Anda dapat mengkonfigurasi sebagai interval Poling sedemikian rupa agen gabungan akan berhenti sebentar antara eksekusi dan tidak berjalan terus-menerus. Pada advanced tab menentukan "Pada keberhasilan tindakan" sebagai "Lanjutkan ke langkah [2] jalankan agen" dan "Pada kegagalan tindakan" sebagai "Lanjutkan ke langkah [2] jalankan agen."
-
Edit langkah [2] jalankan agen untuk memastikan loop langkah [4] tercapai. Pada tab lanjut langkah [2], ditetapkan pada tindakan keberhasilan, "lanjutkan ke langkah: [4] terbatas Loop coba lagi" dan ditetapkan pada kegagalan tindakan "Lanjutkan ke langkah berikutnya".
-
Edit langkah [3] "Deteksi nonlogged agen shutdown" untuk memastikan bahwa loop pada langkah [4] tercapai. Pada tab lanjut langkah [3], ditetapkan pada keberhasilan tindakan, "Lanjutkan ke langkah berikutnya". Anda juga dapat memutuskan apakah Anda ingin langkah [3] pada kegagalan tindakan disetel sebagai "Lanjutkan ke langkah berikutnya" atau "Keluar dari pekerjaan pelaporan kegagalan." Jika dikonfigurasi untuk keluar dari program ini akan menampilkan kegagalan pekerjaan replikasi Monitor dan memantau pekerjaan. Jika dikonfigurasi pada kegagalan untuk melanjutkan ke langkah loop keempat, agen gabungan mungkin jalankan kembali tanpa batas waktu, dan galat dicatat tanpa batas.
Metode 3
Demikian pula, jika Anda menggunakan aplikasi RMO memanggil metode MergeSynchronizationAgent.Synchronize() yang menyinkronkan database pelanggan di sebuah loop, berhenti dan restart proses secara berkala untuk mengosongkan memori yang bocor karena masalah ini.http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.mergesynchronizationagent.synchronize(SQL.90).aspx
Untuk informasi lebih lanjut tentang objek dan metode ini, lihat situs Web Microsoft Developer Network (MSDN) berikut:Referensi
Untuk informasi selengkapnya tentang cara menggunakan switch - terus-menerus menggabungkan Agent, kunjungi situs Web Microsoft Developer Network (MSDN) berikut:
http://msdn.microsoft.com/en-us/library/ms147839.aspx Untuk informasi selengkapnya tentang prosedur sp_stop_job disimpan, kunjungi situs Web Microsoft Developer Network (MSDN) berikut:
http://http://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx Untuk informasi selengkapnya tentang prosedur sp_start_job disimpan, kunjungi situs Web Microsoft Developer Network (MSDN) berikut:
http://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx Untuk informasi selengkapnya tentang cara mendapatkan SQL Server 2005 Paket Layanan 3, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
913089 cara mendapatkan paket layanan terbaru untuk SQL Server 2005 Untuk informasi selengkapnya tentang fitur baru dalam SQL Server 2005 Paket Layanan 3 (SP3) dan peningkatan dalam SQL Server 2005 SP3, kunjungi situs Web Microsoft berikut ini:
http://go.microsoft.com/fwlink/?LinkId=131442Untuk informasi selengkapnya tentang skema penamaan untuk pemutakhiran SQL Server, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
Paket pembaruan 822499 Skema penamaan baru untuk perangkat lunak Microsoft SQL Server Untuk informasi selengkapnya tentang peristilahan pemutakhiran perangkat lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
824684 Deskripsi tentang peristilahan standar yang digunakan untuk menjelaskan pemutakhiran perangkat lunak Microsoft