Temos um novo aplicativo que inclui scripts ETL, R e código .NET, todos sendo desenvolvidos ativamente na arquitetura SQL 2016.
Recentemente, recebi a aprovação para começar a configurar novos ambientes com o SQL 2017.
Gostaria de entender se há alguma alteração relacionada à migração de código que possa precisar ser feita para uma instalação do SQL 2017 ou se a execução no SQL 2017 com o modo de compatibilidade do banco de dados SQL 2016 se comportaria da mesma forma como se fosse apenas uma instalação do SQL 2016 em execução com o modo de compatibilidade completo do SQL 2016 (130)?
Lendo este link encontrei o seguinte
Para atualizar o SQL Server Database Engine para a versão mais recente, mantendo o nível de compatibilidade do banco de dados que existia antes da atualização e seu status de suporte, é recomendável executar a validação da área de superfície funcional estática do código do aplicativo no banco de dados, usando o Microsoft Ferramenta Data Migration Assistant (DMA). A ausência de erros na saída da ferramenta DMA, sobre funcionalidades ausentes ou incompatíveis, protege o aplicativo de quaisquer regressões funcionais na nova versão de destino.
Supondo que essa verificação seja aprovada, há mais alguma coisa que eu deveria estar fazendo ou analisando?
Ele não vai se comportar exatamente da mesma forma. O modo de compatibilidade funciona no nível do banco de dados, não no nível da instância, que ainda é 2017. Mas funcionará da mesma forma.
Eu verificaria a lista de recursos de interrupção para 2017 , pois algumas alterações no nível da instância ainda podem afetar seu código, apesar de estar no modo de compatibilidade de 2016. No entanto, as mudanças de última hora de 2017 são relativamente pequenas, então provavelmente é improvável que você seja afetado. Em geral, algumas alterações de versão são cobertas pelo modo de compatibilidade e outras não.
A documentação dá bons exemplos disso,
e
Você também deve examinar a lista de recursos obsoletos para 2017 e tentar remover qualquer uma dessas áreas do desenvolvimento futuro para preparar seus aplicativos para o futuro. E, é claro, quaisquer novos recursos de 2017 podem exigir atualizações para aproveitá-los também, mas tenho a impressão de que você está mais preocupado com as alterações de última hora.
Com tudo isso dito, você provavelmente está bem, mas ainda deve testar cuidadosa e exaustivamente a atualização do modo de compatibilidade antes de movê-lo para produção.