Скрыть таблицы в SQL Server Management Studio (SSMS)

Расширенные свойства

Бывают моменты, когда необходимо показывать не все таблицы БД. Предположим, что у нас есть таблица Person.Address и мы хотим её скрыть:

Для этого нам потребуется добавить расширенное свойство на неё:

После чего результат будет следующим:

Вы можете вернуть видимость таблицы следующим образом:

Я попытался применить расширенное свойство к колонкам и схемам, но так это не работает.

Благодаря расширенным свойствам, вы можете скрыть таблицы из SSMS, не ограничивая к ним доступа.

DENY VIEW DEFINITION

Другим способом скрыть таблицы в SSMS является VIEW DEFINITION:

Теперь пользователь не будет видеть таблицы в SSMS. На самом деле он не сможет получить список таблиц из sys.tables или INFORMATION_SCHEMA.TABLES.

Filtering

Можно воспользоваться фильтром таблиц в любой БД:

Чтобы удалить фильтр необходимо:

Сравнение подходов

VIEW DEFINITION более гибкий. Вы можете ограничить видимость всей схемы или отдельной таблицы. Вы так же можете ограничить view или только одного пользователя или роль. Оно так же влияет на системные view, что хорошо.

С другой стороны, VIEW DEFINITION требует явного запрета доступа. В моей практике были случаи, когда кто-то запретил доступ одним и забыл запретить другим, что вызывало противоречия.

Расширенные свойства более строгие ограничения действуют на всех и не требуют явного запрета для каждого пользователя. Так же расширенные свойства влияют и на sysadmins.

Запись опубликована в рубрике В помощь администратору с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: