如何授予用户定义的服务器角色权限?

时间:2020-05-02 04:50:20

标签: sql-server

我已经解决了这个问题:

编写一个脚本,该脚本在AP数据库中创建一个名为VendorMaintenance的用户定义角色。在“供应商”表上授予该角色的更新权限,在“发票”和“ InvoiceLineItems”表上授予“选择”权限。将VendorMaintenance角色分配给dbMaster。

我仔细阅读了教科书,提出了这个错误的解决方案。

USE AP
GO

CREATE SERVER ROLE VendorMaintenance
GO

GRANT UPDATE
ON Vendors
TO VendorMaintenance
GO

GRANT SELECT
ON Invoices 
TO VendorMaintenance
GO

GRANT SELECT
ON InvoiceLineItems 
TO VendorMaintenance
GO

ALTER SERVER ROLE VendorMaintenance ADD MEMBER dbMaster
GO

它表示VendorMaintenance不是用户,不是用户。但我需要向角色授予这些权限,然后将用户分配给该角色。还有写这个更好的方法吗?

1 个答案:

答案 0 :(得分:0)

对于用户定义的database role,语法如下。该角色将在当前数据库上下文中创建。

USE AP;
GO

CREATE ROLE VendorMaintenance;
GO

CREATE SERVER ROLE创建一个用户定义的server role,用于授予服务器范围的权限,而不是数据库范围内的对象的权限。

相关问题