如何在SQL Server中几个小时拒绝对用户组的写权限

时间:2018-09-17 14:08:29

标签: tsql sql-server-2008

我们每个月底都会运行一堆查询。这些查询将数据从我们的生产数据库存储到报告数据库中。

有一个用户组具有对数据库的读/写访问权限,而我们只想拒绝2小时的写访问权限。是否可以在每个月末使该过程自动化?

1 个答案:

答案 0 :(得分:0)

完成此任务的一种方法是使用2个数据库角色。一个角色是只读权限,另一个角色是写权限。将用户组添加到这两个角色。

然后通过T-SQL在代理作业中,您可以从具有写权限的角色中添加和删除组。

您将使用sp_addrolemember和sp_droprolemember:

两个工作

  • 一个从角色中删除的人

    EXEC sp_droprolemember N'RoleName', N'UserGroupName'
    
  • 另一个添加回角色的

    EXEC sp_addrolemember N'RoleName', N'UserGroupName'
    

频率下的SQL Agent作业计划页面

  • 出现:每月
  • 每1个月的最后一天

将工作计划错开2个小时。