Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como desabilitar o SQL Server Management Studio para um usuário


Você pode usar o NEW VIEW ANY DATABASE comando para o(s) usuário(s) específico(s). Este é um novo recurso disponível no SQL Server 2008.

Ele impede que o usuário veja o catálogo do sistema (sys.databases, sys.sysdatabases, etc.) e, portanto, torna o banco de dados invisível para eles no SQL Management Studio (SSMS).

Execute este comando no Master Database:
DENY VIEW ANY DATABASE TO 'loginName'

O usuário ainda pode acessar o banco de dados por meio de seu aplicativo. No entanto, se eles fizerem login por meio do SSMS, seu banco de dados não aparecerá na lista de bancos de dados e, se abrirem uma janela de consulta, seu banco de dados não aparecerá na lista suspensa.

No entanto, isso não é infalível. Se o usuário for inteligente o suficiente para executar o comando de consulta:
USE <YourDatabaseName>

Em seguida, eles verão o banco de dados no Query Analyzer.

Como esta solução está levando você 90% até lá, eu daria ao banco de dados algum nome obscuro para que os usuários não soubessem o nome do banco de dados.