A tényleges táblán alapuló nézetek korlátozásai és ismert problémái
A materializált nézet forrása
- A materializált nézet forrástáblája:
- Olyan táblának kell lennie, amelybe az adatok közvetlenül betöltve, frissítési szabályzattal vagy lekérdezési parancsokból való betöltéssel kerülnek be.
- A más táblákból a materializált nézet forrástáblájára történő áthelyezési éscserei mértékek használata csak akkor támogatott, ha a tulajdonságot az áthelyezési mértékek parancs részeként használja
setNewIngestionTime
(további részletekért tekintse meg az .move extents és a .replace extents parancsot ). - A mértékek materializált nézet forrástáblába való áthelyezése a használat
setNewIngestionTime
hiánya esetén az alábbi hibák valamelyikével meghiúsulhat:Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents
.Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view)
.
- A más táblákból a materializált nézet forrástáblájára történő áthelyezési éscserei mértékek használata csak akkor támogatott, ha a tulajdonságot az áthelyezési mértékek parancs részeként használja
- Olyan táblának kell lennie, amelybe az adatok közvetlenül betöltve, frissítési szabályzattal vagy lekérdezési parancsokból való betöltéssel kerülnek be.
- A materializált nézet forrástáblájának engedélyeznie kell az IngestionTime szabályzatot (alapértelmezés szerint engedélyezve van).
- A materializált nézet forrástáblája nem lehet korlátozott nézethozzáférés-szabályzattal rendelkező tábla.
- Materializált nézet nem hozható létre egy másik materializált nézet fölé, kivéve, ha az első materializált nézet típusösszesítés
take_any(*)
. Lásd a materializált nézetet a materializált nézethez képest. - A materializált nézetek nem határozhatók meg külső táblákon keresztül.
Figyelmeztetés
- A materializált nézetet a rendszer automatikusan letiltja, ha a materializált nézet forrástáblájának módosítása, vagy az adatok változása a materializált nézet lekérdezése és a várt materializált nézet sémája közötti összeegyeztethetetlenséghez vezet.
- A hiba elkerülése érdekében a materializált nézet lekérdezésének determinisztikusnak kell lennie. A bag_unpack vagy kimutatás beépülő modul például nem determinisztikus sémát eredményez.
- Aggregáció használatakor
arg_max(Timestamp, *)
és haautoUpdateSchema
hamis, a forrástábla módosítása sémaeltérésekhez is vezethet.- Ezt a hibát elkerülheti, ha a nézet lekérdezését
arg_max(Timestamp, Column1, Column2, ...)
a beállítássalautoUpdateSchema
, vagy néven definiálja.
- Ezt a hibát elkerülheti, ha a nézet lekérdezését
- A használata
autoUpdateSchema
visszafordíthatatlan adatvesztéshez vezethet a forrástábla oszlopainak elvetésekor. - A materializált nézetek automatikus letiltásának monitorozása a MaterializedViewResult metrikával.
- Az inkompatibilitási problémák kijavítása után a nézetet explicit módon újra engedélyezni kell a materializált nézet engedélyezése paranccsal.
A forrástáblába betöltött vagy onnan elvetett rekordok hatása
- A materializált nézet csak a forrástáblába betöltött új rekordokat dolgozza fel. A forrástáblából az adattörlési/helyreállítható törlési/mértékek futtatásával vagy a megőrzési szabályzat vagy más okból eltávolított rekordok nem befolyásolják a materializált nézetet.
- A materializált nézet saját adatmegőrzési szabályzattal rendelkezik, amely független a forrástábla adatmegőrzési szabályzatától. A materializált nézet olyan rekordokat is tartalmazhat, amelyek nem szerepelnek a forrástáblában.
Követő adatbázisok
- A materializált nézetek nem hozhatók létre követő adatbázisokban. A követő adatbázisok írásvédettek, és a materializált nézetek írási műveleteket igényelnek.
- A vezető-adatbázisokban definiált materializált nézetek lekérdezhetők a követőiktől, akárcsak a vezető bármely más táblája.
- A vezető fürt használatával monitorozza a követő adatbázis materializált nézeteit. További részletekért lásd: Materialized views in follower databases (Materialized views in follower databases).
Egyéb
- A kurzorfüggvények nem használhatók a materializált nézeteken felül.
- A materializált nézetből történő folyamatos exportálás nem támogatott.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: