IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réplications SQL Server Discussion :

Pb réplication transactionnelle


Sujet :

Réplications SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut Pb réplication transactionnelle
    Bonjour,

    J'ai mis en place la réplication transactionnelle sur un même serveur SQL 2005 (pour tester) entre 2 bases qui sont identiques.

    Seules les données des tables de la base A doivent être répliquées vers la base B.

    La structure de la base A ne changera jamais.

    Le test, pour le moment, ne porte que sur une table.

    Lorsque je modifie des données de la table de la base A, je reçois le message d'erreur suivant : "Erreur INSERT*: le nom ou le numéro de colonne des valeurs fournies ne correspond pas à la définition de la table"

    Or, c'est impossible car la base B est un backup de la base A.

    Ensuite, en traçant la commande impliquée et en la ré-exécutant sur la base B, je n'ai aucun soucis, la transaction passe correctement...

    Quelqu'un a une idée de ce qui se passe?

    Merci d'avance!

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Avec aussi peu d'éléments difficile de répondre !

    Merci de poster :

    - DDL de création de la table source.
    - DDL de création de la table cible.
    - script de création de la réplication.
    - le cas échéant scripts de pre et post-snapshot et scripts de ps "customs" de réplication si tu en utilises.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Ok,

    DDL de création de la table source:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
     
    CREATE TABLE [dbo].[T_SAL](
    	[SA_CompteurNumero] [dbo].[TNumSal] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    	[MatriculeSalarie] [dbo].[TMatricule] NOT NULL,
    	[Civilite] [dbo].[TByte] NULL,
    	[Nom] [dbo].[TStr80] NULL,
    	[NomJeuneFille] [dbo].[TStr80] NULL,
    	[Prenom] [dbo].[TStr20] NULL,
    	[Prenom2] [dbo].[TStr20] NULL,
    	[Confidentialite] [dbo].[TByte] NULL,
    	[Rue1] [dbo].[TStr40] NULL,
    	[Rue2] [dbo].[TStr40] NULL,
    	[Commune] [dbo].[TStr30] NULL,
    	[BureauDistributeur] [dbo].[TStr30] NULL,
    	[CodePostal] [dbo].[TStr10] NULL,
    	[CodePays] [dbo].[TStr20] NULL,
    	[Telephone] [dbo].[TStr15] NULL,
    	[Rue12] [dbo].[TStr40] NULL,
    	[Rue22] [dbo].[TStr40] NULL,
    	[Commune2] [dbo].[TStr30] NULL,
    	[BureauDistributeur2] [dbo].[TStr30] NULL,
    	[CodePostal2] [dbo].[TStr10] NULL,
    	[CodePays2] [dbo].[TStr20] NULL,
    	[Telephone2] [dbo].[TStr15] NULL,
    	[ChoixSurAdresse] [dbo].[TByte] NULL,
    	[DateNaissance] [dbo].[TDate] NULL,
    	[DeptNaissance] [dbo].[TStr2] NULL,
    	[CodePaysNaissance] [dbo].[TStr20] NULL,
    	[CommuneNaissance] [dbo].[TStr26] NULL,
    	[CodeCommuneNaissance] [dbo].[TStr3] NULL,
    	[SituationMilitaire] [dbo].[TByte] NULL,
    	[DateDebutServiceMil] [dbo].[TDate] NULL,
    	[DateFinServiceMil] [dbo].[TDate] NULL,
    	[TravailleurHandicape] [dbo].[TByte] NULL,
    	[SuiteAccident] [dbo].[TByte] NULL,
    	[TauxInvalidite] [dbo].[TFloat] NULL,
    	[NoBulletinModele] [int] NULL,
    	[CompteAuxiliaire] [dbo].[TStr13] NULL,
    	[ModeDePaiement] [dbo].[TByte] NULL,
    	[EtatPaie] [dbo].[TByte] NULL,
    	[Cloture] [dbo].[TByte] NULL,
    	[DateDePaie] [dbo].[TDate] NULL,
    	[DateDeCloture] [dbo].[TDate] NULL,
    	[CumulsReposCompensateur] [dbo].[TDouble] NULL,
    	[ResteAPrendre] [dbo].[TDouble] NULL,
    	[AcquisPrecedent] [dbo].[TDouble] NULL,
    	[AcquisEnCours] [dbo].[TDouble] NULL,
    	[CumulsBrutPrecedent] [dbo].[TDouble] NULL,
    	[MoisAncienneteSociete] [dbo].[TFloat] NULL,
    	[MoisAncienneteEtablissement] [dbo].[TFloat] NULL,
    	[MoisAnciennetePoste] [dbo].[TFloat] NULL,
    	[DateDebutConges1] [dbo].[TDate] NULL,
    	[DateFinConges1] [dbo].[TDate] NULL,
    	[DateDebutConges2] [dbo].[TDate] NULL,
    	[DateFinConges2] [dbo].[TDate] NULL,
    	[DateDebutConges3] [dbo].[TDate] NULL,
    	[DateFinConges3] [dbo].[TDate] NULL,
    	[DroitSupplementaire] [dbo].[TDouble] NULL,
    	[NbSamedis] [dbo].[TByte] NULL,
    	[MoisDeClotureDesConges] [dbo].[TByte] NULL,
    	[TypeDeVentilation] [dbo].[TByte] NULL,
    	[NbFichesENF] [dbo].[TByte] NULL,
    	[NbFichesMUL] [dbo].[TByte] NULL,
    	[ChoixEtablissement] [dbo].[TByte] NULL,
    	[GHRTypeConjoint] [dbo].[TByte] NULL,
    	[GHRTypeDAstreinte] [dbo].[TByte] NULL,
    	[GHRTypeDeSalarie] [dbo].[TByte] NULL,
    	[GHRSoldeRCReel] [dbo].[TDouble] NULL,
    	[GHRSoldeRCCalcul] [dbo].[TDouble] NULL,
    	[GHRDateDernierEnregistrement] [dbo].[TDate] NULL,
    	[GHRDateDernierEnregistrementHS] [dbo].[TDate] NULL,
    	[GHRDateDernierEnregistrementRC] [dbo].[TDate] NULL,
    	[GHRCodePAM] [dbo].[TStr10] NULL,
    	[GHRDernierContingentHS] [dbo].[TDouble] NULL,
    	[GHRContingentHSEnCours] [dbo].[TDouble] NULL,
    	[GHRCumulAnnuelHS] [dbo].[TDouble] NULL,
    	[AdresseOrganismeETA] [dbo].[TByte] NULL,
    	[TypeDuBulletin] [dbo].[TByte] NULL,
    	[CotorepDate] [dbo].[TDate] NULL,
    	[CotorepDateFin] [dbo].[TDate] NULL,
    	[CotorepCategorie] [dbo].[TStr1] NULL,
    	[CodeInseeCommune] [dbo].[TStr5] NULL,
    	[RompuBilletagePrecedent] [dbo].[TDouble] NULL,
    	[RompuBilletageCourant] [dbo].[TDouble] NULL,
    	[FormCategorieDeclaration] [dbo].[TByte] NULL,
    	[FormNiveauEtudes] [dbo].[TByte] NULL,
    	[CodeFonctionEntreprise] [dbo].[TStr10] NULL,
    	[NumeroDeBadge] [dbo].[TStr16] NULL,
    	[NumeroSQL] [int] NULL,
    	[CodeEmploiINSEE] [dbo].[TStr10] NULL,
    	[Commentaire1] [dbo].[TStr60] NULL,
    	[Commentaire2] [dbo].[TStr60] NULL,
    	[FlagInfosGenerales] [dbo].[TByte] NULL,
    	[BanqueActive] [dbo].[TByte] NULL,
    	[PaiementBanque] [dbo].[TConstante] NULL,
    	[ChoixPaiement] [dbo].[TByte] NULL,
    	[ChoixBanque1Ou2] [dbo].[TByte] NULL,
    	[PaiementBanqueEnTaux] [dbo].[TByte] NULL,
    	[IdentifiantEpargne] [dbo].[TStr13] NULL,
    	[CleIdentifiantEpargne] [dbo].[TStr2] NULL,
    	[ResidentFiscalEpargne] [dbo].[TByte] NULL,
    	[SoumisCSGEpargne] [dbo].[TByte] NULL,
    	[DIFDernierEntProf] [dbo].[TDate] NULL,
    	[DIFResteAPrendre] [dbo].[TDouble] NULL,
    	[EMail] [dbo].[Tstr128] NULL,
    	[InfoDateDeNaissance] [dbo].[TByte] NULL,
    	[BulletinDematerialise] [dbo].[TByte] NULL,
    	[Memo] [dbo].[TStr254] NULL,
     CONSTRAINT [PK_T_SAL] PRIMARY KEY CLUSTERED 
    (
    	[SA_CompteurNumero] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
     
    SET ANSI_PADDING OFF
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_BMOD] FOREIGN KEY([NoBulletinModele])
    REFERENCES [dbo].[T_BMOD] ([BM_CompteurNumero])
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_BMOD]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_CPX] FOREIGN KEY([CompteAuxiliaire])
    REFERENCES [dbo].[T_CPX] ([Compte])
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_CPX]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_EMPLOIINSEE] FOREIGN KEY([CodeEmploiINSEE])
    REFERENCES [dbo].[T_EMPLOIINSEE] (Code)
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_EMPLOIINSEE]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_FONCTIONENTREPRISE] FOREIGN KEY([CodeFonctionEntreprise])
    REFERENCES [dbo].[T_FONCTIONENTREPRISE] (Code)
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_FONCTIONENTREPRISE]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_GHRTAB_PAM] FOREIGN KEY([GHRCodePAM])
    REFERENCES [dbo].[T_GHRTAB_PAM] (Code)
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_GHRTAB_PAM]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [CK_T_SAL] CHECK NOT FOR REPLICATION (([Civilite]=(2) OR ([Civilite]=(1) OR [Civilite]=(0))))
    GO
     
    ALTER TABLE [dbo].[T_SAL] NOCHECK CONSTRAINT [CK_T_SAL]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [CK_T_SAL_2] CHECK NOT FOR REPLICATION (([ModeDePaiement]=(2) OR ([ModeDePaiement]=(1) OR [ModeDePaiement]=(0))))
    GO
     
    ALTER TABLE [dbo].[T_SAL] NOCHECK CONSTRAINT [CK_T_SAL_2]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [CK_T_SAL_3] CHECK NOT FOR REPLICATION (([Cloture]=(7) OR ([Cloture]=(6) OR ([Cloture]=(5) OR ([Cloture]=(4) OR ([Cloture]=(3) OR ([Cloture]=(2) OR ([Cloture]=(1) OR [Cloture]=(0)))))))))
    GO
     
    ALTER TABLE [dbo].[T_SAL] NOCHECK CONSTRAINT [CK_T_SAL_3]
    GO
     
    ALTER TABLE [dbo].[T_SAL] ADD  CONSTRAINT [DF_T_SAL_Civilite]  DEFAULT ((0)) FOR [Civilite]
    GO
     
    ALTER TABLE [dbo].[T_SAL] ADD  CONSTRAINT [DF_T_SAL_TypeDuBulletin]  DEFAULT ((0)) FOR [TypeDuBulletin]
    GO
    DDL de création de la table cible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
     
    CREATE TABLE [dbo].[T_SAL](
    	[SA_CompteurNumero] [dbo].[TNumSal] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    	[MatriculeSalarie] [dbo].[TMatricule] NOT NULL,
    	[Civilite] [dbo].[TByte] NULL,
    	[Nom] [dbo].[TStr80] NULL,
    	[NomJeuneFille] [dbo].[TStr80] NULL,
    	[Prenom] [dbo].[TStr20] NULL,
    	[Prenom2] [dbo].[TStr20] NULL,
    	[Confidentialite] [dbo].[TByte] NULL,
    	[Rue1] [dbo].[TStr40] NULL,
    	[Rue2] [dbo].[TStr40] NULL,
    	[Commune] [dbo].[TStr30] NULL,
    	[BureauDistributeur] [dbo].[TStr30] NULL,
    	[CodePostal] [dbo].[TStr10] NULL,
    	[CodePays] [dbo].[TStr20] NULL,
    	[Telephone] [dbo].[TStr15] NULL,
    	[Rue12] [dbo].[TStr40] NULL,
    	[Rue22] [dbo].[TStr40] NULL,
    	[Commune2] [dbo].[TStr30] NULL,
    	[BureauDistributeur2] [dbo].[TStr30] NULL,
    	[CodePostal2] [dbo].[TStr10] NULL,
    	[CodePays2] [dbo].[TStr20] NULL,
    	[Telephone2] [dbo].[TStr15] NULL,
    	[ChoixSurAdresse] [dbo].[TByte] NULL,
    	[DateNaissance] [dbo].[TDate] NULL,
    	[DeptNaissance] [dbo].[TStr2] NULL,
    	[CodePaysNaissance] [dbo].[TStr20] NULL,
    	[CommuneNaissance] [dbo].[TStr26] NULL,
    	[CodeCommuneNaissance] [dbo].[TStr3] NULL,
    	[SituationMilitaire] [dbo].[TByte] NULL,
    	[DateDebutServiceMil] [dbo].[TDate] NULL,
    	[DateFinServiceMil] [dbo].[TDate] NULL,
    	[TravailleurHandicape] [dbo].[TByte] NULL,
    	[SuiteAccident] [dbo].[TByte] NULL,
    	[TauxInvalidite] [dbo].[TFloat] NULL,
    	[NoBulletinModele] [int] NULL,
    	[CompteAuxiliaire] [dbo].[TStr13] NULL,
    	[ModeDePaiement] [dbo].[TByte] NULL,
    	[EtatPaie] [dbo].[TByte] NULL,
    	[Cloture] [dbo].[TByte] NULL,
    	[DateDePaie] [dbo].[TDate] NULL,
    	[DateDeCloture] [dbo].[TDate] NULL,
    	[CumulsReposCompensateur] [dbo].[TDouble] NULL,
    	[ResteAPrendre] [dbo].[TDouble] NULL,
    	[AcquisPrecedent] [dbo].[TDouble] NULL,
    	[AcquisEnCours] [dbo].[TDouble] NULL,
    	[CumulsBrutPrecedent] [dbo].[TDouble] NULL,
    	[MoisAncienneteSociete] [dbo].[TFloat] NULL,
    	[MoisAncienneteEtablissement] [dbo].[TFloat] NULL,
    	[MoisAnciennetePoste] [dbo].[TFloat] NULL,
    	[DateDebutConges1] [dbo].[TDate] NULL,
    	[DateFinConges1] [dbo].[TDate] NULL,
    	[DateDebutConges2] [dbo].[TDate] NULL,
    	[DateFinConges2] [dbo].[TDate] NULL,
    	[DateDebutConges3] [dbo].[TDate] NULL,
    	[DateFinConges3] [dbo].[TDate] NULL,
    	[DroitSupplementaire] [dbo].[TDouble] NULL,
    	[NbSamedis] [dbo].[TByte] NULL,
    	[MoisDeClotureDesConges] [dbo].[TByte] NULL,
    	[TypeDeVentilation] [dbo].[TByte] NULL,
    	[NbFichesENF] [dbo].[TByte] NULL,
    	[NbFichesMUL] [dbo].[TByte] NULL,
    	[ChoixEtablissement] [dbo].[TByte] NULL,
    	[GHRTypeConjoint] [dbo].[TByte] NULL,
    	[GHRTypeDAstreinte] [dbo].[TByte] NULL,
    	[GHRTypeDeSalarie] [dbo].[TByte] NULL,
    	[GHRSoldeRCReel] [dbo].[TDouble] NULL,
    	[GHRSoldeRCCalcul] [dbo].[TDouble] NULL,
    	[GHRDateDernierEnregistrement] [dbo].[TDate] NULL,
    	[GHRDateDernierEnregistrementHS] [dbo].[TDate] NULL,
    	[GHRDateDernierEnregistrementRC] [dbo].[TDate] NULL,
    	[GHRCodePAM] [dbo].[TStr10] NULL,
    	[GHRDernierContingentHS] [dbo].[TDouble] NULL,
    	[GHRContingentHSEnCours] [dbo].[TDouble] NULL,
    	[GHRCumulAnnuelHS] [dbo].[TDouble] NULL,
    	[AdresseOrganismeETA] [dbo].[TByte] NULL,
    	[TypeDuBulletin] [dbo].[TByte] NULL,
    	[CotorepDate] [dbo].[TDate] NULL,
    	[CotorepDateFin] [dbo].[TDate] NULL,
    	[CotorepCategorie] [dbo].[TStr1] NULL,
    	[CodeInseeCommune] [dbo].[TStr5] NULL,
    	[RompuBilletagePrecedent] [dbo].[TDouble] NULL,
    	[RompuBilletageCourant] [dbo].[TDouble] NULL,
    	[FormCategorieDeclaration] [dbo].[TByte] NULL,
    	[FormNiveauEtudes] [dbo].[TByte] NULL,
    	[CodeFonctionEntreprise] [dbo].[TStr10] NULL,
    	[NumeroDeBadge] [dbo].[TStr16] NULL,
    	[NumeroSQL] [int] NULL,
    	[CodeEmploiINSEE] [dbo].[TStr10] NULL,
    	[Commentaire1] [dbo].[TStr60] NULL,
    	[Commentaire2] [dbo].[TStr60] NULL,
    	[FlagInfosGenerales] [dbo].[TByte] NULL,
    	[BanqueActive] [dbo].[TByte] NULL,
    	[PaiementBanque] [dbo].[TConstante] NULL,
    	[ChoixPaiement] [dbo].[TByte] NULL,
    	[ChoixBanque1Ou2] [dbo].[TByte] NULL,
    	[PaiementBanqueEnTaux] [dbo].[TByte] NULL,
    	[IdentifiantEpargne] [dbo].[TStr13] NULL,
    	[CleIdentifiantEpargne] [dbo].[TStr2] NULL,
    	[ResidentFiscalEpargne] [dbo].[TByte] NULL,
    	[SoumisCSGEpargne] [dbo].[TByte] NULL,
    	[DIFDernierEntProf] [dbo].[TDate] NULL,
    	[DIFResteAPrendre] [dbo].[TDouble] NULL,
    	[EMail] [dbo].[Tstr128] NULL,
    	[InfoDateDeNaissance] [dbo].[TByte] NULL,
    	[BulletinDematerialise] [dbo].[TByte] NULL,
    	[Memo] [dbo].[TStr254] NULL,
     CONSTRAINT [PK_T_SAL] PRIMARY KEY CLUSTERED 
    (
    	[SA_CompteurNumero] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
     
    SET ANSI_PADDING OFF
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_BMOD] FOREIGN KEY([NoBulletinModele])
    REFERENCES [dbo].[T_BMOD] ([BM_CompteurNumero])
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_BMOD]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_CPX] FOREIGN KEY([CompteAuxiliaire])
    REFERENCES [dbo].[T_CPX] ([Compte])
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_CPX]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_EMPLOIINSEE] FOREIGN KEY([CodeEmploiINSEE])
    REFERENCES [dbo].[T_EMPLOIINSEE] (Code)
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_EMPLOIINSEE]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_FONCTIONENTREPRISE] FOREIGN KEY([CodeFonctionEntreprise])
    REFERENCES [dbo].[T_FONCTIONENTREPRISE] (Code)
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_FONCTIONENTREPRISE]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [FK_T_SAL_T_GHRTAB_PAM] FOREIGN KEY([GHRCodePAM])
    REFERENCES [dbo].[T_GHRTAB_PAM] (Code)
    NOT FOR REPLICATION 
    GO
     
    ALTER TABLE [dbo].[T_SAL] CHECK CONSTRAINT [FK_T_SAL_T_GHRTAB_PAM]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [CK_T_SAL] CHECK NOT FOR REPLICATION (([Civilite]=(2) OR ([Civilite]=(1) OR [Civilite]=(0))))
    GO
     
    ALTER TABLE [dbo].[T_SAL] NOCHECK CONSTRAINT [CK_T_SAL]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [CK_T_SAL_2] CHECK NOT FOR REPLICATION (([ModeDePaiement]=(2) OR ([ModeDePaiement]=(1) OR [ModeDePaiement]=(0))))
    GO
     
    ALTER TABLE [dbo].[T_SAL] NOCHECK CONSTRAINT [CK_T_SAL_2]
    GO
     
    ALTER TABLE [dbo].[T_SAL]  WITH NOCHECK ADD  CONSTRAINT [CK_T_SAL_3] CHECK NOT FOR REPLICATION (([Cloture]=(7) OR ([Cloture]=(6) OR ([Cloture]=(5) OR ([Cloture]=(4) OR ([Cloture]=(3) OR ([Cloture]=(2) OR ([Cloture]=(1) OR [Cloture]=(0)))))))))
    GO
     
    ALTER TABLE [dbo].[T_SAL] NOCHECK CONSTRAINT [CK_T_SAL_3]
    GO
     
    ALTER TABLE [dbo].[T_SAL] ADD  CONSTRAINT [DF_T_SAL_Civilite]  DEFAULT ((0)) FOR [Civilite]
    GO
     
    ALTER TABLE [dbo].[T_SAL] ADD  CONSTRAINT [DF_T_SAL_TypeDuBulletin]  DEFAULT ((0)) FOR [TypeDuBulletin]
    GO
    Script de création de la réplication:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    -- Adding the transactional publication
    use [THEBASE_Rep_SOURCE]
    exec sp_addpublication @publication = N'TEST', @description = N'Transactional publication of database ''THEBASE_Rep_SOURCE'' from Publisher ''SERVEUR''.', @sync_method = N'concurrent', @retention = 0, @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'true', @enabled_for_internet = N'false', @snapshot_in_defaultfolder = N'true', @compress_snapshot = N'false', @ftp_port = 21, @ftp_login = N'anonymous', @allow_subscription_copy = N'false', @add_to_active_directory = N'false', @repl_freq = N'continuous', @status = N'active', @independent_agent = N'true', @immediate_sync = N'true', @allow_sync_tran = N'false', @autogen_sync_procs = N'false', @allow_queued_tran = N'false', @allow_dts = N'false', @replicate_ddl = 1, @allow_initialize_from_backup = N'true', @enabled_for_p2p = N'false', @enabled_for_het_sub = N'false'
    GO
     
     
    exec sp_addpublication_snapshot @publication = N'TEST', @frequency_type = 1, @frequency_interval = 0, @frequency_relative_interval = 0, @frequency_recurrence_factor = 0, @frequency_subday = 0, @frequency_subday_interval = 0, @active_start_time_of_day = 0, @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @job_login = null, @job_password = null, @publisher_security_mode = 1
    exec sp_grant_publication_access @publication = N'TEST', @login = N'sa'
    GO
    exec sp_grant_publication_access @publication = N'TEST', @login = N'NT AUTHORITY\SYSTEM'
    GO
    exec sp_grant_publication_access @publication = N'TEST', @login = N'BUILTIN\Administrators'
    GO
    exec sp_grant_publication_access @publication = N'TEST', @login = N'distributor_admin'
    GO
     
    -- Adding the transactional articles
    use [THEBASE_Rep_SOURCE]
    exec sp_addarticle @publication = N'TEST', @article = N'T_SAL', @source_owner = N'dbo', @source_object = N'T_SAL', @type = N'logbased', @description = N'', @creation_script = N'', @pre_creation_cmd = N'delete', @schema_option = 0x0000000008037FDF, @identityrangemanagementoption = N'manual', @destination_table = N'T_SAL', @destination_owner = N'dbo', @status = 8, @vertical_partition = N'false', @ins_cmd = N'CALL [sp_MSins_dboT_SAL]', @del_cmd = N'CALL [sp_MSdel_dboT_SAL]', @upd_cmd = N'SCALL [sp_MSupd_dboT_SAL]'
    GO
     
    -- Adding the transactional subscriptions
    use [THEBASE_Rep_SOURCE]
    exec sp_addsubscription @publication = N'TEST', @subscriber = N'SERVEUR', @destination_db = N'THEBASE_Rep_TARGET', @subscription_type = N'Push', @sync_type = N'replication support only', @article = N'all', @update_mode = N'read only', @subscriber_type = 0
    exec sp_addpushsubscription_agent @publication = N'TEST', @subscriber = N'SERVEUR', @subscriber_db = N'THEBASE_Rep_TARGET', @job_login = null, @job_password = null, @subscriber_security_mode = 1, @frequency_type = 64, @frequency_interval = 1, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 4, @frequency_subday_interval = 5, @active_start_time_of_day = 0, @active_end_time_of_day = 235959, @active_start_date = 0, @active_end_date = 0, @dts_package_location = N'Distributor'
    GO
    Voilà, merci.

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Merci.

    Je vois que tu as mis autogen_syncproc à false. Tu customises les p.s. de synchro pour alimenter d'autres tables ?

    Dans ce cas tu es sur que tes p.s. de synchro sont cohérentes par rapport aux structures de table ?

    Par ailleurs tu utilises un user type; es tu sur qu'il est défini de la même manière des deux cotés ?

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Non, pour l'instant je ne fais un test qu'avec 1 table (T_SAL).
    Ce que je ne comprends pas, c'est que lorsque j'exécute la p.s sur la base cible, je n'ai pas de soucis...

    Quand tu dis user type, que veux tu dire?

    Merci

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Je parles de "TNumSal" par exemple.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Oui, ce type est présent sur la base cible

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    J'ai modifié le nom d'un salarié pour tester.

    Avec Profiler, j'ai récupéré la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exec [sp_MSupd_dboT_SAL] default,default,default,N'CHAINE',default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,default,3,0x0800000000000000000000000000
    En l'exécutant sur la base cible, aucun soucis, le nom du salarié est bien mis à jour.

    Pourquoi ai-je donc une erreur avec la réplication???

  9. #9
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Les 2 bases sont sur la même instance SQL Server.
    Les 2 tables ont le même nom.
    Je suppose que tu exécutes tes requêtes via SSMS.
    Donc attention a bien se positionner sur la bonne base avant l'exécution des commandes INSERT ou UPDATE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    USE Base A
    GO
    INSERT ....
    Etienne ZINZINDOHOUE
    Billets-Articles

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    ça aurait pu être ça, mais je confirme que j'exécute bien les requêtes sur la base A (source)...

  11. #11
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Je te propose de faire le test avec une table simple avec des types standards.
    par exemple la table TEST ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE [dbo].[TEST](
    	[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    	[NOM] [varchar](20) NULL,
     CONSTRAINT [PK_ID] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    L'idée s'est de vérifier si la réplication transactionnelle marche sur ton poste en partant d'abord d'une table simple ayant 2 champs (ID,NOM).
    Etienne ZINZINDOHOUE
    Billets-Articles

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Merci pour la suggestion.

    J'ai donc créé la table test et je l'ai ajouté à la réplication.
    Aucun soucis, j'ai pu créer des noms, en modifier, etc.

    Par contre sur la table T_SAL, je me suis aperçu en créant un salarié sans date de naissance (colonne DateNaissance(TDate(datetime)) ) que la réplication avait bien fonctionné.

    En rajoutant une date de naissance à cet employé sur la table source, le message d'erreur est apparu...

    Cependant, la colonne source et la colonne cible sont définies de la même manière

  13. #13
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par mad_martigan Voir le message
    En rajoutant une date de naissance à cet employé sur la table source, le message d'erreur est apparu...
    On peut voir le script d'insertion de la date de naissance ?

    A+
    Etienne ZINZINDOHOUE
    Billets-Articles

Discussions similaires

  1. Discriminer des suppressions - Réplication transactionnelle
    Par carjo dans le forum Réplications
    Réponses: 3
    Dernier message: 30/04/2008, 18h27
  2. La Réplication transactionnelle
    Par nikoo_m dans le forum Réplications
    Réponses: 1
    Dernier message: 28/03/2008, 12h13
  3. La Réplication transactionnelle
    Par nikoo_m dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/03/2008, 12h13
  4. réplication transactionnelle dans les 2 sens
    Par zalalus dans le forum Réplications
    Réponses: 5
    Dernier message: 28/06/2007, 15h50
  5. réplication transactionnelle dans les 2 sens
    Par zalalus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 28/06/2007, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo