Tranzakciók a Microsoft Fabric raktártábláiban

A következőkre vonatkozik: SQL Analytics-végpont és Warehouse a Microsoft Fabricben

Az SQL Serveren való viselkedésükhöz hasonlóan a tranzakciók lehetővé teszik az olvasási és írási lekérdezések véglegesítésének vagy visszaállításának szabályozá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 mindegyikben vannak változások, vagy egyik sem. A tranzakciók gyakori gyakorlatnak számítanak, ha több táblában is konzisztensnek kell lennie az adatoknak.

Tranzakciós képességek

Ugyanazokat a tranzakciós képességeket támogatja a Microsoft Fabric SQL Analytics-végpontja, de írásvédett lekérdezésekhez.

A tranzakciók szekvenciális Standard kiadás LECT-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 nyitott tranzakción belüli Standard kiadás LECT 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 alkalmazza a pillanatkép-elkülönítést.

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

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

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

A Microsoft Fabric Warehouse 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árolva
SELECT Sémastabilitás (Sch-S)
INSERT Kizárólagos szándék (IX)
DELETE 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 Sémamódosítás (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) jelenleg tárolt zárolásokat lekérdezheti sys.dm_tran_locks.

A tábla egy vagy több sorát frissítő két vagy több egyidejű tranzakció ütközései a tranzakció végén lesznek kiértékelve. Az első véglegesíteni kívánt tranzakció sikeresen befejeződik, a többi tranzakció pedig egy visszaadott hibával lesz visszaállítva. Ezeket az ütközéseket a rendszer a tábla szintjén értékeli ki, nem pedig az egyes parquet-fájlok szintjén.

AZ IN Standard kiadás RT-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 Microsoft Fabric Warehouse tranzakciónaplózása a parquet fájl szintjén található, mert a parquet-fájlok nem módosíthatók (nem módosíthatók). A visszaállítás az előző parquet-fá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.
  • Az elnevezett tranzakciók nem támogatottak.
  • A megjelölt tranzakciók nem támogatottak.
  • Az ALTER TABLE nem támogatott explicit tranzakción belül.
  • Jelenleg a T-SQL-funkciók korlátozottak 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 visszagördülés előtt Standard kiadás LECT-et ad ki, 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 optimális lekérdezési tervekhez és végrehajtási időkhöz vezethetnek. Ha egy nagy IN Standard kiadás RT után Standard kiadás LECT-ekkel hajtja vissza a tranzakciót, frissítse a Standard kiadás LECT-ben említett oszlopok statisztikáit.