sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man inaktiverar SQL Server Management Studio för en användare

Du kan använda NEKA VISA NÅGON DATABAS kommando för den eller de specifika användarna. Detta är en ny funktion tillgänglig i SQL Server 2008.

Det hindrar användaren från att se systemkatalogen (sys.databases, sys.sysdatabases, etc.) och gör därför DB:n osynlig för dem i SQL Management Studio (SSMS).

Kör det här kommandot från masterdatabasen:

DENY VIEW ANY DATABASE TO 'loginName'

Användaren kan fortfarande komma åt databasen via din applikation. Men om de loggar in via SSMS kommer din databas inte att visas i listan över databaser och om de öppnar ett frågefönster kommer din databas inte att visas i rullgardinsmenyn.

Detta är dock inte idiotsäkert. Om användaren är smart nog att köra frågekommandot:

USE <YourDatabaseName>

Då kommer de att se databasen i Query Analyzer.

Eftersom den här lösningen tar dig dit till 90 %, skulle jag ge databasen ett okänt namn och inte låta användarna veta namnet på databasen.



  1. AR får egna inlägg och vänner

  2. Det går inte att installera mysqlclient Python-paketet på Windows

  3. Postgres-fel:Mer än en rad returneras av en underfråga som används som uttryck

  4. Django set Storage Engine &Default Charset