Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server 2016 (13.x) et versions
ultérieures d’Azure SQL Managed Instance
Comme pour la création d'une table d'historique sur disque, vous pouvez créer une table temporelle à mémoire optimisée de plusieurs façons.
Pour créer des tables à mémoire optimisée, vous devez d’abord créer le Groupe de fichiers mémoire optimisé.
Note
Les tables temporelles optimisées en mémoire sont disponibles uniquement dans SQL Server et Azure SQL Managed Instance. Les tables optimisées en mémoire et les tables temporelles sont disponibles indépendamment dans Azure SQL Database.
Créer une table temporelle optimisée en mémoire avec une table d’historique par défaut
Créer une table temporelle avec une table d’historique par défaut est une option pratique quand on veut contrôler la dénomination tout en comptant sur le système pour créer la table d’historique avec une configuration par défaut. Dans l’exemple suivant, une nouvelle table temporelle optimisée pour la mémoire version système est liée à une nouvelle table d’historique basée sur disque.
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
);
Créer une table temporelle optimisée en mémoire à l’aide d’une table d’historique existante
Vous pouvez créer une table temporelle liée à une table d’historique existante lorsque vous souhaitez ajouter un système de versionnement à partir d’une table existante. Ce scénario est utile lorsque vous souhaitez migrer une solution temporelle personnalisée vers la prise en charge intégrée. Dans l’exemple ci-dessous, une table temporelle est créée et liée à une table de l’historique existante.
Tout d’abord, créez le tableau historique existant :
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
);
Ensuite, convertir une table temporelle qui fait le lien avec la table d’historique.
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
);
Contenu connexe
- Tables temporelles à versionnement géré par le système avec tables optimisées en mémoire
- Utiliser des tables temporelles versionnées par le système et optimisées en mémoire
- Surveiller les tables temporelles avec contrôle de version géré par le système et optimisées en mémoire
- Performances des tables temporelles optimisées en mémoire avec gestion de version par le système
- Tables temporelles
- Vérifications de cohérence système des tables temporelles
- Gérer la conservation des données historiques dans les tables temporelles versionnées par le système
- Vues et fonctions des métadonnées des tables temporelles