SQL Server排序规则解析

SQL Server排序规则解析,sql,sql-server,collation,Sql,Sql Server,Collation,也许这会奏效 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 您需要在联接中添加COLLATE DATABASE\u

也许这会奏效

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

您需要在联接中添加
COLLATE DATABASE\u 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

我得到的排序规则不能在末尾错误地放置collate子句。
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