Pergunta

Por padrão, se você conectar a um SQL Server remoto através de uma conta que tenha acesso a dizer uma das 10 bases de dados. Você ainda vai ver no Object Explorer todos os outros bancos de dados, obviamente, devido às permissões que você não pode realmente consultá-los, mas você pode ver seus nomes.

Ouvi dizer que há um método que desativar esse comportamento, mas eu fui incapaz de encontrar a resposta, Alguém sabe como fazer isso? Para dar um exemplo, eu tenho um SQL Server chamado MyDbServer, tem 4 bancos de dados,

  1. MyDatabase
  2. YourDatabse
  3. PrivateDatabase
  4. ReallyPrivateDb

Se você conectar através de uma conta que tem apenas permissões para "YourDatabse" você ainda vai ver uma lista de todos os outros bancos de dados, tenta consultar concederá "selecione" permissão negada ou um erro semelhante.

Para resons de segurança, não queremos que os usuários vejam qualquer banco de dados que não sejam os que estão mapeados para.

Foi útil?

Solução

fala Este blog cerca de métodos para esconder DBs para o SQL 2000 e SQL 2005.

Outras dicas

Depois de ter a minha luta cliente com os recursos identificados Eu fiz alguns testes e criou este blog postagem com um pouco mais de contexto e instruções sobre como obter esse trabalho.

A curto do que é:

use master
go
deny VIEW any DATABASE to login1
go

onde login1 é a conta de login que deseja limite.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top