管理SQL Server許可的兩種方式
SQL Server企業管理器和Transaction-SQL語句都可以管理SQL Server許可下面就為您分別介紹這兩種管理SQL Server許可的方式,供您參考。
SQL Server可通過兩種途徑:即面向單一用戶和面向數據庫對象的許可設置,來實現對語句許可和對象許可的管理,從而實現對用戶許可的設定。
(1)面向單一用戶的許可設置。
展開指定的數據庫,單擊用戶圖標,開盤數據恢復,右擊進行設置SQL Server許可的用戶,選擇“屬性”,單擊“權限”進行設置即可。在“數據庫角色成員”中選擇任何一個數據庫角色實際上就完成了用戶語句許可的設置。
(2)面向數據庫對象的許可設置。
展開指定的數據庫,選擇需要設置的對象,右擊該對象,選擇“all tasks-管理權限”,設置相應的對象許可后,單擊“確定”即可。
可以看出,對象屬性對話框與前面的數據庫用戶屬性對話框極為類似,在數據庫用戶屬性對話框中,是為某一用戶設置其對當前數據庫的所有對象的訪問許可,而在對象屬性對話框中,是為某一數據庫對象設置當前數據庫所有用戶對其的訪問許可。
2.使用Transaction-SQL語句
transaction-SQL語句使用grant、revoke和deny三種命令來管理權限。 Grant語句用把許可授予某一用戶,以允許該用戶執行針對該對象的操作或允許其運行某些語句,語法形式如下:
(1)對語句的許可:
Grant {all | statement[,...n]} to security_accout[,...n]
(2)對對象的許可:
grant { {all [priviledges] | permission[,...n]}
[(column[,...n])] on {table view}
| on {table | view}[(column[,...n)]
| on {stored_procedure | extended_procedure} }
to security_account[,...n]
[as {group | role}]
其中,all參數表示具有所有的語句或對象權限。對于語句權限來說,只有sysadmin角色才具有所有的語句權限。對于對象權限來說,只有sysadmin和db_owner角色才具有訪問某一數據庫所有對象的權限。SQL Server許可的授權可以累加,用戶可以執行授予他們的單個操作許可,以及因屬于某個角色而具有的操作許可。
【編輯推薦】