Tranzakciók a Warehouse-táblákban a Microsoft Fabricben

A következőkre vonatkozik: SQL-végpont és -raktár a Microsoft Fabricben

A SQL Server viselkedéséhez hasonlóan a tranzakciók lehetővé teszik az olvasási és írási lekérdezések véglegesítését vagy visszaállítását.

A raktárban lévő táblákban tárolt adatokat a tranzakciók használatával módosíthatja a módosítások csoportosításához.

  • Például több táblára is véglegesíthet beszúrásokat, vagy hiba esetén egyik táblát sem. Ha egy három táblát érintő vásárlási rendelés adatait módosítja, ezeket a módosításokat egyetlen tranzakcióba csoportosíthatja. Ez azt jelenti, hogy amikor lekérdezik ezeket a táblákat, vagy mind rendelkeznek a módosításokkal, vagy egyik sem. A tranzakciók gyakori gyakorlatnak számítanak, ha meg kell győződnie arról, hogy az adatok több táblában is konzisztensek.

Fontos

A Microsoft Fabric jelenleg előzetes verzióban érhető el. Ezek az információk egy előzetes termékre vonatkoznak, amely a kiadás előtt lényegesen módosítható. A Microsoft nem vállal kifejezett vagy vélelmezett garanciát az itt megadott információkra vonatkozóan.

Tranzakciós képességek

Ugyanezek a tranzakciós képességek támogatottak a Microsoft Fabric SQL-végpontjában, de írásvédett lekérdezések esetén is.

A tranzakciók szekvenciális SELECT utasításokhoz is használhatók, hogy az érintett táblák azonos időpontból származó adatokkal rendelkezzenek. Ha például egy tábla új sorokat ad hozzá egy másik tranzakcióhoz, az új sorok nem befolyásolják a megnyitott tranzakción belüli SELECT lekérdezéseket.

Fontos

A Microsoft Fabric csak a pillanatkép-elkülönítési szintet támogatja. Ha A T-SQL használatával módosítja az elkülönítési szintet, a rendszer figyelmen kívül hagyja a módosítást a lekérdezés végrehajtásakor, és a pillanatkép-elkülönítés lesz alkalmazva.

Adatbázisközi lekérdezési tranzakciók támogatása

A Microsoft Fabric raktára támogatja azokat a tranzakciókat, amelyek ugyanazon a munkaterületen belüli adatbázisokra terjednek ki, beleértve a Lakehouse SQL-végpontjáról történő olvasást is. Minden Lakehouse-nak egy SQL-végpontja van, és minden munkaterület több tóházzal is rendelkezhet.

DDL-támogatás tranzakciókon belül

A Microsoft Fabric raktára támogatja a DDL-t, például a CREATE TABLE-t a felhasználó által meghatározott tranzakciókon belül.

Zárolások különböző típusú utasításokhoz

Ez a táblázat felsorolja, hogy milyen zárolásokat használnak a különböző típusú tranzakciókhoz, és az összes zárolás a tábla szintjén van:

Utasítás típusa Zárolt
SELECT Schema-Stability (Sch-S)
INSERT Kizárólagos szándék (IX)
TÖRÖL Kizárólagos szándék (IX)
UPDATE Kizárólagos szándék (IX)
COPY INTO Kizárólagos szándék (IX)
DDL Schema-Modification (Sch-M)

Ezek a zárolások megakadályozzák az ütközéseket, például a tábla sémájának módosítását, miközben a sorok frissülnek egy tranzakcióban.

A dinamikus felügyeleti nézettel (DMV ) sys.dm_tran_locks jelenleg tárolt zárolásokat lekérdezheti.

A tábla egy vagy több sorát frissítő két vagy több egyidejű tranzakció ütközéseit a rendszer a tranzakció végén értékeli ki. Az első véglegesíteni kívánt tranzakció sikeresen befejeződött, és a többi tranzakciót a rendszer egy hibaüzenettel visszaállítja. Ezek az ütközések a tábla szintjén lesznek kiértékelve, nem pedig az egyes parkettafájl szintjén.

Az INSERT utasítások mindig új parquet-fájlokat hoznak létre, ami kevesebb ütközést jelent más tranzakciókkal, kivéve a DDL-t, mert a tábla sémája megváltozhat.

Tranzakciónaplózás

A Tranzakciónaplózás a Warehouse-ban a Microsoft Fabricben a parquet fájl szintjén található, mert a parkettafájlok nem módosíthatók (nem módosíthatók). A visszaállítás az előző parkettafájlokra mutat vissza. Ennek a változásnak az az előnye, hogy a tranzakciónaplózás és a visszaállítás gyorsabb.

Korlátozások

  • Az elosztott tranzakciók nem támogatottak.
  • A mentési pontok nem támogatottak.
  • A megnevezett tranzakciók nem támogatottak.
  • A megjelölt tranzakciók nem támogatottak.
  • Jelenleg korlátozott T-SQL-funkciók vannak a raktárban. A jelenleg nem elérhető T-SQL-parancsok listáját a TSQL felületi területén találja.
  • Ha egy tranzakció adatbeszúrással rendelkezik egy üres táblába, és a visszaállítás előtt kibocsát egy SELECT-et, az automatikusan létrehozott statisztikák továbbra is tükrözhetik a nem véglegesített adatokat, ami pontatlan statisztikákat eredményez. A pontatlan statisztikák nem optimalizált lekérdezési tervekhez és végrehajtási időkhöz vezethetnek. Ha egy nagy INSERT után visszaállít egy SELECTs-tranzakciót, érdemes lehet frissíteni a SELECT oszlopban említett oszlopok statisztikáit .

Következő lépések