Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores
de Azure SQL Managed Instance
Igual que crea una tabla de historial basada en disco, puede crear una tabla temporal optimizada para memoria de varias maneras.
Para crear tablas optimizadas para memoria, primero debe crear el grupo de archivos optimizados para memoria.
Note
Las tablas temporales optimizadas para memoria solo están disponibles en SQL Server y Azure SQL Managed Instance. Las tablas y tablas temporales optimizadas para memoria están disponibles de forma independiente en Azure SQL Database.
Creación de una tabla temporal optimizada para memoria con una tabla de historial predeterminada
Crear una tabla temporal con una tabla de historial por defecto es una opción conveniente cuando quieres controlar el nombre y seguir confiando en que el sistema cree la tabla de historial con una configuración predeterminada. En el siguiente ejemplo, una nueva tabla temporal optimizada para memoria versión del sistema está vinculada a una nueva tabla de historial basada en 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
);
Creación de una tabla temporal optimizada para memoria con una tabla de historial existente
Puedes crear una tabla temporal vinculada a una tabla de historial existente cuando quieras añadir versionado del sistema usando una tabla existente. Este escenario es útil cuando se quiere migrar una solución temporal personalizada a compatibilidad integrada. En el ejemplo siguiente, se crea una tabla temporal vinculada a una tabla de historial existente.
Primero, crea la tabla de historial existente:
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
);
Luego, convierte una tabla temporal que enlace a la tabla histórica.
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
);
Contenido relacionado
- Tablas temporales versionadas por el sistema con tablas optimizadas para la memoria
- Trabajar con tablas temporales con versión del sistema optimizadas para memoria
- Supervisar tablas temporales con control de versiones del sistema con optimización para memoria
- Rendimiento de las tablas temporales con versión del sistema optimizadas para memoria
- Tablas temporales
- Comprobaciones de coherencia del sistema de la tabla temporal
- Administrar la retención de datos históricos en las tablas temporales con versiones del sistema
- Funciones y vistas de metadatos de la tabla temporal