Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2016 (13.x) e versioni
successive di Istanza gestita di SQL di Azure
Come per la creazione di una tabella di cronologia basata su disco, è possibile creare una tabella temporale ottimizzata per la memoria in diversi modi.
Per creare tabelle ottimizzate per la memoria, è necessario innanzitutto creare il filegroup ottimizzato per la memoria.
Note
Le tabelle temporali ottimizzate per la memoria sono disponibili solo in SQL Server e in Istanza gestita di SQL di Azure. Le tabelle ottimizzate per la memoria e le tabelle temporali sono disponibili in modo indipendente nel database SQL di Azure.
Creare una tabella temporale ottimizzata per la memoria con una tabella di cronologia predefinita
Creare una tabella temporale con una tabella della cronologia predefinita è un'opzione comoda quando si vuole controllare la denominazione e comunque affidarsi al sistema per creare la tabella della cronologia con una configurazione predefinita. Nel seguente esempio, una nuova tabella temporale ottimizzata per la memoria versione di sistema è collegata a una nuova tabella di cronologia basata su disco.
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 (
SYSTEM_VERSIONING = ON (
HISTORY_TABLE = dbo.Department_History
),
MEMORY_OPTIMIZED = ON,
DURABILITY = SCHEMA_AND_DATA
);
Creare una tabella temporale ottimizzata per la memoria con una tabella di cronologia esistente
Puoi creare una tabella temporale collegata a una tabella della storia esistente quando vuoi aggiungere versioning di sistema usando una tabella esistente. Questo scenario è utile quando si vuole eseguire la migrazione di una soluzione temporale personalizzata al supporto predefinito. Nel seguente esempio viene creata una nuova tabella temporale collegata a una tabella di cronologia esistente.
Per prima cosa, crea la tabella storica esistente:
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
);
Poi, converti una tabella temporale che si collega alla tabella storica.
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
);
Contenuti correlati
- Tabelle temporali versionate a livello di sistema con tabelle ottimizzate per la memoria
- Lavorare con tabelle temporali ottimizzate per la memoria e versionate a livello di sistema
- Monitorare tabelle temporali ottimizzate per la memoria e versionate a livello di sistema
- Prestazioni delle tabelle temporali ottimizzate per la memoria e con versione di sistema
- Tabelle temporali
- Verifiche di coerenza del sistema delle tabelle temporali
- Gestire la conservazione dei dati storici nelle tabelle temporali versionate dal sistema
- Funzioni e viste per i metadati delle tabelle temporali