|
Контекст выполнения
|
|||
---|---|---|---|
#18+
Здравствуйте! Ms sql 2017 Код: sql 1. 2.
1dbo Код: sql 1.
одна запись sa Код: sql 1.
Код: sql 1.
1dbo Код: sql 1.
перечень всех логинов как я понимаю в обоих случаях одинаковый контекст выполнения к sys.syslogins, но почему там где явно указано возвращается только одна строка ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 11:45 |
|
Контекст выполнения
|
|||
---|---|---|---|
#18+
Алексаша, у меня все отображает. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 12:13 |
|
Контекст выполнения
|
|||
---|---|---|---|
#18+
Алексаша, потому что у вас база "закрыта" trustworthy = 0 и вы выполняете execute as USER ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 12:14 |
|
Контекст выполнения
|
|||
---|---|---|---|
#18+
Алексаша как я понимаю в обоих случаях одинаковый контекст выполнения к sys.syslogins Измените запрос на Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 12:15 |
|
Контекст выполнения
|
|||
---|---|---|---|
#18+
Алексаша как я понимаю в обоих случаях одинаковый контекст выполнения к sys.syslogins Нет, не одинаковый. В первом случае контекст - роль БД, которая вовсе не факт, что обладает всеми полномочиями для просмотра объектов уровня сервера. Во втором - это контекст текущего пользователя, который (скорее всего) sa. Если выполнять запрос не к syslogins (которая deprecated), а к sys.server_principals, то в первом случае будут выведены все стандартные серверные роли+sa (он всегда мапится на dbo), что вполне соответствует документации : Any login can see their own login name, the system logins, and the fixed server roles. To see other logins, requires ALTER ANY LOGIN, or a permission on the login. А вот запрос Код: sql 1. 2. 3.
вполне выводит всех пользователей в базе. Ну, и плюс - вышеуказанный запрос, выполненный в базе master, таки выведет все логины. Подозреваю, ввиду того, что физически логины хранятся в системных таблицах именно базы master. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 12:19 |
|
Контекст выполнения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, вполне выводит всех пользователей в базе. Ну, и плюс - вышеуказанный запрос, выполненный в базе master, таки выведет все логины. Подозреваю, ввиду того, что физически логины хранятся в системных таблицах именно базы master. не выведет. database_principals показывает объекты уровня бд, применительно к базе мастер он покажет юзеров отмапленных в нее, но не логины server_principals в контексте любой бд будет показывать логины сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 12:24 |
|
Контекст выполнения
|
|||
---|---|---|---|
#18+
felix_ff не выведет Под "вышеуказанным" подразумевался запрос топикстартера. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2020, 12:29 |
|
|
start [/forum/topic.php?fid=46&fpage=50&tid=1685716]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 155ms |
0 / 0 |