terça-feira, 23 de novembro de 2010

Alterando o banco de dados padrão (default database) de um login

Todo login criado em um servidor SQL Server possui um banco de dados padrão (opção default database) configurado.

Este será o banco de dados ao qual o usuário irá se conectar sempre que não passar o banco de dados desejado no momento da conexão (como ocorre ao conectar-se utilizando o SQL Server Management Studio ou o Enterprise Manager)

Esta configuração pode impedir que o usuário se conecte ao servidor através das interfaces de gerenciamento (SSMS / Enterprise Manager / Query Analyzer) caso o banco de dados associado seja excluído. Neste caso, a mensagem "Cannot open user default database. Login failed" é exibida durante a tentativa de logon, como no exemplo abaixo:

"Cannot open user default database. Login failed"

Para contornar este problema, será necessário conectar-ser com outro usuário (cujo banco de dados padrão não tenha sido excluído) e executar a procedure sp_defaultdb, que configura o banco de dados padrão para um determinado usuário. 

Deve-se utilizar a seguinte sintaxe para esta procedure:

sp_defaultdb 'username', 'database'

Após a reconfiguração o usuário em questão passará a ter o banco de dados padrão informado.

Para evitar que este problema aconteça, é recomendado associar usuários a um banco de dados cuja exclusão seja pouco provável. O banco master pode ser uma alternativa para evitar este problema (lembrando que os usuários normais não devem ter permissões de alteração neste banco).

Nenhum comentário:

Postar um comentário