Pra quem não sabe o que é sobre o que é case (in)sensitive clique aqui
Olá,
Agorinha recebi um pedido pra criação de login/senha.
Código:
CREATE LOGIN UserAPP WITH PASSWORD = 'UserAPP$1_.', CHECK_POLICY=OFF
E concedi as permissões necessárias para o programador (aqui chamado de bro) realizar o teste em desenvolvimento.
No telefone:
Eu: testa aí por favor.
Bro: cara, não deu certo não.
Eu: Fiz o teste em minha máquina e funcionou…(carregando o errorlog)
Bro: Aqui continua dando erro, olha, tentei cinco vezes. O login no SQL Server é INSENSITIVO né?
Eu: Depende do Collate do servidor SQL, aí no caso de desenvolvimento, é Latin1_General_CI_AI, que é insensitivo.
Bro: Cara, então não sei o que é, na boa, não consigo logar.
Eu: *depois de ler o errorlog* e a senha, como é que tá? Tudo em minúsculo?
Bro: sim, porque?
Pedi pra que ele capitalizasse o que precisa ser capitalizado (algumas letras da senha estão em maiúsculo).
Aí vem a pergunta mais que óbvia: Mas a instância não é case insensitive?
É sim! Nesse caso especificamente, tanto faz se o login estiver UserAPP, USERAPP,UsErApP, ambos vão funcionar, exceto se o collate do servidor estiver configurado de algum modo para SENSITIVE. No caso de senhas, por funcionamento interno do SQL Server (leia-se, transformação da senha para hash, que é um procedimento interno que garante segurança das autenticações) seu texto SERÁ SENSITIVO independente do seu collate ou da versão do SQL Server.
Curiosidade leve, mas, pode ser útil pra alguém 🙂
Boa lembrança Renato,
Você tem posts pontuais! Parabéns 🙂
Valeu Raul!