Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
U časových tabulek systém provádí několik kontrol konzistence. Tyto kontroly zajišťují, že schéma splňuje časové požadavky a že data jsou konzistentní a zůstávají konzistentní. Prohlášení DBCC CHECKCONSTRAINTS také poskytuje časové kontroly.
Kontroly konzistence systému
Před nastavením SYSTEM_VERSIONING na ONse provede sada kontrol v tabulce historie a aktuální tabulce. Tyto kontroly se dělí na kontroly schématu a kontroly dat (pokud historická tabulka není prázdná). Systém také provádí kontrolu konzistence za běhu.
Kontrola schématu
Když vytvoříte nebo upravíte tabulku tak, aby se stala časovou tabulkou, systém ověřuje, že jsou splněny tyto požadavky:
Názvy a počet sloupců jsou stejné jak v aktuální tabulce, tak v tabulce historie.
Datové typy se shodují pro každý sloupec mezi aktuální tabulkou a historickou tabulkou.
Sloupce období jsou nastaveny na
NOT NULL.Aktuální tabulka má omezení primárního klíče a tabulka historie nemá omezení primárního klíče.
V tabulce historie nejsou definovány žádné
IDENTITYsloupce.V tabulce historie nejsou definovány žádné aktivační události.
V tabulce historie nejsou definovány žádné cizí klíče.
V tabulce historie nejsou definována žádná omezení tabulky nebo sloupce. Výchozí hodnoty sloupců v tabulce historie jsou však povolené.
Tabulka historie se neumisťuje do skupiny souborů jen pro čtení.
Tabulka historie není nakonfigurovaná pro sledování změn nebo zachytávání dat změn.
Kontrola konzistence dat
Před nastavením SYSTEM_VERSIONING na ON a v rámci jakékoli operace jazyka DML (Data Manipulat Language) systém provede následující kontrolu: ValidTo >= ValidFrom
Když vytvoříte odkaz na existující tabulku historie, můžete zvolit kontrolu konzistence dat. Tato kontrola konzistence dat zajišťuje, že stávající záznamy se nepřekrývají a že každý záznam splňuje časové požadavky. Kontrola konzistence dat běží ve výchozím nastavení. Proveďte kontrolu konzistence dat vždy, když mohou být data mezi aktuální a historickou tabulkou nesynchronizovaná. Například to proveďte, když začleníte existující tabulku historie, která již obsahuje data historie.
Výstraha
Ruční změny systémových hodin způsobují nečekané selhání systému, protože kontroly konzistence dat za běhu, které zabraňují překryvům (například že čas konce záznamu není kratší než jeho spuštění), selžou.
Použití KONTROLNÍCH OMEZENÍ DBCC
Příkaz DBCC CHECKCONSTRAINTS zahrnuje dočasné kontroly konzistence dat. Další informace naleznete v tématu DBCC CHECKCONSTRAINTS.
Související obsah
- temporální tabulky
- Začínáme se systémově verzovanými temporálními tabulkami
- Oddíl s dočasnými tabulkami
- aspekty a omezení časových tabulek
- zabezpečení časových tabulek
- Správa uchovávání historických dat v systémově verzovaných časových tabulkách
- Systémově verzované časové tabulky s tabulkami optimalizovanými pro paměť
- Zobrazení a funkce metadat temporálních tabulek