Non renouvellement des plages d'identités d'une réplication de fusion
5 réponses
Test recherche
Bonjour
Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur
x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go
de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux
abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style
L'instruction INSERT est en conflit avec la contrainte CHECK
'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est
produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column
'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité
et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la
plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec
sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais
cela ne sert à rien.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Med Bouchenafa
Dans l'urgence, sauvegarde ton journal meme dans le vide Cela a pour effet de le vider Il faut ensuite tout de suite apres faire un BACKUP complet de ta base
Bien cordialement Med Bouchenafa
"Test recherche" wrote in message news:hke630$29s$
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Dans l'urgence, sauvegarde ton journal meme dans le vide
Cela a pour effet de le vider
Il faut ensuite tout de suite apres faire un BACKUP complet de ta base
Bien cordialement
Med Bouchenafa
"Test recherche" <Test@Test.fr> wrote in message
news:hke630$29s$1@s1.news.oleane.net...
Bonjour
Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003
serveur
x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12
Go
de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux
abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style
L'instruction INSERT est en conflit avec la contrainte CHECK
'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit
s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column
'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité
et lors de la tentative d'ajout d'un enregistrement la dernière valeur de
la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec
sp_adjustpublisheridentityrange @publication = 'Réplication de fusion',
mais cela ne sert à rien.
Dans l'urgence, sauvegarde ton journal meme dans le vide Cela a pour effet de le vider Il faut ensuite tout de suite apres faire un BACKUP complet de ta base
Bien cordialement Med Bouchenafa
"Test recherche" wrote in message news:hke630$29s$
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Med Bouchenafa
Je pense qu'il faudra que tu passes par le support Microsoft Il y a tellement d'aleas possibles
Bien cordialement Med Bouchenafa
"Test recherche" wrote in message news:hke630$29s$
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Je pense qu'il faudra que tu passes par le support Microsoft
Il y a tellement d'aleas possibles
Bien cordialement
Med Bouchenafa
"Test recherche" <Test@Test.fr> wrote in message
news:hke630$29s$1@s1.news.oleane.net...
Bonjour
Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003
serveur
x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12
Go
de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux
abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style
L'instruction INSERT est en conflit avec la contrainte CHECK
'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit
s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column
'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité
et lors de la tentative d'ajout d'un enregistrement la dernière valeur de
la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec
sp_adjustpublisheridentityrange @publication = 'Réplication de fusion',
mais cela ne sert à rien.
Je pense qu'il faudra que tu passes par le support Microsoft Il y a tellement d'aleas possibles
Bien cordialement Med Bouchenafa
"Test recherche" wrote in message news:hke630$29s$
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Med Bouchenafa
Desolé, Cette reponse s'appliquait plutot au message de Hithlain
Bien cordialement Med Bouchenafa
"Med Bouchenafa" wrote in message news:
Dans l'urgence, sauvegarde ton journal meme dans le vide Cela a pour effet de le vider Il faut ensuite tout de suite apres faire un BACKUP complet de ta base
Bien cordialement Med Bouchenafa
"Test recherche" wrote in message news:hke630$29s$
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Desolé,
Cette reponse s'appliquait plutot au message de Hithlain
Bien cordialement
Med Bouchenafa
"Med Bouchenafa" <com.hotmail@bouchenafa> wrote in message
news:E2A62FB1-B171-428A-9FD6-F4F84681A693@microsoft.com...
Dans l'urgence, sauvegarde ton journal meme dans le vide
Cela a pour effet de le vider
Il faut ensuite tout de suite apres faire un BACKUP complet de ta base
Bien cordialement
Med Bouchenafa
"Test recherche" <Test@Test.fr> wrote in message
news:hke630$29s$1@s1.news.oleane.net...
Bonjour
Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003
serveur
x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12
Go
de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux
abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style
L'instruction INSERT est en conflit avec la contrainte CHECK
'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit
s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX',
column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage
d'identité et lors de la tentative d'ajout d'un enregistrement la
dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec
sp_adjustpublisheridentityrange @publication = 'Réplication de fusion',
mais cela ne sert à rien.
Desolé, Cette reponse s'appliquait plutot au message de Hithlain
Bien cordialement Med Bouchenafa
"Med Bouchenafa" wrote in message news:
Dans l'urgence, sauvegarde ton journal meme dans le vide Cela a pour effet de le vider Il faut ensuite tout de suite apres faire un BACKUP complet de ta base
Bien cordialement Med Bouchenafa
"Test recherche" wrote in message news:hke630$29s$
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
SQLpro
Bonjour,
La réplication de fusion, fait partie des choses les plus complexes à administrer. C'est la pire des réplication et elle devrait être réservée à quelques cas particulier. Mieux vaut utiliser les mode transactionnel ou snapshot. Pour la réplication de fusion, Il faut la penser au niveau du modèle. Le fait de décaler des plages de clef n'est pas la panacée. Pour ma part j'utilise une chose très simple. Par exemple si j'estime qu'au maximum il n'y aura jamais plus de 100 machines qui répliquent, alors chaque version de la base reçoit un IDENTITY (n, 100) dans chacune des clef des tables, avec pour la première base n = 1, pour la deuxième n=2, pour la 3e n = 3, etc. Ainsi il n'y a jamais de recouvrement des clefs.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies *********************** http://www.sqlspot.com *************************
On 4 fév, 11:09, "Test recherche" wrote:
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serv eur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s' est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arr êtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'i dentité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion ', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépass é.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Bonjour,
La réplication de fusion, fait partie des choses les plus complexes à
administrer. C'est la pire des réplication et elle devrait être
réservée à quelques cas particulier. Mieux vaut utiliser les mode
transactionnel ou snapshot.
Pour la réplication de fusion, Il faut la penser au niveau du modèle.
Le fait de décaler des plages de clef n'est pas la panacée. Pour ma
part j'utilise une chose très simple. Par exemple si j'estime qu'au
maximum il n'y aura jamais plus de 100 machines qui répliquent, alors
chaque version de la base reçoit un IDENTITY (n, 100) dans chacune des
clef des tables, avec pour la première base n = 1, pour la deuxième
n=2, pour la 3e n = 3, etc. Ainsi il n'y a jamais de recouvrement des
clefs.
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning,
optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var
Technologies
*********************** http://www.sqlspot.com
*************************
On 4 fév, 11:09, "Test recherche" <T...@Test.fr> wrote:
Bonjour
Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serv eur
x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go
de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux
abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style
L'instruction INSERT est en conflit avec la contrainte CHECK
'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s' est
produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column
'id_XXXX'.
- L'instruction a été arr êtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'i dentité
et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la
plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec
sp_adjustpublisheridentityrange @publication = 'Réplication de fusion ', mais
cela ne sert à rien.
La réplication de fusion, fait partie des choses les plus complexes à administrer. C'est la pire des réplication et elle devrait être réservée à quelques cas particulier. Mieux vaut utiliser les mode transactionnel ou snapshot. Pour la réplication de fusion, Il faut la penser au niveau du modèle. Le fait de décaler des plages de clef n'est pas la panacée. Pour ma part j'utilise une chose très simple. Par exemple si j'estime qu'au maximum il n'y aura jamais plus de 100 machines qui répliquent, alors chaque version de la base reçoit un IDENTITY (n, 100) dans chacune des clef des tables, avec pour la première base n = 1, pour la deuxième n=2, pour la 3e n = 3, etc. Ainsi il n'y a jamais de recouvrement des clefs.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies *********************** http://www.sqlspot.com *************************
On 4 fév, 11:09, "Test recherche" wrote:
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serv eur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s' est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arr êtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'i dentité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion ', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépass é.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Serguei Tarassov
On 04/02/2010 11:09, Test recherche wrote:
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Stéphane,
Apriori, t'a un problème au niveau de conception. Pour la réplication bidirectionnelle il faut éviter absolument les identificateurs qui ne sont pas unique globalement (comme "identity"). Les solution possibles : - passe sur les GUIDs (uniqueidentificator) - gère les IDs de type entière à la main Par exemple ID = ID du serveur * 10000000 + ID généré dans la BD (11 * 1000000 + 12345 = 110012345)
En plus, la replication de fusion ne te garantie pas toujours que la ligne de table "parent" sera transmet avant la ligne de table "enfant" ce que provoque les erreurs d'intégrité référentiel.
A+ Serguei TARASSOV MCITP SQL Server Dev/DBA http://sgbd.arbinada.com
On 04/02/2010 11:09, Test recherche wrote:
Bonjour
Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur
x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go
de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux
abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style
L'instruction INSERT est en conflit avec la contrainte CHECK
'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est
produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column
'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité
et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la
plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec
sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais
cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une
chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de
gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Stéphane,
Apriori, t'a un problème au niveau de conception.
Pour la réplication bidirectionnelle il faut éviter absolument les
identificateurs qui ne sont pas unique globalement (comme "identity").
Les solution possibles :
- passe sur les GUIDs (uniqueidentificator)
- gère les IDs de type entière à la main
Par exemple ID = ID du serveur * 10000000 + ID généré dans la BD (11 *
1000000 + 12345 = 110012345)
En plus, la replication de fusion ne te garantie pas toujours que la
ligne de table "parent" sera transmet avant la ligne de table "enfant"
ce que provoque les erreurs d'intégrité référentiel.
A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com
Bonjour Je dispose d'un serveur SQL 2005 x 64 (9.0.4207) sur un windows 2003 serveur x64. 2 processeurs avec 4 cores chacun soit 8 cores au total, 2.93Ghz, 12 Go de ram.
J'ai une réplication de fusion entre ce serveur qui est l'éditeur et deux abonnés (un sql 2005 et un sql 2000).
Régulièrement j'ai une erreur de ce style L'instruction INSERT est en conflit avec la contrainte CHECK 'repl_identity_range_4748231C_3C2B_45AF_B529_F604D965DB3A'. Le conflit s'est produit dans la base de données 'XXXXXXX', table 'dbo.XXXXX', column 'id_XXXX'.
- L'instruction a été arrêtée.
J'ai constaté que l'éditeur ou l'abonné est au bout de sa plage d'identité et lors de la tentative d'ajout d'un enregistrement la dernière valeur de la plage d'identité est continuellement fourni.
J'ai bien un travail qui éxecute toutes les minutes la commande Exec sp_adjustpublisheridentityrange @publication = 'Réplication de fusion', mais cela ne sert à rien.
Certaine de mes tables ont des plages de 10000 avec un seuil à 70 % et une chose est sûre la plage ne se renouvelle pas une fois le seuil dépassé.
Et cela attend, pour certaines tables, le dernier moment, ce qui lors de gros traitement provoque ces erreurs.
Est ce que quelqu'un sait comment résoudre ce problème.
Merci d'avance
Très cordialement
Stéphane
Stéphane,
Apriori, t'a un problème au niveau de conception. Pour la réplication bidirectionnelle il faut éviter absolument les identificateurs qui ne sont pas unique globalement (comme "identity"). Les solution possibles : - passe sur les GUIDs (uniqueidentificator) - gère les IDs de type entière à la main Par exemple ID = ID du serveur * 10000000 + ID généré dans la BD (11 * 1000000 + 12345 = 110012345)
En plus, la replication de fusion ne te garantie pas toujours que la ligne de table "parent" sera transmet avant la ligne de table "enfant" ce que provoque les erreurs d'intégrité référentiel.
A+ Serguei TARASSOV MCITP SQL Server Dev/DBA http://sgbd.arbinada.com