Pregunta

Por defecto, si se conecta a un servidor SQL remoto a través de una cuenta que tiene acceso a decir 1 de las 10 bases de datos. Aún verás en el Explorador de objetos todas las demás bases de datos, obviamente debido a los permisos no puedes consultarlas, pero puedes ver sus nombres.

He oído que hay un método que deshabilita este comportamiento, pero no he podido encontrar la respuesta. ¿Alguien sabe cómo hacerlo? Para dar un ejemplo, tengo un servidor SQL llamado MyDbServer, tiene 4 bases de datos,

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

Si se conecta a través de una cuenta que solo tiene permisos para " YourDatabse " seguirá viendo una lista de todas las demás bases de datos, los intentos de consulta otorgarán " seleccione " permiso denegado o un error similar.

Para las resons de seguridad, NO queremos que los usuarios vean ninguna base de datos que no sea la que están asignadas.

¿Fue útil?

Solución

Este blog habla sobre los métodos para ocultarse DBs para SQL 2000 y SQL 2005.

Otros consejos

Después de que mi cliente luchara con los recursos identificados, hice algunas pruebas y creé esta publicación de blog con un poco más de contexto e instrucciones sobre cómo hacer que esto funcione.

Lo que falta es:

use master
go
deny VIEW any DATABASE to login1
go

donde inicio de sesión1 es la cuenta de inicio de sesión que desea limitar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top