2015-11-17 6 views
1
select 'GRANT '+permission_name+' ON ASSEMBLY::['+ sa.name +'] to 
['+user_name(dp.grantee_principal_id)+'] ;' from 
sys.database_permissions dp inner join sys.certificates sa on 
sa.certificate_id = dp.major_id 
+0

Я получаю сопоставление не может reslove error –

ответ

0

Возможно, это сработает.

select 'GRANT '+permission_name+' ON ASSEMBLY::['+ sa.name +'] to 
['+user_name(dp.grantee_principal_id)+'] ;' 
from sys.database_permissions dp inner join sys.certificates sa on 
sa.certificate_id COLLATE DATABASE_DEFAULT = dp.major_id COLLATE DATABASE_DEFAULT 
+0

Непосредственно размещенная позиция сортировки в конце. – jarlh

+0

Благодарим за упоминание – Vollmilchbb

0

Необходимо добавить COLLATE DATABASE_DEFAULT в СОЕДИНЕНИЯх.

SELECT 'GRANT '+permission_name+' ON ASSEMBLY::['+ sa.name +'] to ['+user_name(dp.grantee_principal_id)+'] ;' 
FROM sys.database_permissions dp 
INNER JOIN sys.certificates sa ON sa.certificate_id COLLATE DATABASE_DEFAULT = dp.major_id COLLATE DATABASE_DEFAULT 
Смежные вопросы