Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да деактивирате SQL Server Management Studio за потребител

Можете да използвате ОТКАЗВАНЕ НА ПРЕГЛЕД НА ВСЯКА БАЗА ДАННИ команда за конкретен потребител(и). Това е нова функция, налична в SQL Server 2008.

Той не позволява на потребителя да вижда системния каталог (sys.databases, sys.sysdatabases и т.н.) и следователно прави DB невидим за тях в SQL Management Studio (SSMS).

Изпълнете тази команда от главната база данни:

DENY VIEW ANY DATABASE TO 'loginName'

Потребителят все още има достъп до базата данни чрез вашето приложение. Ако обаче влязат през SSMS, вашата база данни няма да се покаже в списъка с бази данни и ако отворят прозорец за заявка, вашата база данни няма да се появи в падащото меню.

Това обаче не е безупречно. Ако потребителят е достатъчно умен, за да изпълни командата за заявка:

USE <YourDatabaseName>

След това те ще видят базата данни в анализатора на заявки.

Тъй като това решение ви отвежда 90% там, бих дал на базата данни някакво неясно име, за да не позволява на потребителите да знаят името на базата данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Къде се записва задействане на сървър в SQL Server?

  2. Проверете дали съществува временна таблица и изтрийте дали съществува, преди да създадете временна таблица

  3. Как да конвертирате цяло число (време) в HH:MM:SS::00 в SQL Server 2008?

  4. Как да проследя броя на промените, настъпили в колона? T-SQL - SQL сървър

  5. JPA съставен първичен ключ