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 Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
SQL database in Microsoft Fabric
Talvez você queira desativar o controle de versão na sua tabela temporal, temporária ou permanentemente. Faça isso definindo a cláusulaSYSTEM_VERSIONING como OFF.
Defina SYSTEM_VERSIONING = OFF
Pare de versionar o sistema se quiser realizar operações de manutenção específicas em uma tabela temporal ou não precisar mais de uma tabela versionada. Essa operação te dá duas tabelas independentes:
- A tabela atual com a definição do período
- Tabela de histórico como uma tabela normal
Remarks
A tabela de histórico para de capturar as atualizações durante o SYSTEM_VERSIONING = OFF.
Nenhuma perda de dados ocorre na tabela temporal quando você define SYSTEM_VERSIONING = OFF ou descarta o período SYSTEM_TIME.
Quando você define SYSTEM_VERSIONING = OFF e não elimina o SYSTEM_TIME período, o sistema continua atualizando as colunas de período para cada operação de inserção e atualização. As exclusões na tabela atual são permanentes.
Você deve descartar o período SYSTEM_TIME para excluir as colunas de período. Para remover as colunas de período, use ALTER TABLE <table> DROP <column>;. Para obter mais informações, consulte Alterar o esquema de uma tabela temporal com controle de versão do sistema.
Quando você define SYSTEM_VERSIONING = OFF, todos os usuários com permissões suficientes podem modificar o esquema e o conteúdo da tabela de histórico ou até mesmo excluir permanentemente a tabela de histórico.
Você não pode definir SYSTEM_VERSIONING = OFF se tiver outros objetos criados com SCHEMABINDING que usem extensões temporais de consulta, como referenciar SYSTEM_TIME. Essa restrição impede que esses objetos falhem quando você define SYSTEM_VERSIONING = OFF.
Remover permanentemente o SYSTEM_VERSIONING
Este exemplo remove permanentemente SYSTEM_VERSIONING e exclui as colunas de período. A remoção das colunas de período é opcional.
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
Opcionalmente, remova o ponto se desejar reverter a tabela temporal para uma tabela não temporal.
ALTER TABLE dbo.Department
DROP PERIOD FOR SYSTEM_TIME;
Remover temporariamente o SYSTEM_VERSIONING
As seguintes operações exigem que você defina o versionamento do sistema para OFF:
- Removendo dados desnecessários do histórico (
DELETEouTRUNCATE) - Removendo dados da tabela atual sem versionamento (
DELETE,TRUNCATE) - Partição
SWITCH OUTda tabela atual - Partição
SWITCH INna tabela de histórico
Este exemplo interrompe temporariamente o SYSTEM_VERSIONING para permitir que você execute operações de manutenção específicas. Se você parar temporariamente o controle de versão como um pré-requisito para a manutenção da tabela, é altamente recomendável fazer essa alteração dentro de uma transação para manter a consistência dos dados.
Ao reativar o versionamento do sistema, especifique o argumento HISTORY_TABLE. Se não fizer isso, o sistema cria uma nova tabela de histórico e a associa à tabela atual. A tabela de histórico original ainda pode existir como uma tabela normal, mas não está mais associada à tabela atual.
BEGIN TRANSACTION;
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = OFF);
TRUNCATE TABLE [History].[DepartmentHistory]
WITH ( PARTITIONS (1, 2) );
ALTER TABLE dbo.Department
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.DepartmentHistory));
COMMIT TRANSACTION;
Conteúdo relacionado
- Tabelas temporais
- Primeiros passos com tabelas temporais versionadas pelo sistema
- Gerenciar a retenção de dados históricos em tabelas temporárias com versão do sistema
- Tabelas temporais versionadas pelo sistema com tabelas otimizadas para memória
- Criar uma tabela temporal com controle de versão pelo sistema
- Modificar dados em uma tabela temporal com controle de versão de sistema
- Consultar dados em uma tabela temporal versionada pelo sistema
- Alterar o esquema de uma tabela temporal com versionamento do sistema