16 June 2009 on banco de dados, Sql Management Studio, windows
O pior deles é que, ao se tentar listar os bancos de dados do sistema, e você não tiver permissão para visualizar um deles, o SMS graciosamente te apresentará esta mensagem de erro:
Additional information: An exception occured while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) The server principal "Seiti" is not able to access the database "AlgumBanco" under the current security context. (Microsoft SQL Server, Error: 916)
Como então listar os bancos de dados? Não sou o único nem serei o último a enfrentar este problema, então é claro que alguém já blogou sobre isto e o resolveu, inclusive mais de uma pessoa.
O problema consiste-se nas informações que são apresentadas no Object Explorer Details – para visualizá-lo tecle F7. Note as colunas que existem na visualização padrão: Name, Policy Health State, Recovery Model, Compatibilty Level , Collation *e Owner*.
Observe a coluna Collation. O SMS lista os bancos e verifica as informações que devem constar no Object Explorer Details. Você não tem permissão sobre um dos bancos listados. Mas para saber o collation do banco deve-se ter permissões sobre o mesmo. O SMS entra em pânico, interrompe tudo, deixa de fazer o que deveria e mostra a mensagem de erro acima. Simples.
Como resolver? Clique com o direito sobre os nones das colunas e remova o Collation. O SMS ficará feliz da vida e fará o que devia fazer.
Estou enviando vários deploys de um sistema para produção. Quem realmente deve colocar no ar é o pessoal encarregado…
Creio que qualquer pessoa da área já ficou em dúvida de como definir o próprio trabalho. Programador, engenheiro de…