2010-07-27 4 views
0

J'utilise la réplication SQL Server 2008 CE et semble subir une perte de données (par exemple, les enregistrements n'apparaissent pas dans les bases de données CE après une synchronisation complète).Perte de données SQL Server 2008 avec réplication CE

Je reçois les entrées suivantes dans le journal d'application:

réplication de fusion-réplication du sous-système: Agent 0033007B-0043-0039-4400-440036003300 a échoué. Erreur interne: une opération de lecture du périphérique ou du serveur IIS a renvoyé un nombre d'octets incorrect lors de la tentative de traitement d'une demande de synchronisation. [,,,,,]

Le sous-système de fusion de réplication-réplication: l'agent 0045007B-0038-0037-3200-430036004200 a échoué. Erreur interne: L'ordinateur exécutant IIS manque de mémoire ou un ID de session incorrect a été envoyé dans une requête. [ID de session ,,,,,]

Le sous-système de fusion de réplication-réplication: l'agent 0033007B-0043-0039-4400-440036003300 a échoué. La validation du nombre de lignes de la table a échoué. Essayez de resynchroniser. [,,,,,]

Sous-système de fusion de réplication-réplication: l'agent 0043007B-0036-0044-4400-320032003000 a échoué. Le processus de fusion n'a pas pu initialiser l'abonnement. Assurez-vous que l'inscription de l'abonnement existe chez l'éditeur et réinscrivez l'abonnement si nécessaire.

Sous-système de fusion de réplication-réplication: l'agent 0036007B-0037-0042-4500-370036003600 a échoué. L'authentification a échoué sur l'ordinateur exécutant IIS. [,,,,,]

Les messages semblent indiquer que IIS est à court de RAM. Il utilise environ 22 Mo, et W3WP utilise environ 70 Mo. SQL Server a consommé la plupart des 4 Go de RAM restants. Il y a beaucoup d'espace disque. Ces erreurs se produisent toutes les quelques heures dans le journal des événements.

Toutes les suggestions seraient grandement appréciées.

Mise à jour

Ajouter plus de RAM à la machine a aidé le problème, (et sur des exceptions de mémoire ont disparu) mais je suis toujours des problèmes.

Il semble que certains utilisateurs mettent beaucoup de temps à exécuter une tâche de «validation des données» sur la base de données avant la synchronisation (je parle> 20 minutes), ce qui pourrait contribuer au problème.

Répondre

2

Je recevais cette erreur exacte Le problème réel est le IIS piscine délai d'attente ! Ainsi, plus la base de données est grande, plus le traitement du client est long et lent qu'il faut plus de 20 minutes pour traiter le processus, ce qui provoque l'expiration de la session du pool, ce qui bloque le backend. La solution que j'ai utilisée était d'augmenter le tampon du processus du côté du client comme décrit ici:

http://blogs.msdn.com/b/sqlblog/archive/2009/06/24/performance-tips-for-faster-download-of-a-large-sql-compact-3-5-database-via-replication.aspx

Voici mon poste quand je travaillais à travers ce http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f9414df5-f066-450c-8e26-6f4c62a3897a/iis-replication-agent-restarts-replication-never-finishes

aussi une pensée intéressante est que vous pouvez faire de la fusion sur un PC une fois, puis déployer ce fichier sur les périphériques, peuvent évidemment pas adapter à votre scénario.

1

Je donnai sur la résolution du problème, et abandonnèrent la réplication SQL mobile en faveur de la mise en œuvre ma propre interface de synchronisation en utilisant les services Web:. ¬ (

Questions connexes