Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Sql Server 2022 (16.x) és újabb verziók
Azure SQL Database
Felügyelt Azure SQL-példány
A főkönyvtáblák használatakor figyelembe kell venni néhány szempontot és korlátozást a rendszer verziószámozásának és a nem módosítható adatok jellegének köszönhetően.
Általános szempontok és korlátozások
A főkönyv használatakor vegye figyelembe az alábbiakat.
- A főkönyv-adatbázis, amelybe a főkönyv tulajdonság be van állítva, nem konvertálható normál adatbázissá, és a főkönyvtulajdonság ki van kapcsolva.
- Az adatbázis-kivonatok automatikus létrehozása és tárolása az Azure SQL Database-ben és az SQL Server 2022-ben érhető el. Az SQL Serverben az automatikus kivonatolási tárolót konfigurálhatja a következővel
ALTER DATABASE SCOPED CONFIGURATION: . További információ: Automatikus kivonattárolás engedélyezése. - Az Azure Storage nem módosítható blobok használatával végzett automatizált kivonatkezelés nem teszi lehetővé a felhasználók számára a helyileg redundáns tárfiókok (LRS) használatát.
- A főkönyv-adatbázis létrehozásakor az adatbázisban alapértelmezés szerint létrehozott összes új tábla (a
APPEND_ONLY = ONzáradék megadása nélkül) frissíthető főkönyvtáblák. Csak hozzáfűzhető napló táblák létrehozásához használja aAPPEND_ONLY = ONutasítást a CREATE TABLE (Transact-SQL) záradékkal. - Egy tranzakció legfeljebb 200 főkönyvtáblát frissíthet.
A főkönyvtábla szempontjai és korlátozásai
- A nem főkönyvtáblákból álló adatbázisok meglévő táblái nem konvertálhatók főkönyvtáblákká. További információ: Adatok áttelepítése normál táblákból főkönyvtáblákba.
- Miután egy főkönyvtáblát létrehoztak, nem lehet visszaállítani olyan táblára, amely nem főkönyvtábla.
- A régebbi adatok csak hozzáfűzhető főkönyvtáblákban vagy az frissíthető főkönyvtáblák előzménytáblájában való törlése nem támogatott.
-
TRUNCATE TABLEnem támogatott. - Egy frissíthető főkönyvtábla létrehozásakor négy GENERATED ALWAYS oszlopot ad hozzá a főkönyvtáblához. A csak hozzáfűzhető naplótábla két oszlopot ad hozzá a főkönyvtáblához. Ezek az új oszlopok hozzáadódnak az Azure SQL Database által maximálisan támogatott oszlopok számához (1,024).
- A memóriában lévő táblák nem támogatottak.
- Ritka oszlopkészletek nem támogatottak.
- Az SWITCH IN/OUT partíció nem támogatott.
- A DBCC CLONEDATABASE nem támogatott.
- A főkönyvtáblák nem tartalmazhatnak teljes szöveges indexeket.
- A főkönyvtáblák nem lehetnek gráftáblák.
- A főkönyvtáblák nem lehetnek Fájltáblák.
- A főkönyvtáblák nem tartalmazhatnak soros nem fürtözött indexet, ha fürtözött oszlopcentrikus indexük van.
- A változáskövetés nem engedélyezett az előzménytáblában, de a főkönyvtáblákon engedélyezett.
- Az adatváltozás-rögzítés nem engedélyezett az előzmény táblában, de a főkönyvi táblákon engedélyezett.
- A tranzakciós replikáció nem támogatott a főkönyvtáblák esetében.
- Az adatbázis-tükrözés nem támogatott.
- Az Azure Synapse Link támogatott, de csak a főkönyvtáblához, az előzménytáblához nem.
- Az adatbázis biztonsági mentésének natív visszaállítása után manuálisan módosítsa a kivonatoló elérési útját egy felügyelt Azure SQL-példányra.
- Módosítsa manuálisan a kivonatoló elérési utat, miután létrejött egy felügyelt Azure SQL-példányra mutató hivatkozás.
- Az SQL Data Sync nem támogatott a főkönyvtáblákban.
Nem támogatott adattípusok
- XML
- SqlVariant
- Felhasználó által definiált adattípus
- FILESTREAM
- Vektor
Időbeli táblázat korlátozásai
Az frissíthető főkönyvtáblák az időbeli táblák technológiáján alapulnak, és a korlátozások többségét öröklik, de nem mindegyiket. Az alábbi lista az időbeli táblákból öröklődő korlátozásokat ismerteti.
- Ha egy előzménytábla neve az előzménytábla létrehozásakor van megadva, meg kell adnia a sémát és a tábla nevét, valamint a főkönyv nézet nevét is.
- Az előzménytáblázat alapértelmezés szerint PAGE tömörítést használ.
- Ha az aktuális tábla particionált, az előzménytábla az alapértelmezett fájlcsoporton jön létre, mert a particionálási konfiguráció nem replikálódik automatikusan az aktuális táblából az előzménytáblába.
- Az idő- és előzménytáblák nem lehetnek FILETABLE típusúak, és a FILESTREAMen kívül más támogatott adattípus oszlopait is tartalmazhatják. A FILETABLE és a FILESTREAM lehetővé teszi az SQL Serveren kívüli adatmanipulációt, így a rendszer verziószámozása nem garantálható.
- A csomópont- vagy éltáblák nem hozhatók létre és nem módosíthatók időbeli táblázatként. A gráf nem támogatott a főkönyvben.
- Bár a temporális táblák támogatják a blob adattípusokat, például
(n)varchar(max),varbinary(max),(n)textésimage, ezek jelentős tárolási költségekkel járnak, és a méretük miatt teljesítménybeli következményekkel járnak. Ezért a rendszer tervezésekor ügyelni kell ezekre az adattípusokra. - Az előzménytáblát ugyanabban az adatbázisban kell létrehozni, mint az aktuális táblát. A társított kiszolgálón keresztüli időbeli lekérdezés nem támogatott.
- Az előzménytábla nem rendelkezhet korlátozásokkal (elsődleges kulcs, idegen kulcs, tábla vagy oszlopkorlátok).
- Az online beállítás (
WITH (ONLINE = ON) nem befolyásolja a rendszerverziózott temporális táblátALTER TABLE ALTER COLUMNesetén.ALTER COLUMNnincs online állapotban, függetlenül attól, hogy melyik érték lett megadva aONLINEbeállításhoz. -
INSERTésUPDATEaz utasítások nem hivatkozhatnak a GENERATED ALWAYS oszlopokra. A program letiltja az értékek közvetlenül ezekbe az oszlopokba való beszúrására tett kísérleteket. -
UPDATETEXTésWRITETEXTnem támogatottak. - Az előzménytáblában lévő eseményindítók nem engedélyezettek.
- A replikációs technológiák használata korlátozott:
- Always On: Teljes mértékben támogatott
- Pillanatkép, egyesítés és tranzakciós replikáció: Időbeli táblák esetében nem támogatott
- Az előzménytáblák nem konfigurálhatók aktuális táblaként az előzménytáblák láncában.
- A rendszer nem replikálja az alábbi objektumokat vagy tulajdonságokat az aktuális táblából az előzménytáblába az előzménytábla létrehozásakor:
- Időszak meghatározása
- Identitásdefiníció
- Indexek
- statisztika
- Korlátozások ellenőrzése
- Kiváltó okok
- Particionálási konfiguráció
- Engedélyek
- Sorszintű biztonsági predikátumok
Sémamódosítások figyelembevétele
Oszlopok hozzáadása
A null értékű oszlopok hozzáadása támogatott. A nem null értékű oszlopok hozzáadása nem támogatott. A Ledger úgy lett kialakítva, hogy figyelmen kívül hagyja a NULL értékeket egy sorverzió kivonatának kiszámításakor. Ennek alapján null értékű oszlop hozzáadásakor a főkönyv és az előzménytáblák sémáját úgy módosítja, hogy az tartalmazza az új oszlopot, ez azonban nem befolyásolja a meglévő sorok kivonatait. A naplótáblákhoz történő oszlopok hozzáadása a sys.ledger_column_history-ben van rögzítve.
Oszlopok és táblák törlése
Egy oszlop vagy tábla elvetése általában teljesen törli a mögöttes adatokat az adatbázisból, és alapvetően nem kompatibilis azokkal a főkönyv-funkciókkal, amelyekhez az adatok nem módosíthatók. Az adatok törlése helyett a főkönyv egyszerűen átnevezi az elvetett objektumokat, hogy azok logikailag el legyenek távolítva a felhasználói sémából, de fizikailag megmaradnak az adatbázisban. Az elvetett oszlopok a főkönyvtábla sémájában is rejtve maradnak, így nem láthatóak a felhasználói alkalmazás számára. Az ilyen elvetett objektumok adatai azonban továbbra is elérhetők maradnak a főkönyv-ellenőrzési folyamathoz, és lehetővé teszik a felhasználók számára az előzményadatok vizsgálatát a megfelelő főkönyvnézeteken keresztül. A főkönyvtáblákban lévő oszlopok elvetését a sys.ledger_column_history rögzíti. A főkönyvtábla elvetését a sys.ledger_table_history rögzíti. A főkönyvi táblák és függő objektumaik a rendszerkatalógus nézeteiben elvetettként vannak megjelölve és átnevezésre kerülnek.
- Az elvetett főkönyvtáblák a
is_dropped_ledger_tablebeállításával eldobottként vannak megjelölve, és a következő formátumot használják:MSSQL_DroppedLedgerTable_<dropped_ledger_table_name>_<GUID>. - A frissíthető főkönyvtáblák törölt előzménytáblái a következő formátum szerint lesznek átnevezve:
MSSQL_DroppedLedgerHistory_<dropped_history_table_name>_<GUID>. - Az elvetett főkönyvnézetek a
is_dropped_ledger_viewbeállítása által vannak elvetettként megjelölve , és átnevezhetők a következő formátum használatával:MSSQL_DroppedLedgerView_<dropped_ledger_view_name>_<GUID>.
Megjegyzés:
Az eldobott főkönyvtáblák, előzménytáblák és főkönyvi nézetek nevei csonkoltak lehetnek, ha az átnevezett tábla vagy nézet hossza meghaladja a 128 karaktert.
Oszlopok módosítása
A főkönyvtáblák alapjául szolgáló adatokat nem befolyásoló módosítások speciális kezelés nélkül támogatottak, mivel azok nem befolyásolják a főkönyvben rögzített kivonatokat. Ilyen változások a következők:
- Nullability módosítása
- Unicode-sztringek rendezése
- A változó hosszúságú oszlopok hossza
A meglévő adatok formátumát esetleg befolyásoló műveletek, például az adattípus módosítása azonban nem támogatottak.