Migração de Data
Visão Geral
App Builder o recurso de migração de datas do fornece suporte para migrar datas de um fuso horário para outro.
Aviso
A migração de datas é uma ferramenta muito poderosa, mas também potencialmente perigosa, pois afetará todos os arquivos selecionados. DateTime
colunas na sua fonte de dados. Cuidado e testes adequados são fortemente recomendados.
Recomendações
A migração de data é recomendada para desenvolvedores que buscam converter DateTime
colunas de um fuso horário para outro.
O fuso horário ideal para sua Fonte de Dados é, talvez, discutível, no entanto, a prática recomendada é configurar seus servidores e Fontes de Dados para que todos usem o mesmo fuso horário. UTC é provavelmente a melhor escolha, pois qualquer outro fuso horário está sujeito a alterações se a localização do servidor mudar. Observe também que as instâncias da Amazon são definidas por padrão para usar UTC.
Outra coisa a ter em mente é que configurar o fuso horário do servidor do banco de dados para ser o mesmo que o fuso horário da Fonte de Dados garantirá que as chamadas para 'Now()'
retornará o valor esperado. Now()
retorna o horário atual pelo fuso horário do banco de dados.
Ao manter todos os fusos horários da sua Fonte de Dados sincronizados, você pode evitar a dor de cabeça de converter DateTime
dados de um fuso horário para outro. Hoje, isso não é feito automaticamente, embora possa ser implementado em uma versão futura.
Limitações e Advertências
Embora DateTime
colunas são migradas, há outros aspectos do seu App Builder aplicação que pode exigir modificação, incluindo:
- Codificado
DateTime
os valores nas regras não são ajustados. Se suas regras incluemwhere
ouselect
cláusulas com datas codificadas, você precisará ajustá-las manualmente para o novo fuso horário esperado. - Quaisquer colunas que usam
DateAdd
ou funções similares para ajustar fusos horários manualmente também serão deixadas como estão. Os desenvolvedores precisarão consertar isso manualmente. - As versões do MS SQL Server anteriores a 2016 não oferecem suporte ao
AT TIME ZONE
função. Como resultado, a Migração de Data será realizada usando um deslocamento de fuso horário calculado a partir dos fusos horários de origem e destino a partir do momento atual. Isso pode causar problemas com fusos horários que fazem uso do horário de verão. - As Migrações de Data são executadas em uma única transação quando seu aplicativo/fonte de dados está sendo atualizado por meio de um LP. A transação pode expirar dependendo da quantidade de dados a serem migrados. Se isso acontecer, defina um tempo limite mais longo
CommandTimeOut
no seu arquivo de conexão ajudará a mitigar o tempo limite.
Configurar Migração de Data
Para executar uma Migração de Data, execute as seguintes etapas:
- Navegue até IDE > Configurações Adicionais > Migração de Data
- Clique em + Migração no painel Migrações de Data
- Selecione uma Fonte de Dados
- Selecione um Fuso Horário de Origem. Esta configuração já estará preenchida para Fontes de Dados que tenham um valor não nulo
Time Zone
. - Selecione um Fuso Horário de Destino
- Clique em Salvar
Neste ponto, o painel lateral direito deve preencher todos os DateTime
colunas na Fonte de Dados selecionada. A partir daqui, você pode configurar as configurações de Migração de Data para colunas individuais.
Se sua Fonte de Dados não tiver um fuso horário definido, você notará que a Auditoria DateTime
colunas usarão o App Builder fuso horário do servidor de aplicativos como o Source Time Zone
. Os dados de auditoria são gravados usando o fuso horário do servidor de aplicativos quando a Fonte de Dados não tem um fuso horário configurado. Observe também que App Builder usa o AddedOn
e ChangedOn
tipos de uso da coluna para determinar se uma coluna é considerada dados de auditoria.
Após terminar de ajustar colunas individuais, você pode prosseguir com as seguintes etapas:
- Na mesma tela acima, clique no botão Migrar no painel Migração de data.
Isso executará um trabalho em segundo plano para migrar todas as colunas configuradas. A migração de data é executada em uma única transação e bloqueará tabelas no processo. Você deve garantir que o tráfego no seu servidor seja mínimo ou nenhum para evitar bloqueios.
Etapas de gerenciamento de alterações também serão adicionadas para cada tabela que está sendo migrada.
Após as datas terem sido migradas, o status da migração de data mudará para Complete
.
Se ocorrer uma falha, a transação de migração de data será revertida e um registro adicional poderá ser encontrado no histórico de trabalhos em segundo plano.