SQL Server Management Studio,初学者

时间:2016-10-24 00:36:16

标签: sql-server

所以,我有这个问题: 使用以下查询来确定suzie和jimmy的principle_id值。

 select *
 from sys.database_principals
 where name in ('suzie','jimmy')

使用从上面的查询中获得的principle_id值;使用。编写SELECT查询 sys.database_permissions表,列出已授予suzie和jimmy的所有权限。

我得到的校长身份是“5& 6”

然后我用了:

SELECT*
FROM sys.database_permissions
WHERE grantee_principal_id in ('5','6')

现在问题是我们现在要求您在查询中使用OBJECT_NAME功能来显示视图名称,而不仅仅是他们的 major_id值。我不太明白如何使用OBJECT_NAME功能,我一直在玩,无法得到它。任何提示或帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

你在找这样的东西吗?

grator_principal_id将返回这些主要授予的所有对象,而grantee_Prinicipal_id将返回授予Suzie和Jimmy 的所有对象 {{3 }}

SELECT *
     ,OBJECT_NAME(major_id) AS TheObject
FROM sys.database_permissions
WHERE grantor_principal_id in (select principal_id
                               from sys.database_principals
                               where name in ('suzie','jimmy'))