所以我正在做这个SQL SERVER学校项目,我想添加到特定的用户选择有限的时间的权利可以说直到2016年9月24日。 是否有可能,如果是的如何? 感谢!您可以在有限的时间内授予对sql server中所有表的选择权限吗?
-4
A
回答
-1
您可以创建一个日期数据类型的新列,并调用它结束日期。您可以将2016年9月24日插入结束日期对于用户和(取决于您如何访问它)只需使用if
声明比较当前日期和结束日期。例如: -
if(CURDATE() < endDate)
-1
我会写,将在该撤销用户的正确的日期运行作业。
我不会修改模式来处理一次性案件。对数据库权限的控制应该在数据库的外部。
0
没有规定在有限的时间内授予访问权限。
祝你好运。
+0
当有人提到SQL Server中的时间依赖活动时,有一件事情是您想到的是SQL Server代理,我想我已经找到了解决此问题的方法,请参阅我的答案: ) –
0
我能想到的唯一方法是创建SQL Server Agent Job
。
- 创建工作一个2个步骤将用户添加到数据库角色
db_datareader
然后anotehr一步带走该用户的角色成员。
授予用户的权限应该看起来像
IF (GETDATE() >= '2016-09-24 08:58:59.000'
AND GETDATE() <= '2016-09-24 09:01:00.000')
BEGIN
EXEC sp_addrolemember N'db_datareader', N'UserA'
END
第二步撤销用户的权限应该看起来像
IF (GETDATE() >= '2016-09-24 16:58:59.000')
BEGIN
EXEC sp_droprolemember N'db_datareader', N'UserA'
END
的步骤
- 安排工作每天运行两次。每8小时发生一次。假设你只希望用户访问8小时。
- 在开始日期和结束日期选项中使用
24 September 2016
。因此,该作业仅在该日期执行,并且从不在该日期之前或之后执行。 - 确保出现次数与每个步骤的IF语句中的逻辑匹配。
- 作业数据库上下文应该是用户需要权限的数据库。
相关问题
- 1. SQL Server 2008授予选择权限
- 2. 如何授予访问权限以更改所有SQL表的权限?
- 3. 在SQL Server中授予ReadOnly权限(nolock)
- 4. 授予权限创建表 - SQL Server
- 5. 在SQL Server 2008上授予用户有限权限
- 6. 授予所有用户mysql的权限?
- 7. 授予SQL Server 2005的权限
- 8. SQL Server 2008授予information_schema.columns的权限
- 9. 如何向SQL Server 2008实例授予所有用户权限?
- 10. 如何授予对SQL Server 2005中sysprocesses的有限访问权限?
- 11. SQL权限/安全性 - 我可以授予对使用另一个未授予权限的视图的“选择”权限吗?
- 12. 在API 23没有写权限,但所有所需的权限授予
- 13. Oracle:用户可以查看授予他们的权限以及授予他们对象的权限吗?
- 14. SharePoint:您无法授予有限的访问权限级别
- 15. 如何授予在Oracle中授予权限的权限
- 16. 如何授予Sharepoint中有限的“管理权限”权限?
- 17. SQL Server - 如何授予所有数据库的读取权限以登录?
- 18. 授予的权限数据库中的所有对象 - Postgres的
- 19. 如何将权限授予SQL Server FileTable
- 20. SQL Server 2008 Express授予用户权限
- 21. SQL Server:授予所有用户对数据库的读取访问权限
- 22. 授予MySQL用户有限权限
- 23. 我可以向某人授予有限访问Azure帐户的权限吗?
- 24. 授予Oracle授予权限
- 25. Oracle权限授予SQl Plus
- 26. 对SQL Server用户的有限权限
- 27. 显示我没有被授予访问权限的表在SQL Server中
- 28. 如何授予数据库中所有表的某些权限?
- 29. 授予数据库中所有表的权限SYBASE
- 30. 选择并更新授予权限oracle
您有上面潜在的3种不同的sql server技术。为您的服务器命名并删除其他标记 – Drew