Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как посмотреть, имеет ли логин права  [new]
AndrF
Member

Откуда:
Сообщений: 2133
Имеется в виду права, выданные следующим колом:

GRANT UNSAFE ASSEMBLY TO sa


Ну и посмотреть их нужно, в том числе, тоже кодом...
18 ноя 19, 13:15    [22018635]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5090
AndrF,

в sys.server_permissions & sys.database_permissions смотрели?
18 ноя 19, 13:23    [22018646]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
Shakill
Member

Откуда: мск
Сообщений: 1850
AndrF,

если выполнить под проверяемым логином
select p.permission_name from sys.fn_my_permissions(null, 'server') as p
18 ноя 19, 13:25    [22018647]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
AndrF
Member

Откуда:
Сообщений: 2133
Shakill
AndrF,
если выполнить под проверяемым логином


Мне надо из под своего логина...
18 ноя 19, 13:33    [22018662]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
msLex
Member

Откуда:
Сообщений: 7108
AndrF
Shakill
AndrF,
если выполнить под проверяемым логином


Мне надо из под своего логина...


https://docs.microsoft.com/en-us/sql/t-sql/functions/has-perms-by-name-transact-sql?view=sql-server-ver15
18 ноя 19, 13:47    [22018687]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
AndrF
Member

Откуда:
Сообщений: 2133
Не выходит:

SELECT HAS_PERMS_BY_NAME('sa', 'LOGIN', 'UNSAFE ASSEMBLY')


Возвращает NULL

SELECT pr.name, pe.permission_name 
	FROM sys.server_principals pr
		INNER JOIN sys.server_permissions pe
		ON pr.principal_id = pe.grantee_principal_id
	WHERE pr.name = 'sa'


Возвращает только CONNECT SQL
18 ноя 19, 14:14    [22018727]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6719
AndrF
Не выходит:

SELECT HAS_PERMS_BY_NAME('sa', 'LOGIN', 'UNSAFE ASSEMBLY')


Возвращает NULL

SELECT pr.name, pe.permission_name 
	FROM sys.server_principals pr
		INNER JOIN sys.server_permissions pe
		ON pr.principal_id = pe.grantee_principal_id
	WHERE pr.name = 'sa'


Возвращает только CONNECT SQL

наверное потому что sa не нарезать прав?
18 ноя 19, 14:24    [22018743]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
msLex
Member

Откуда:
Сообщений: 7108
execute as login = 'sa'
SELECT HAS_PERMS_BY_NAME(null, null, 'UNSAFE ASSEMBLY');  
revert


Сообщение было отредактировано: 18 ноя 19, 14:27
18 ноя 19, 14:26    [22018745]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
Yasha123
Member

Откуда:
Сообщений: 1721
AndrF
Shakill
AndrF,
если выполнить под проверяемым логином


Мне надо из под своего логина...

ну так и выполняйте под свом, какие проблемы?
еще раз, что у вас выдается, если выполняете
select p.permission_name from sys.fn_my_permissions(null, 'server') as p
18 ноя 19, 14:41    [22018782]     Ответить | Цитировать Сообщить модератору
 Re: Как посмотреть, имеет ли логин права  [new]
AndrF
Member

Откуда:
Сообщений: 2133
TaPaK
наверное потому что sa не нарезать прав?


Как ни странно, но без

автор
GRANT UNSAFE ASSEMBLY TO sa


На нескольких серверах был затык. Впрочем, сейчас все работает - вопрос можно считать снятым.

С версии >=2017 подобных проблем нет - там появилась прекрасная возможность используя sys.sp_add_trusted_assembly обходиться не только без извратов типа SET TRUSTWORTHY ON, но и без сертификатов - меня сей способ больше устраивает...
18 ноя 19, 14:47    [22018790]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить