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 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 SELECT lekérdezéseket egy nyitott tranzakción belül.
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 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 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 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 optimális 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, frissítse a SELECT-ben említett oszlopok statisztikáit .