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
Možná budete chtít ukončit správu verzí dočasné tabulky buď dočasně, nebo trvale. Můžete to provést nastavením klauzule SYSTEM_VERSIONING na OFF.
Nastavte SYSTEM_VERSIONING = VYPNUTO
Přestaňte s verzováním systému, pokud chcete provádět specifické údržbové operace na časové tabulce nebo už nepotřebujete verziovanou tabulku. Tato operace vám dává dvě nezávislé tabulky:
- Aktuální tabulka s definicí období
- Tabulka historie jako běžná tabulka
Remarks
Tabulka historie přestane zaznamenávat aktualizace během SYSTEM_VERSIONING = OFF.
V dočasné tabulce nedojde ke ztrátě dat, když nastavíte SYSTEM_VERSIONING = OFF nebo vypustíte SYSTEM_TIME období.
Když nastavíte SYSTEM_VERSIONING = OFF a neodstraníte období SYSTEM_TIME, systém bude i nadále aktualizovat sloupce období při každé operaci vložení a aktualizace. Odstranění v aktuální tabulce jsou trvalé.
Abyste smazali sloupce období, musíte vynechat období SYSTEM_TIME. Chcete-li odebrat sloupce období, použijte ALTER TABLE <table> DROP <column>;. Další informace naleznete v tématu Změna schématu dočasné tabulky s verzí systému.
Při nastavování SYSTEM_VERSIONING = OFFmohou všichni uživatelé s dostatečnými oprávněními změnit schéma a obsah tabulky historie nebo dokonce trvale odstranit tabulku historie.
Nemůžete nastavit SYSTEM_VERSIONING = OFF, pokud máte jiné objekty vytvořené pomocí SCHEMABINDING, které používají časová rozšíření dotazů, například odkazují na SYSTEM_TIME. Toto omezení zabraňuje selhání těchto objektů, pokud nastavíte SYSTEM_VERSIONING = OFF.
Trvalé odebrání SYSTEM_VERSIONING
Tento příklad trvale odebere SYSTEM_VERSIONING a odstraní sloupce období. Odebrání sloupců období je volitelné.
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
Pokud chcete časovou tabulku vrátit zpět na nečasovou, můžete vynechat periodu.
ALTER TABLE dbo.Department
DROP PERIOD FOR SYSTEM_TIME;
Dočasné odebrání SYSTEM_VERSIONING
Následující operace vyžadují nastavení systémového verzování na:OFF
- Odebrání nepotřebných dat z historie (
DELETEneboTRUNCATE) - Odstranění dat z aktuální tabulky bez verzování (
DELETE,TRUNCATE) - Oddíl
SWITCH OUTz aktuální tabulky - Rozděl
SWITCH INdo tabulky historie
Tento příklad dočasně zastaví SYSTEM_VERSIONING, abyste mohli provádět konkrétní operace údržby. Pokud správu verzí dočasně zastavíte jako předpoklad pro údržbu tabulek, důrazně doporučujeme tuto změnu provést uvnitř transakce, aby byla zachována konzistence dat.
Když znovu zapnete systémové verzování, zadejte HISTORY_TABLE argument. Pokud ne, systém vytvoří novou tabulku historie a přiřadí ji k té současné. Původní historická tabulka může stále existovat jako normální tabulka, ale už není spojena s aktuální tabulkou.
BEGIN TRANSACTION;
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
TRUNCATE TABLE [History].[DepartmentHistory]
WITH ( PARTITIONS (1, 2) );
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.DepartmentHistory));
COMMIT TRANSACTION;
Související obsah
- temporální tabulky
- Začínáme se systémově verzovanými temporálními tabulkami
- 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ěť
- Vytvoření systémově verzované časové tabulky
- Úprava dat v systémově verzované časové tabulce
- Dotazování dat v časově verzované systémové tabulce
- Změna schématu systémově verzované temporální tabulky