Answers:
您可以GRANT
对所有存在于该架构中的一切以及将存在于该架构中的一切都有效的架构许可权。
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: <schema> TO <user>;
除此之外,如果您想要然后拒绝对该模式中的某个对象的权限,则可以执行。
DENY INSERT ON OBJECT::<schema>.<object> TO <user>;
为了进一步简化,您可以使用角色来完成所需的工作。
为角色分配权限后,就可以将用户添加到角色中。这样,您不必管理单个用户的权限。用户继承授予角色的权限。
下面是一个让您入门的示例:
-- Create the database role
CREATE ROLE TableSelector AUTHORIZATION [dbo]
GO
---- Grant access rights to a specific schema in the database
GRANT
SELECT, INSERT, UPDATE, DELETE, ALTER
ON SCHEMA::dbo
TO TableSelector
GO
-- Add an existing user to the new role created
EXEC sp_addrolemember 'TableSelector', 'MyDBUser'
GO
-- Revoke access rights on a schema from a role
DENY ALTER -- you can customize here ...
ON SCHEMA::dbo
TO TableSelector
.... SCHEMA :: [schema] TO [company-name/joshua.duxbury]