PARANDUS: "määratud väärtus rikkus terviklikkuse piirangutega tabeli või veeru" tõrge, kui ühendatud publikatsiooni sisaldab palju artikleid ja piirangute SQL Server Compact 3.5

Template: Generic Hotfix

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

Tunnused

Kujutage ette järgmist stsenaariumi.

  • Installite arvutisse Microsoft SQL Server Compact 3.5.

  • Loote SQL Server Compact 3.5 abonendi.

  • Võite alla laadida palju ridu kirjakooste publikatsiooni andmebaasi ajal väljaandja sünkroonib tellija. Read sisaldavad palju artikleid ja piiranguid.

Selle stsenaariumi puhul kuvatakse tõrketeade, mis sarnaneb järgmisega logitakse SQL Server error log:

System.Data.SqlServerCe.SqlCeExceptionNative tõrge = 0, HRESULT =-2147217873, kuvatakse tõrketeade: määratud väärtus rikkus terviklikkuse piirangutega tabeli või veeru.

Märkus. See probleem ilmneb operatsioonisüsteemi 32-bitine ja 64-bitine operatsioonisüsteem.

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.


Põhjus

See probleem ilmneb seetõttu vale Exchange'i ID-d kasutatakse. Kui palju ridu allalaadimiseks on ootel olekus, SQL-i Compact kliendi agendiga kutsub uuesti meetod, mis kasutab vale Exchange'i ID-d. Seetõttu jaotises "Tunnused" kirjeldatud probleem ilmneb.

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.

Lahendus

Selle probleemi lahendav kiirparandus on kaasatud kumulatiivne värskenduspakett 5 SQL Server Compact 3.5 Service Pack 2 (SP2). Kumulatiivne värskenduspakett 5 SQL Server Compact 3.5 hoolduspaketi SP2 hankimise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2553608 Kumulatiivne värskendus 5 SQL Server Compact 3.5 hoolduspaketi 2

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

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×