Vamos de assunto técnico? O #dataholic Fábio Oliveira escreveu um artigo compartilhando conhecimentos valiosos. Bora conferir!
Neste artigo mostrarei um caso onde precisei alterar algumas configurações que vem por default na instância SQL Server, independente de ser no Azure, Amazon ou On Premises.
Ao tentar alterar os parâmetros referentes à paralelismo no RDS, me deparei com o seguinte erro:
Ok, estranho, mas é assim que funciona por lá!
Ao criarmos uma instância RDS, existe uma opção de Parameter Groups, como o próprio nome já diz, são grupos de parâmetros que associamos à nossa instância:
Cada edição e versão do SQL Server no RDS, tem seu próprio Default para o Parameter Group, vamos verificar:
Vá na sua instância RDS -> Configuration:
Aqui você encontra todas configurações à nível de instância, fique a vontade para explorar esta tela.
Percebam que o Cost Threshold for parallelism e o MAXDOP estão default:
Agora ficou fácil resolver né? Só que não… Não conseguimos alterar o default do RDS:
Com isso, precisamos criar um novo Parameter Group:
Defina para qual família estará disponível este Parameter Group, o nome e a descrição:
Com o Parameter Group criado, volte à tela para alterarmos os valores que precisamos:
Defina os novos valores e clique em Save Changes:
Próximo passo agora é associar o novo Parameter Group à nossa instância RDS:
Vá até Database Options e escolha o novo:
Aqui você tem opção de aplicar somente na sua janela de manutenção ou aplicar imediatamente:
A instância ficará em Modifying. Porém não sofrerá nenhum shutdown.
Após aplicar a modificação, para que seja de fato aplicada, é necessário realizar o reboot:
Este sim causará a indisponibilidade para aplicar o novo Parameter Group:
Após o reboot, as alterações foram salvas:
Agora você tem seu Parameter Group com as configurações para aquela determinada instância.
E se eu quiser alterar mais algum parâmetro, terei indisponibilidade novamente? Depende…
Na tela do Parameter Group, a coluna Apply Type tem 2 tipos:
Static
Dynamic
No Static, você pode alterar o valor, porém é necessário um reboot do servidor para surtir efeito.
Já no Dynamic não é necessário reboot.
Exemplo do fill factor, há indisponibilidade:
Fontes:
Working with DB parameter groups – Amazon Relational Database ServiceModifying an Amazon RDS DB instance – Amazon Relational Database Service
É isso pessoal, para mim é muito interessante compartilhar conhecimento e poder ajudar outras pessoas. Espero que tenham gostado. Deixe seu like e compartilhe!