Queremos compactar uma tabela usando instruções SQL como os exemplos abaixo. E, caso algum problema tenha acontecido após a compactação, precisemos reverter para o último ponto positivo. Como fazemos isso?
Nossa pergunta:
Com as instruções SQL de compactação abaixo, como desfazemos a compactação?
Consulte as "Informações Adicionais" abaixo.
Provisoriamente, acredito que o GUI Management Studio gera SQLs errados para desfazer a compactação em um índice. Estou vendo os mesmos sintomas que todas as outras pessoas?
Detalhes:
As instruções SQL de amostra para compactação em nível de linha:
-- To row-level compress the table
USE [database-under-test]
ALTER TABLE [schema].[sales_order] REBUILD PARTITION = ALL
WITH
(DATA_COMPRESSION = ROW
)
-- To row-level compress one index, and
-- the other indices of the table are similar
USE [database-under-test]
ALTER INDEX [SALES_ORDER_CREATED_AT] ON [schema].[sales_order] REBUILD PARTITION = ALL WITH (
PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON,
DATA_COMPRESSION = ROW
)
-- Compression statements are similar for the other indices of the table
-- ...
Informações adicionais:
Provisoriamente, acredito que o GUI Management Studio gera SQLs errados para desfazer a compactação em um índice.
Por exemplo, com o assistente "Gerenciamento de armazenamento", definimos a compactação como "Nenhum" e obtém-se:
ALTER INDEX [SALES_ORDER_UPDATED_AT] ON [schema].[sales_order] REBUILD PARTITION = ALL WITH (
PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF, ONLINE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
)
Percebi que não há DATA_COMPRESSION = NONE
na instrução e o índice ainda mostra o nível de linha compactado após a execução do comando.
Estou vendo os mesmos sintomas que todas as outras pessoas?
reconstruir tabela ou índice com DATA_COMPRESSION = NONE
https://learn.microsoft.com/en-us/sql/relational-databases/data-compression/disable-compression-on-a-table-or-index?view=sql-server-ver16#TsqlProcedure