Ajustar Horário de Verão no Brasil em 2020 [Adjust Daylight Saving Time in Brazil at 2020]
Olá pessoal,
Este artigo é complemento ao artigo escrito por Walter Carlin - Sr. PFE - Dynamics 365 (Remover Horário de Verão no Brasil em 2019 [Remove Daylight Saving Time in Brazil in 2019]).
Como descrito no artigo anterior, através do Decreto Presidencial número 9772 de 25/04/2019 o Horário de Verão no Brasil em 2019 foi encerrado (http://www.planalto.gov.br/ccivil_03/_ato2019-2022/2019/decreto/D9772.htm). Desta forma, se faz necessário atualizar as configurações dos bancos de dados das organizações Dynamics CRM/365 para ignorar o horário de verão previamente estabelecido. Este artigo é um complemento porque temos um script para ajustar o horário de verão em 2020, afim que inicie o horário padrão logo no primeiro dia do ano.
Elaborei este script para ser executado nos ambientes On Premises a partir da versão 2011. O script gerará uma cópia da tabela TimezoneRuleBase, caso haja alguma mudança no horário de verão futuramente.
Na primeira linha ajustar o nome do banco de dados da Organização a atualizar.
IMPORTANTE: (1) Este script trata somente da atualização do banco de dados do Dynamics (server) e não inibe a necessidade de updates do Windows (server / client).
IMPORTANTE: (2) Para os ambientes Online a Microsoft aplicará o ajuste em todas as organizações automaticamente.
USE [nome_da_organizacao_MSCRM] -- alterar para o banco de dados da organização GO BEGIN TRY BEGIN TRANSACTION IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'TimezoneRuleBase_Backup')) BEGIN SELECT * INTO TimezoneRuleBase_Backup FROM TimezoneRuleBase END UPDATE TimeZoneRuleBase SET StandardBias = 0, StandardYear = 0, StandardMonth = 1, StandardDay = 1, StandardDayOfWeek = 3, StandardHour = 00, StandardMinute = 00, StandardSecond = 00 , DaylightBias = -60, DaylightYear = 0, DaylightMonth = 0, DaylightDay = 0, DaylightDayOfWeek = 0, DaylightHour = 0, DaylightMinute = 0, DaylightSecond = 0 WHERE TimeZoneDefinitionId in (SELECT TimeZoneDefinitionId FROM TimeZoneDefinitionBase WHERE TimeZoneCode IN (65, 58)) AND EffectiveDateTime = '2020-01-01' COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION THROW END CATCH
Após executar o script, efetuar IISRESET nos servidores de front-end e restart para Serviço de Processamento Assíncrono nos servidores de back-end. Caso o problema for persistente, aplique restart para cada servidor do deployment.
Gustavo Longo - Technical Advisory - Dynamics 365 - Microsoft
*This post is locked for comments