Estou vendo milhares de linhas em nosso log de erros sobre logins com falha:
Erro: 18456, Gravidade: 14, Estado: 38.
Falha no login do usuário 'Nossaempresa\minhaconta'.
Razão: Falha ao abrir o banco de dados explicitamente especificado 'mydatabase'. [CLIENTE: 10.nn.nn.nn]
Alguns de nossos usuários não têm acesso a todos os bancos de dados do servidor. Quando desligo o Intellisense em SSMS -> Ferramentas -> Opções -> Editor de texto -> Transact-SQL -> IntelliSense , o spam é interrompido.
Isso é um bug no SSMS?
Existem maneiras de contornar isso (além de conceder acesso a todos os bancos de dados)?
Faça com que os usuários atualizem o SSMS. Este foi um bug em uma versão anterior do SSMS2016. No início deste ano, tive o mesmo problema, mas apenas com alguns usuários. Esses usuários não atualizaram seus SSMS. Assim que o fizeram, o problema foi embora. Infelizmente não me lembro qual versão tinha esse problema.
Descobri que, para mim, isso ocorreu depois que coloquei um banco de dados offline (no SQL 2012 SP1), usando o SSMS 2016 (13.0.16100.1).
O Intellisense estava tentando se conectar a esse banco de dados. Ocasionalmente, devido à falha no login, isso resultaria na desativação do meu login do Windows.
Toda vez que eu reiniciei o SSMS e me conectei à instância, uma mensagem de log de erro seria gerada.
Eliminar o banco de dados acabou resolvendo o problema, mas antes disso, nem limpar o cache do Intellisense, nem desligar e ligar novamente o Intellisense funcionariam.
Adicionar novamente o banco de dados e colocá-lo offline novamente causou a recorrência do problema.