Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
da Instância Gerenciada de SQL do Azure
Assim como acontece com a criação de uma tabela de histórico baseada em disco, é possível criar uma tabela temporal com otimização de memória de várias maneiras.
Para criar tabelas com otimização de memória, você deve primeiro criar o grupo de arquivos com otimização de memória.
Note
As tabelas temporais com otimização de memória só estão disponíveis no SQL Server e na Instância Gerenciada de SQL do Azure. Tabelas com otimização de memória e tabelas temporais estão disponíveis independentemente no Banco de Dados SQL do Azure.
Criar uma tabela temporal com otimização de memória com tabela de histórico padrão
Criar uma tabela temporal com uma tabela de histórico padrão é uma opção conveniente quando você quer controlar a nomeação e ainda assim depender do sistema para criar a tabela de histórico com uma configuração padrão. No exemplo a seguir, uma nova tabela temporal otimizada para memória versão do sistema está vinculada a uma nova tabela de histórico baseada em 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
);
Criar uma tabela temporal com otimização de memória com tabela de histórico existente
Você pode criar uma tabela temporal vinculada a uma tabela de histórico existente quando quiser adicionar versionamento do sistema usando uma tabela existente. Esse cenário é útil quando você deseja migrar uma solução temporal personalizada para suporte interno. No exemplo a seguir, uma nova tabela temporal é criada e vinculada a uma tabela de histórico existente.
Primeiro, crie a tabela de histórico 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
);
Depois, converta uma tabela temporal vinculada à tabela de histórico.
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
);
Conteúdo relacionado
- Tabelas temporais versionadas pelo sistema com tabelas otimizadas para memória
- Trabalhar com tabelas temporais com versão do sistema e otimização de memória
- Monitorar tabelas temporais versionadas pelo sistema otimizadas para memória
- Desempenho de tabelas temporais com controle de versão do sistema otimizadas para memória
- Tabelas temporais
- Verificações de consistência do sistema de tabela temporal
- Gerenciar a retenção de dados históricos em tabelas temporárias com versão do sistema
- Exibições e funções de metadados de tabela temporal