Domanda

Per impostazione predefinita, se ci si connette a un SQL Server remoto tramite un account che ha accesso a dire 1 dei 10 database. Vedrai comunque in Esplora oggetti tutti gli altri database, ovviamente a causa delle autorizzazioni che non puoi effettivamente interrogarli, ma puoi vedere i loro nomi.

Ho sentito che esiste un metodo che disabilita questo comportamento, ma non sono stato in grado di trovare la risposta, qualcuno sa come farlo? Per fare un esempio ho un SQL Server chiamato MyDbServer, ha 4 database,

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

Se ti connetti tramite un account che dispone solo delle autorizzazioni per " YourDatabse " visualizzerai comunque un elenco di tutti gli altri database, i tentativi di interrogazione consentiranno di "selezionare " permesso negato o errore simile.

Per i reson di sicurezza, NON Vogliamo che gli utenti vedano alcun database diverso da quelli a cui sono associati.

È stato utile?

Soluzione

Questo blog parla dei metodi per nascondersi DB per SQL 2000 e SQL 2005.

Altri suggerimenti

Dopo aver avuto difficoltà con il mio cliente con le risorse identificate, ho fatto alcuni test e creato questo post sul blog con un po 'più contesto e istruzioni su come farlo funzionare.

Il corto è:

use master
go
deny VIEW any DATABASE to login1
go

dove login1 è l'account di accesso che si desidera limitare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top