我已经解决了这个问题:
编写一个脚本,该脚本在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
不是用户,不是用户。但我需要向角色授予这些权限,然后将用户分配给该角色。还有写这个更好的方法吗?
答案 0 :(得分:0)
对于用户定义的database role,语法如下。该角色将在当前数据库上下文中创建。
USE AP;
GO
CREATE ROLE VendorMaintenance;
GO
CREATE SERVER ROLE
创建一个用户定义的server role,用于授予服务器范围的权限,而不是数据库范围内的对象的权限。