Labojums: "norādītā vērtība traucēta integritātes ierobežojumu vai tabulas kolonnā" kļūdu, ja sapludināšanas publikāciju ietver daudzus rakstus un SQL Server Compact 3.5 ierobežojumi

Template: Generic Hotfix

BUG #: 149290 (Content Maintenance)VSTS Bug #: 767547

Simptomi

Apsveriet šādu situāciju:

  • Microsoft SQL Server Compact 3.5 instalēšanas datorā.

  • SQL Server Compact 3.5 izveidojat abonents.

  • Lejupielādējat vairākas rindas no sapludināšanas publikāciju datu bāzē laikā izdevējs veic sinhronizēšanu ar abonentu. Rindas ietver daudzus rakstus un ierobežojumus.

Šādā gadījumā SQL Server kļūdu žurnālā tiek reģistrēts kļūdas ziņojums, kas līdzīgs šim:

System.Data.SqlServerCe.SqlCeExceptionNative kļūda = 0 HRESULT =-2147217873 kļūdas ziņojums: norādītā vērtība traucēta integritātes ierobežojumu vai kolonnas tabulā.

Piezīme. Šī problēma rodas operētājsistēmas 32 bitu, gan 64 bitu operētājsistēmu.

This issue usually occurs when the following conditions are true:

  • The publisher synchronizes under a heavy workload.

  • The articles of rows are downloaded out of sequential order.


Cēlonis

Šī problēma rodas, jo tiek izmantots nederīgs exchange ID. Ja daudzas rindas lejupielādei ir gaidīšanas stāvoklī, SQL Compact klienta aģentu zvani mēģinājumu metode, kas tiek izmantots nederīgs maiņas ID Tādēļ rodas sadaļā "Simptomi" minēto problēmu.

This issue occurs because the guidRetries value is not initialized to a GUID value.

Note The AddRetryMsg() method uses the guidRetries value to generate an exchange ID for a retry message.

When many articles and constraints exists, the AddRetryMsg() method may run multiple times. However, the guidRetries value is not initialize to a GUID value, and the guidRetries values are the same when the AddRetryMsg() method runs multiple times on a computer that is running a 32-bit operating system.

Therefore, SQL Compact Client Agent uses the same exchange ID to create all new requests, and an SSCE_M_RSCBWITHSAMEEXCHANGEID 29005 Server Agent error is generated. Additionally, you receive the following error message:

A replication session control block already exists. The IIS server was probably shut down during a synchronization process. Try synchronizing again.

Risinājums

Labojumfails, kas novērš šo problēmu ir iekļauta 5. kumulatīvo atjauninājumu pakotne sistēmai SQL Server Compact 3.5 2. servisa pakotni (SP2). Lai iegūtu papildinformāciju par to, kā iegūt 5. kumulatīvo atjauninājumu pakotne sistēmai SQL Server Compact 3.5 SP2, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

2553608 Kumulatīvais atjauninājums 5 SQL Server Compact 3.5 Service Pack 2

Author: jannaw
Writer: v-yipli
Tech Reviewer: panarasi;rtandon;ambrishm;babuk;atisagar;jannaw
Editor: v-lynan

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×