SQL: Ограничить просмотр таблиц в базе данных

SQL: Ограничить просмотр таблиц в базе данных

Это, вероятно, нет, но я хочу быть уверен. Клиент хочет подключиться к SQL Server 2008, который мы размещаем. Он будет получать доступ к таблице, чтобы выполнить пакет SSIS, чтобы скопировать некоторые данные из своей базы данных в нашу базу данных. Я беспокоюсь о безопасности. Теперь я прочитал некоторые сообщения о том, как ограничить пользователя, чтобы он мог видеть только одну базу данных. Однако я хочу спросить, можно ли это сделать для таблиц внутри базы данных. То есть можно ли настроить его так, чтобы пользователь мог видеть только те таблицы, с которыми ему нужно работать в Management Studio?

решение1

Да, можно, вот так:

GRANT [Permission] ON [SchemaName].[TableName] to [UserName]

Где [Permission]находится SELECT, UPDATE, DELETE, или INSERT. Вы также можете использовать DENYвместо , GRANTчтобы отменить разрешения.

Дальнейшее чтение:https://msdn.microsoft.com/en-us/library/ms188371.aspx

решение2

В дополнение к ответу imtheman, который хорош, вы также можете сделатьсоздать видкоманда, которая позволяет им взаимодействовать только с теми столбцами, которые вы хотите, чтобы они видели. Все остальные столбцы даже не присутствуют.

См. эту статью Microsoft MSDN: https://msdn.microsoft.com/en-us/library/ms187956.aspx

Связанный контент