Azonosító (ingatlan) (transact-sql)

Az azonosító oszlopok kulcsértékek generálásához használhatók. Az oszlopazonosítók tulajdonsága a következőket garantálja.

Minden új érték keletkezik az aktuális mag és növekményes argumentumok alapján.





Egy adott tranzakció minden új értéke eltér a táblázat többi párhuzamos tranzakciójától.

Az oszlop azonosító tulajdonsága nem garantálja a következőket.

Az érték egyediségét - az egyediséget a PRIMARY KEY vagy UNIQUE korlátozás vagy az UNIQUE index segítségével kell megadni.







Szekvenciális értékek a tranzakción belül - ha több ügyfelet tartalmazó tranzakciót helyez be, akkor nem garantáljuk, hogy egymást követő értékeket hozzárendeljük. Ez annak köszönhető, hogy más párhuzamos beillesztési műveletek is végrehajthatók a táblázatban. Ha az értékek következetesek, akkor az ügyletnek kizárólagos zárat kell használnia az asztalra vagy a SERIALIZABLE elszigetelési szintjére.

Az egymást követő értékek újraindítása után a szerver vagy más hiba - SQL Server képes tárolni az azonosító értékeket a cache nagy teljesítményű, és néhány, a megadott értékek elvesznek meghibásodása vagy adatbázis szerver újraindítása. Ez beillesztheti az azonosító értékek mulasztását. Ha a mulasztások nem megengedettek, az alkalmazásnak saját mechanizmussal kell rendelkeznie a kulcsértékek létrehozásához. Segítségével szekvencia generátor nocache paraméter vezethet korlátozás nem kötött ügylet halad.

Az értékek újrafelhasználása - az adott rendszerazonosító tulajdonsággal létrehozott azonosítók tulajdonságait a megadott maggal és növekményes argumentumokkal az alrendszer nem használja fel újra. Ha a megadott beillesztési utasítás sikertelen, vagy visszahúzódik, az alkalmazott azonosító értékeket nem fogják újra létrehozni. Ez jelvényekhez vezethet, ha későbbi azonosító értékeket hoz létre.

Ezeket a korlátozásokat szándékosan hozták létre és a teljesítmény javítására tervezték, mivel ezek számos tipikus helyzetben megengedettek. Ha ezek miatt a korlátozások, lehetetlen használni ID értékek, ajánlott, hogy hozzon létre egy külön táblázatot, amely tartalmazza az aktuális értéket, amely hozzáférés szabályozására és célja a számok kerülnek az alkalmazás által.

Minden táblázathoz csak egy azonosító oszlopot hozhat létre.

A memóriában optimalizált táblázatokban az eredeti értéket és az inkrement értéket 1.1-re kell állítani. Az 1-től eltérő számra vonatkozó kezdeti érték vagy növekményérték jelzése a következő hibát eredményezi. Az optimalizált táblázatok nem támogatják a kezdeti érték és az 1-től eltérő növekményérték használatát.




Kapcsolódó cikkek