Een door het geheugen geoptimaliseerde tijdelijke tabel met systeemversies maken
van toepassing op: SQL Server 2016 (13.x) en hoger
Azure SQL Managed Instance
Net als bij het maken van een geschiedenistabel op basis van een schijf, kunt u op verschillende manieren een tijdelijke tabel maken die is geoptimaliseerd voor geheugen.
Als u tabellen wilt maken die zijn geoptimaliseerd voor geheugen, moet u eerst de voor geheugen geoptimaliseerde bestandsgroep maken.
Notitie
Tijdelijke tabellen die zijn geoptimaliseerd voor geheugen, zijn alleen beschikbaar in SQL Server en Azure SQL Managed Instance. Tabellen en tijdelijke tabellen die zijn geoptimaliseerd voor geheugen, zijn onafhankelijk beschikbaar in Azure SQL Database.
Een tijdelijke tabel maken die is geoptimaliseerd voor geheugen met standaardgeschiedenistabel
Het maken van een tijdelijke tabel met een standaardgeschiedenistabel is een handige optie als u naamgeving wilt beheren en nog steeds afhankelijk wilt zijn van het systeem om geschiedenistabel met standaardconfiguratie te maken. In het volgende voorbeeld is een nieuwe geheugen-geoptimaliseerde systeemversie van een tijdelijke tabel gekoppeld aan een nieuwe op schijf gebaseerde geschiedenistabel.
CREATE SCHEMA History;
GO
CREATE TABLE dbo.Department (
DepartmentNumber CHAR(10) NOT NULL PRIMARY KEY NONCLUSTERED,
DepartmentName VARCHAR(50) NOT NULL,
ManagerID INT NULL,
ParentDepartmentNumber CHAR(10) NULL,
ValidFrom DATETIME2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL,
ValidTo DATETIME2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME(ValidFrom, ValidTo)
)
WITH (
MEMORY_OPTIMIZED = ON,
DURABILITY = SCHEMA_AND_DATA,
SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.DepartmentHistory)
);
Een tijdelijke tabel maken die is geoptimaliseerd voor geheugen met een bestaande geschiedenistabel
U kunt een tijdelijke tabel maken die is gekoppeld aan een bestaande geschiedenistabel wanneer u systeemversiebeheer wilt toevoegen met behulp van een bestaande tabel. Dit scenario is handig als u een aangepaste tijdelijke oplossing wilt migreren naar ingebouwde ondersteuning. In het volgende voorbeeld wordt een nieuwe tijdelijke tabel gemaakt die is gekoppeld aan een bestaande geschiedenistabel.
--Existing table
CREATE TABLE Department_History (
DepartmentNumber CHAR(10) NOT NULL,
DepartmentName VARCHAR(50) NOT NULL,
ManagerID INT NULL,
ParentDepartmentNumber CHAR(10) NULL,
ValidFrom DATETIME2 NOT NULL,
ValidTo DATETIME2 NOT NULL
);
--Temporal table
CREATE TABLE Department (
DepartmentNumber CHAR(10) NOT NULL PRIMARY KEY NONCLUSTERED,
DepartmentName VARCHAR(50) NOT NULL,
ManagerID INT NULL,
ParentDepartmentNumber CHAR(10) NULL,
ValidFrom DATETIME2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL,
ValidTo DATETIME2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME(ValidFrom, ValidTo)
)
WITH (
SYSTEM_VERSIONING = ON (
HISTORY_TABLE = dbo.Department_History,
DATA_CONSISTENCY_CHECK = ON
),
MEMORY_OPTIMIZED = ON,
DURABILITY = SCHEMA_AND_DATA
);
Verwante inhoud
- Systeem-versiegebonden tijdelijke tabellen met geheugen-geoptimaliseerde tabellen
- Werken met door het geheugen geoptimaliseerde tijdelijke tabellen
- Geheugen-geoptimaliseerde systeem-gegenereerde temporele tabellen bewaken
- voor geheugen geoptimaliseerde systeemversie van tijdelijke tabelprestaties
- tijdelijke tabellen
- consistentiecontroles van het tijdelijke tabelsysteem
- Beheer het bewaren van historische gegevens in systeem-geversioneerde tijdtabellen
- weergaven en functies van metagegevens van tijdelijke tabellen