Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come disabilitare SQL Server Management Studio per un utente

Puoi utilizzare DENY VIEW ANY DATABASE comando per l'utente o gli utenti particolari. Questa è una nuova funzionalità disponibile in SQL Server 2008.

Impedisce all'utente di vedere il catalogo di sistema (sys.databases, sys.sysdatabases, ecc.) e quindi rende il DB invisibile a loro in SQL Management Studio (SSMS).

Esegui questo comando dal database principale:

DENY VIEW ANY DATABASE TO 'loginName'

L'utente è ancora in grado di accedere al database tramite l'applicazione. Tuttavia, se accedono tramite SSMS, il tuo database non verrà visualizzato nell'elenco dei database e se aprono una finestra di query, il tuo database non verrà visualizzato nel menu a discesa.

Tuttavia, questo non è infallibile. Se l'utente è abbastanza intelligente da eseguire il comando Query:

USE <YourDatabaseName>

Quindi vedranno il database nel Query Analyzer.

Dato che questa soluzione ti sta portando lì al 90%, darei al database un nome oscuro per non far conoscere agli utenti il ​​nome del database.