sql-server - 无法查看 Azure Sql Server 上的用户、角色和架构的属性

标签 sql-server azure ssms

我有一个 Azure Sql Server,我想在其中更改一些用户、角色和架构。这适用于 Sql 查询,但我无法打开“属性”窗口。 AzureRoleProperties

但是在我的本地和本地 Sql 服务器上,我可以毫无问题地查看它 LocalRoleProperties

在哪里可以启用 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/

相关文章:

sql-server - SQL Server 截断表后继续标识计数

sql - 在 SQL 中选择直到第二个下划线的子字符串

c# - HTTP 处理程序的相同 Asp.net 表单例份验证

Azure 批量定价可在一小时内扩大和缩小规模

visual-studio - Visual Studio 无法检索服务 'Microsoft.VisualStudio.WindowsAzure.Authentication.IAzureRMTenantService'

sql - 将 SQL Server Express 数据库导出到 .SDF 文件(本地数据库)

sql-server - 如何在 SSMS 结果中搜索字符串/子字符串?

sql-server - SQL Server 版本升级和缓存执行计划

sql - 为 SP 传递负值

c++ - Microsoft 如何保护例如 Sql Server 二进制文件免受逆向工程?