sql >> Databáze >  >> RDS >> Sqlserver

Jak zakázat SQL Server Management Studio pro uživatele

Můžete použít DENY VIEW ANY DATABASE příkaz pro konkrétního uživatele (uživatele). Toto je nová funkce dostupná v SQL Server 2008.

Zabraňuje uživateli vidět systémový katalog (sys.databases, sys.sysdatabases atd.), a proto pro něj činí DB neviditelnou v SQL Management Studio (SSMS).

Spusťte tento příkaz z hlavní databáze:

DENY VIEW ANY DATABASE TO 'loginName'

Uživatel má stále přístup k databázi prostřednictvím vaší aplikace. Pokud se však přihlásí pomocí SSMS, vaše databáze se nezobrazí v seznamu databází a pokud otevřou okno dotazu, vaše databáze se v rozevíracím seznamu nezobrazí.

To však není spolehlivé. Pokud je uživatel dostatečně chytrý, aby spustil příkaz Query:

USE <YourDatabaseName>

Poté uvidí databázi v Query Analyzer.

Vzhledem k tomu, že toto řešení vás zavede z 90 %, dal bych databázi nějaké nejasné jméno, aby uživatelé neznali název databáze.



  1. Proč použití stejného pole při filtrování způsobí různou dobu provádění? (různé použití indexu)

  2. MySQL INSERT INTO s dvojí podmínkou pro IF NOT EXIST

  3. Iterujte schémata MySQL

  4. Oprava Flyway vyvolá výjimku FlywaySqlException s Oracle DB