所以我正在做這個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