Sql-Server
將使用者添加到具有所需權限的sql server
在我的 sql server express 2008 r2 中,我有大約 15 個登錄帳戶。現在我希望大約 5 個使用者擁有完全權限,而其他 5 個使用者對某些數據庫的訪問權限有限,而其他使用者只有讀取權限。將來我可能還會添加其他使用者。所以我想以一種簡單的方式來做這件事,而不是為每個使用者授予權限,因為每次創建新使用者時都需要對每個數據庫授予權限。那麼我可以創建一組規則或組,然後將新使用者添加到該組或規則中嗎?我在 sql server 中有什麼設施可以實現這一點嗎?
使用數據庫角色。數據庫角色是特定於數據庫的(顯然),因此您無法創建一個同時授予多個數據庫權限的角色。但是,在數據庫中,您可以通過 GUI 或使用命令創建角色
CREATE ROLE <rolename>
。創建完成後,您可以像授予使用者一樣授予角色權限。然後將使用者添加到該角色。同樣,您可以使用 GUI 或命令EXEC sp_addrolemember '<rolename>','<username>'
。最後但並非最不重要的一點是,在伺服器和數據庫級別都有一些預定義的角色。(您不能在 SQL 2008 中創建伺服器角色。)您不能更改預定義的角色,但除其他外,還有 db_datareader 授予數據庫中每個表的 SELECT 權限。哦,您可以將使用者定義的角色添加到預定義的角色中。所以你可以創建一個角色MyReadOnlyRole
並將其添加到db_datareader
然後授予它對各種儲存過程、函式等的 EXECUTE 權限。或者為此對數據庫本身授予 EXECUTE 權限。(這允許在數據庫中執行任何 SP、函式等。)