Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
Van Azure SQL Database
Azure SQL Managed Instance SQL Database
in Microsoft Fabric Preview
Mogelijk wilt u het versiebeheer op uw tijdelijke tabel tijdelijk of permanent stoppen. U kunt dit doen door de SYSTEM_VERSIONING component in te stellen op OFF.
SYSTEM_VERSIONING instellen op UIT
Stop systeemversiebeheer als u specifieke onderhoudsbewerkingen wilt uitvoeren op een tijdelijke tabel of geen geversiede tabel meer nodig hebt. Vanwege deze bewerking krijgt u twee onafhankelijke tabellen:
- Huidige tabel met een periodedefinitie
- Geschiedenistabel als een gewone tabel
Remarks
De geschiedenistabel stopt met het vastleggen van de updates tijdens SYSTEM_VERSIONING = OFF.
Er gebeurt geen gegevensverlies in de tijdelijke tabel wanneer u SYSTEM_VERSIONING = OFF instelt of de SYSTEM_TIME periode neer zet.
Wanneer u SYSTEM_VERSIONING = OFF instelt en de SYSTEM_TIME periode niet verwijdert, blijft het systeem de periodekolommen voor elke invoeg- en bijwerkbewerkingen bijwerken. Verwijderingen in de huidige tabel zijn permanent.
U moet de SYSTEM_TIME periode verwijderen om de puntkolommen te verwijderen. Als u de puntkolommen wilt verwijderen, gebruikt u ALTER TABLE <table> DROP <column>;. Voor meer informatie, zie Het schema van een systeemversie-gebaseerde tijdtabel wijzigen.
Wanneer u SYSTEM_VERSIONING = OFFinstelt, kunnen alle gebruikers met voldoende machtigingen het schema en de inhoud van de geschiedenistabel wijzigen of zelfs de geschiedenistabel permanent verwijderen.
U kunt SYSTEM_VERSIONING = OFF niet instellen als u andere objecten hebt gemaakt met SCHEMABINDING met behulp van tijdelijke queryextensies, zoals het verwijzen naar SYSTEM_TIME. Deze beperking voorkomt dat deze objecten mislukken als u SYSTEM_VERSIONING = OFFinstelt.
Permanent SYSTEM_VERSIONING verwijderen
In dit voorbeeld worden SYSTEM_VERSIONING permanent verwijderd en worden de periodekolommen gewist. Het verwijderen van de puntkolommen is optioneel.
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
-- Optionally, DROP PERIOD if you want to revert temporal table to a non-temporal
ALTER TABLE dbo.Department
DROP PERIOD FOR SYSTEM_TIME;
Tijdelijk SYSTEM_VERSIONING verwijderen
De volgende lijst bevat de lijst met bewerkingen waarvoor systeemversiebeheer moet worden ingesteld op OFF:
- Overbodige gegevens verwijderen uit de geschiedenis (
DELETEofTRUNCATE) - Gegevens verwijderen uit de huidige tabel zonder versiebeheer (
DELETE,TRUNCATE) - Partitie
SWITCH OUTuit de huidige tabel - Partitie
SWITCH INin de geschiedenistabel
In dit voorbeeld wordt SYSTEM_VERSIONING tijdelijk gestopt, zodat u specifieke onderhoudsbewerkingen kunt uitvoeren. Als u versiebeheer tijdelijk stopt als een vereiste voor tabelonderhoud, raden we u ten zeerste aan deze wijziging in een transactie uit te voeren om gegevensconsistentie te behouden.
Wanneer u systeemversiebeheer weer inschakelt, vergeet dan niet om het argument HISTORY_TABLE op te geven. Als u dit niet doet, wordt er een nieuwe geschiedenistabel gemaakt en gekoppeld aan de huidige tabel. De oorspronkelijke geschiedenistabel kan nog steeds bestaan als een normale tabel, is niet meer gekoppeld aan de huidige tabel.
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;
Related content
- Temporal tables
- Aan de slag met tijdelijke tabellen met systeemversies
- Het bewaren van historische gegevens in tijdelijke tabellen met systeemversies beheren
- Systeem-geversioneerde temporele tabellen met geheugen-geoptimaliseerde tabellen
- Een systeem-geversioneerde tijdstabel maken
- Gegevens wijzigen in een systeemversie-tijdstabel
- Query uitvoeren op gegevens in een systeem-geversioneerde temporale tabel
- het schema van een systeem-geversioneerde temporele tabel wijzigen