Где данные разрешения хранятся в SQL Server?

3 ответа

Попробуйте их:

В базе данных "Master":

sys.syslogins
sys.sysusers
sys.sql_logins

Я думаю, что INFORMATION_SCHEMA.TABLE_PRIVILEGES является только списком того, чему позволяют быть предоставленным, и кого.

Существует a sys.syspermissions таблица, но это дико ужасно для взгляда на, и я не совершенно уверен, что это хранит.

Править: Это не ни одно из вышеупомянутого. Вместо этого это точно именовано sys.database_permissions таблица. Теперь я чувствую себя глупым.

1
ответ дан 3 December 2019 в 19:49
  • 1
    sys.database_permissions похож на it' s тот.Спасибо. И святые дымы, что sys.syspermissions довольно ужасен! –  Sean Howat 25 March 2010 в 17:51

Полномочия уровня сервера хранятся во внутренних таблицах, выставленных посредством sys.server_premissions представления каталога.

Полномочия уровня базы данных хранятся во внутренних таблицах, выставленных посредством sys.database_permissions представления каталога.

Сессия может проверить свои полномочия путем опроса встроенной fn_my_permissions функции таблицы.

Чтобы проверить, имеет ли сессии определенное разрешение, используйте функцию HAS_PERMS_BY_NAME.

2
ответ дан 3 December 2019 в 19:49
  • 1
    Хороший материал. Это функция HAS_PERMS_BY_NAME должно помочь мне разыскать некоторые другие данные полномочий I' m любопытный на предмет.Спасибо. –  Sean Howat 26 March 2010 в 15:43

Я выглядел бы первым в основной базе данных. Попробуйте INFORMATION_SCHEMA.TABLE_PRIVILEGES.

0
ответ дан 3 December 2019 в 19:49

Теги

Похожие вопросы