Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

Jelenségek

Ha fürtözött vagy egyedi indexet tartalmazó táblán futtat frissítést, és a frissítés nem elsődleges egyedi oszlopban történik, a változáskövetési rekord inkonzisztens a frissítési utasítással.

Tegyük fel például, hogy egy "column1" nevű oszlop szerepel a fürtözött vagy egyedi indexben. Ha az oszlop értékét nagyobbról kisebbre módosítja (például 20-ról 16-ra módosítja), a változáskövetési oldaltábla a törlési művelet előtt megkapja a beszúrási műveletet. A tranzakciónapló sorbeszúrási rekordjának művelete például a sortörlési művelet előtt, vagy az "I" beszúrása a "D" elé történik.

Sys_change_version

sys_change_create_version

sys_change_operation

sys_change_column

sys_change_context

PK_column

1116

19

I

NULL

NULL

5639485628

1116

20

D

NULL

NULL

5639485628


Ha az oszlop értéke kisebbről nagyobb értékre változik (például az érték 16-ról 20-ra változik), a "D" szó az "I" elé kerül.

Sys_change_version

sys_change_create_version

sys_change_operation

sys_change_column

sys_change_context

PK_column

1126

32

D

NULL

NULL

5639485628

1126

33

I

NULL

NULL

5639485628

A probléma oka

Ez a probléma a törlési/beszúrási párok közötti helytelen sorrend miatt fordul elő a változáskövetési oldaltáblában.

Megoldás

A probléma megoldását a SQL Server következő frissítései tartalmazzák:

         8. összegző frissítés SQL Server 2017-hez

         9. összegző frissítés a SQL Server 2016 Service Pack 1 csomaghoz

12. összegző frissítés a SQL Server 2014 SP2-höz

A SQL Server buildek ismertetése

A SQL Server minden új buildje tartalmazza az előző buildben található összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy telepítse az SQL Server legújabb buildét:

A SQL Server 2017 legújabb összegző frissítése

SQL Server 2016 legújabb buildje

A SQL Server 2014 legújabb összegző frissítése

Állapot

A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.

További információ

Változáskövetést engedélyező tábla esetén, ha egy nem elsődleges oszlopon történik frissítés, amely egyediként van definiálva, két bejegyzés lesz beszúrva a változáskövetési oldaltáblába: minden felosztási művelethez egy bejegyzést, beszúrást és törlést.

Amikor meghívja a CHANGETABLE függvényt a módosítások számbavételére, a rendszer ezeket a bejegyzéseket elsődleges kulcsértékek szerint rendezi, majd összesíti a műveleteket. Ha a frissítés kisebb értéket szúr be, először az oldaltáblán futtat egy "I" műveletet, majd egy "D" műveletet. Ez helytelen műveletet eredményez ehhez a sorhoz. Ennek az az oka, hogy az "I" és a "D" után a "D" aggregátumként van összesítve.

Mivel az oldaltáblákban csak az elsődleges kulcsértékek maradnak meg, nem szükséges két külön bejegyzést tartalmaznia. Ez mindaddig igaz, amíg az elsődleges kulcs oszlopa nem frissül.

Ez a probléma ki lett javítva a nem elsődleges egyedi oszlopok esetében. Ebben az esetben a frissítéskor csak egy sor lesz beszúrva úgy, hogy az "U" frissítési műveletként van beszúrva két "D" és "I" bejegyzés helyett.

Hivatkozások

Ismerje meg a Microsoft által a szoftverfrissítések leírására használt terminológiát .

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×