sql >> Database >  >> RDS >> Sqlserver

Hoe SQL Server Management Studio voor een gebruiker uit te schakelen

U kunt de WIJS ALLE DATABASE WEERGEVEN gebruiken commando voor de specifieke gebruiker(s). Dit is een nieuwe functie die beschikbaar is in SQL Server 2008.

Het voorkomt dat de gebruiker de systeemcatalogus kan zien (sys.databases, sys.sysdatabases, enz.) en maakt de database daarom onzichtbaar voor hen in SQL Management Studio (SSMS).

Voer deze opdracht uit vanuit de Master Database:

DENY VIEW ANY DATABASE TO 'loginName'

De gebruiker heeft nog steeds toegang tot de database via uw applicatie. Als ze echter inloggen via SSMS, wordt uw database niet weergegeven in de lijst met databases en als ze een queryvenster openen, verschijnt uw database niet in de vervolgkeuzelijst.

Dit is echter niet onfeilbaar. Als de gebruiker slim genoeg is om de Query-opdracht uit te voeren:

USE <YourDatabaseName>

Dan zien ze de database in de Query Analyzer.

Aangezien deze oplossing je 90% daar brengt, zou ik de database een obscure naam geven, zodat de gebruikers de naam van de database niet weten.



  1. Zoek of getal is opgenomen in een uitdrukking zoals:1-3,5,10-15,20

  2. MySQL - Stel een kolomnaam in op de ID bij het maken?

  3. hoe toegang krijgen tot mysql externe database

  4. Verschillende meldingen selecteren en een duidelijker meldingsbericht voorbereiden