Sümptomid
Kui värskendate Microsoft SQL Server 2005 primaarvõtme tabeli primaarvõtmeveergu olemasolevate veeruväärtuste täheregistri muutmise või veerutäidisega väärtuste muutmise teel, kuvatakse järgmine tõrketeade:
Märkus.
Msg 547, tase 16, olek 0, rida 1
Update-lause on vastuolus viitekitsendusega "<Constraint>". Konflikt ilmnes andmebaasis "<Andmebaasi nimi>", tabeli "<Tabeli nimi>", veerus "<Veeru nimi>".
See probleem ilmneb näiteks mõlemas järgmises olukorras.
Näide 1
- Kahe tabeli loomiseks kasutatakse tõstutundetut põiki (nt SQL_Latin1_General_CP1_CI_AS põimumist).
- Nende kahe tabeli vahel tuleb luua primaarvõtme ja võõrvõtme seos.
- Primaarvõtme tabeli primaarvõtmeveergu saate värskendada, muutes olemasolevate veeruväärtuste täheregistrit.
Näide 2
Loote kaks tabelit.
Nende kahe tabeli vahel tuleb luua primaarvõtme ja võõrvõtme seos.
Sätte ANSI_PADDING väärtuseks on seatud VÄLJAS.
Märkus. Vaikimisi on sätte ANSI_PADDING väärtuseks seatud VÄLJAS.
Primaarvõtme tabeli primaarvõtmeveergu saate värskendada veeruväärtuste täidisega.
Põhjus
See probleem ilmneb, kuna tüübitasemel võrdsed väärtused võivad olla binaartasemel erinevad.
Näiteks tüübitasemel on N'a' võrdne väärtusega N'A'. Kahendtasemel ei võrdu N'a' väärtusega N'A'. Optimeerimismehhanism eeldab valesti, et juhtumit muutv värskendustoiming ei tee tegelikke muudatusi. Seetõttu ei õnnestu PK-FK kontroll.
Lahendus
Hoolduspaketi teave
Selle probleemi lahendamiseks hankige uusim hoolduspakett SQL Server 2005 jaoks. Microsofti teabebaasis oleva artikli kuvamiseks klõpsake järgmist artiklinumbrit.
913089 Uusima hoolduspaketi hankimine versioonile SQL Server 2005
Olek
Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem. See probleem parandati esmakordselt SQL Server 2005 hoolduspaketis Service Pack 3.
Veel teavet
Tarkvaravärskenduste terminoloogia kohta lisateabe saamiseks klõpsake Microsofti teabebaasis oleva artikli kuvamiseks järgmist artiklinumbrit.
824684 Microsofti tarkvaravärskenduste kirjeldamiseks kasutatava standardterminite kirjeldus