Limite Lista de banco de dados para aqueles com permissão SQL Server
-
03-07-2019 - |
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,
- MyDatabase
- YourDatabse
- PrivateDatabase
- 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.
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.