Páginas filhas
  • Migração dos tipos de dados TEXT,NTEXT e IMAGE nas colunas em SQL Server

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Para potencializar os benefícios, reforçamos a importância de reduzir o conteúdo das principais tabelas mais volumosas antes da execução do processo de migração.
Ao diminuir a quantidade de dados armazenados, o tempo necessário para converter os datatypes pode ser significativamente reduzido, resultando também em menor tempo destinado à atualização da base de dados como um todo.


(ideia) Foi criado um requisito que identifica bases contendo tabelas com grandes volumes de dados, as quais podem ocasionar demora na migração dos tipos de dados em suas colunas. Caso o RM.Atualizador sinalize este requisito, significa que uma ou mais tabelas do seu banco de dados podem gerar lentidão durante a etapa de atualização. Abaixo disponibilizamos um modelo de consulta SQL para auxiliá-lo na identificação das tabelas que necessitam ser saneadas:

Bloco de código
languagesql
themeDJango
titleConsulta tabelas tamanhos
linenumberstrue
with cte_sizes AS (
    SELECT p.OBJECT_ID, OBJECT_NAME(p.OBJECT_ID) AS NOME,
        CAST((SUM(a.total_pages) * 8.0) / 1024 AS DECIMAL(18,2)) AS TotalSizeMB
    FROM sys.partitions p JOIN sys.allocation_units a ON p.partition_id = a.container_id
    GROUP BY p.OBJECT_ID
),
cte_rows AS (
    SELECT OBJECT_ID, SUM(row_count) AS NumeroLinhas
    FROM sys.dm_db_partition_stats 
    WHERE index_id IN (0,1) GROUP BY OBJECT_ID
)

SELECT DISTINCT SCHEMA_NAME(c.schema_id) AS Esquema, OBJECT_NAME(a.object_id) AS Tabela, 
    d.TotalSizeMB AS Tamanho, ISNULL(r.NumeroLinhas, 0) AS Linhas
FROM sys.columns a 
JOIN sys.types b ON a.system_type_id = b.system_type_id 
    AND b.name IN (SELECT * FROM ( VALUES ('text'),('image')) tipos (nomes))
JOIN sys.tables c ON c.object_id = a.object_id 
    AND c.schema_id IN (SELECT * FROM ( VALUES (schema_id('dbo'))) esquemas (nomes))
JOIN cte_sizes d ON a.object_id = d.OBJECT_ID
LEFT JOIN cte_rows r ON a.object_id = r.OBJECT_ID
ORDER BY d.TotalSizeMB DESC



Nossa ferramenta já disponibiliza documentações de apoio para auxiliar na redução do conteúdo das tabelas e otimizar o processo. Recomendamos que o cliente utilize essas orientações previamente, de forma a garantir que a migração seja mais ágil, segura e com menor impacto para os usuários:

Dica
titleLimpeza de tabelas

Segue o link com documentação para auxiliar na redução de dados nas principais tabelas do produto: https://tdn.totvs.com/x/KmTeO


02. DETALHAMENTO DA MIGRAÇÃO

...