我有一个 Azure Sql Server,我想在其中更改一些用户、角色和架构。这适用于 Sql 查询,但我无法打开“属性”窗口。
但是在我的本地和本地 Sql 服务器上,我可以毫无问题地查看它
在哪里可以启用 Azure 上的属性窗口?
我尝试过 ssms 2012、2014、2016 和 2017
最佳答案
目前在 Azure 中,您只能使用 SQL 脚本更改这些属性。非常烦人和不必要的复杂。设置权限后查看权限也是如此 - 仅限 SQL。
我发现以下 SQL 脚本有助于检查设置的权限
SELECT DISTINCT pr.principal_id, pr.name AS [UserName],
pr.type_desc AS [User_or_Role],
pr.authentication_type_desc AS [Auth_Type], pe.state_desc,
pe.permission_name, pe.class_desc, o.[name] AS 'Object'
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id
LEFT JOIN sys.objects AS o on (o.object_id = pe.major_id)
select m.name as Member, r.name as Role
from sys.database_role_members
inner join sys.database_principals m on
sys.database_role_members.member_principal_id = m.principal_id
inner join sys.database_principals r on
sys.database_role_members.role_principal_id = r.principal_id
SELECT DP1.name AS DatabaseRoleName,
isnull (DP2.name, 'No members') AS DatabaseUserName
FROM sys.database_role_members AS DRM
RIGHT OUTER JOIN sys.database_principals AS DP1
ON DRM.role_principal_id = DP1.principal_id
LEFT OUTER JOIN sys.database_principals AS DP2
ON DRM.member_principal_id = DP2.principal_id
WHERE DP1.type = 'R'
ORDER BY DP1.name;
SELECT p.name, prm.permission_name, prm.class_desc,
prm.state_desc, p2.name as 'Database role',
p3.name as 'Additional database role'
FROM sys.database_principals p
JOIN sys.database_permissions prm
ON p.principal_id = prm.grantee_principal_id
LEFT JOIN sys.database_principals p2
ON prm.major_id = p2.principal_id
LEFT JOIN sys.database_role_members r
ON p.principal_id = r.member_principal_id
LEFT JOIN sys.database_principals p3
ON r.role_principal_id = p3.principal_id
WHERE p.name <> 'public'
关于sql-server - 无法查看 Azure Sql Server 上的用户、角色和架构的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44758991/