Descobrimos uma conta SQL "sa" sendo usada de uma forma que não deveria, então estamos alterando as senhas sa em todas as nossas instâncias SQL.
(Temos servidores SQL 2005 a 2017 em execução no modo de autenticação misto. Todos os usuários e aplicativos devem usar contas de domínio ou contas SQL não sa para se conectar. Tenho monitorado, mas não encontrei nenhum outro aplicativo, usuário ou não -spids internos usando a conta sa.)
Algumas questões:
Q1: A alteração da senha sa requer uma reinicialização do SQL?
Encontrei algumas referências que dizem que é necessário reiniciar o serviço SQL após alterar a senha da conta sa:
- DBA SE: Alterando a senha sa
- SQLAuthority: Alterar a senha do login do SA usando o Management Studio
Isso é verdade? Ou apenas se eu estiver alterando o modo de autenticação? Ou apenas se eu fizer logon rotineiramente como sa?
Esse thread do SQL Server Central sugere até mesmo que alterá-lo pode afetar os trabalhos existentes do agente SQL e outras coisas; isso é uma preocupação? Ou apenas se alguém tiver codificado a conta SA em um pacote SSIS ou algo assim?
(Caso seja importante, usamos contas de domínio para o serviço SQL e serviço de agente SQL e contas de proxy de domínio para trabalhos que chamam pacotes SSIS ou scripts do PowerShell.)
P2: Posso alterar a senha do sa da maneira "normal"?
Posso redefini-la como faria com qualquer outra conta? Usando SSMS, ou mais provavelmente via:
ALTER LOGIN sa WITH PASSWORD = 'newpass';
Ou eu teria que entrar no modo de usuário único ou algo que exigiria um tempo de inatividade planejado? (Observe que eu estaria executando isso de uma conta de domínio, não enquanto conectado como "sa".)
Q3: Devemos tentar fazer essa rotação de senha regularmente? Ou apenas quando encontramos um problema?
Esta é uma "melhor prática" recomendada?
Não, mas alterar o modo de autenticação sim. Como você está apenas alterando a senha e o modo de autenticação já está definido como misto, basta alterar a senha.
Sim, é apenas mais uma conta SQL Login.
Para ser bem honesto, eu desabilitaria e renomearia o login SA. Dessa forma, ele não será usado e, se você precisar de um login altamente privilegiado, poderá fazer um conforme necessário.
Esta é uma questão de fechar a porta do celeiro depois que os cavalos já fugiram.
Você deveria ter renomeado e desabilitado a conta sa quando criou a instância.
Fonte
Se você está mantendo a conta 'sa' como uma forma de emergência para obter acesso ao SQL, existem maneiras mais seguras, veja: Conecte-se ao SQL Server quando os administradores do sistema estão bloqueados Se você não tiver acesso à conta de rede, terá problemas maiores do que não ser capaz de se conectar ao SQL.