Как создать таблицу разрешений, предоставленных таблицам базы данных для пользователя базы данных?

У меня есть база данных SQL Server 2000 примерно с парой сотен таблиц. Есть несколько учетных записей пользователей SQL, которые могут получить доступ к этой базе данных, но каждая из них имеет разные разрешения, предоставленные для таблиц в базе данных.

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

Table      SELECT   DELETE   UPDATE    INSERT    ALTER
-----      ------   ------   ------    ------    -----
Invoices   Yes      No       Yes       Yes       No
Orders     Yes      Yes      Yes       Yes       No
Customers  Yes      No       Yes       Yes       No

и так далее. Сегодня пятница, мой SQL-fu сегодня низкий, и у меня есть еще миллион дел, прежде чем я закончу здесь сегодня, и если бы у кого-то уже был удобный скрипт для этого, я был бы бесконечно благодарен :)

Я откатил это назад, sql - вполне приемлемый тег, потому что это проблема как SQL, так и SQL Server

Kev 17.10.2008 21:01
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
2 442
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я не уверен, работает ли эта процедура для SQL 2000 или нет, она не определяет точный формат, но может помочь вам в этом, можете ли вы развернуть ее, чтобы получить свой формат.

sys.sp_helprotect @Username = 'myUser'
Ответ принят как подходящий
Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

Это будет работать на SQL-сервере 2000/2005/2008

Другие вопросы по теме