管理SQL Server許可的兩種方式
SQL Server企業(yè)管理器和Transaction-SQL語句都可以管理SQL Server許可下面就為您分別介紹這兩種管理SQL Server許可的方式,供您參考。
SQL Server可通過兩種途徑:即面向單一用戶和面向數(shù)據(jù)庫對(duì)象的許可設(shè)置,來實(shí)現(xiàn)對(duì)語句許可和對(duì)象許可的管理,從而實(shí)現(xiàn)對(duì)用戶許可的設(shè)定。
(1)面向單一用戶的許可設(shè)置。
展開指定的數(shù)據(jù)庫,單擊用戶圖標(biāo),開盤數(shù)據(jù)恢復(fù),右擊進(jìn)行設(shè)置SQL Server許可的用戶,選擇“屬性”,單擊“權(quán)限”進(jìn)行設(shè)置即可。在“數(shù)據(jù)庫角色成員”中選擇任何一個(gè)數(shù)據(jù)庫角色實(shí)際上就完成了用戶語句許可的設(shè)置。
(2)面向數(shù)據(jù)庫對(duì)象的許可設(shè)置。
展開指定的數(shù)據(jù)庫,選擇需要設(shè)置的對(duì)象,右擊該對(duì)象,選擇“all tasks-管理權(quán)限”,設(shè)置相應(yīng)的對(duì)象許可后,單擊“確定”即可。
可以看出,對(duì)象屬性對(duì)話框與前面的數(shù)據(jù)庫用戶屬性對(duì)話框極為類似,在數(shù)據(jù)庫用戶屬性對(duì)話框中,是為某一用戶設(shè)置其對(duì)當(dāng)前數(shù)據(jù)庫的所有對(duì)象的訪問許可,而在對(duì)象屬性對(duì)話框中,是為某一數(shù)據(jù)庫對(duì)象設(shè)置當(dāng)前數(shù)據(jù)庫所有用戶對(duì)其的訪問許可。
2.使用Transaction-SQL語句
transaction-SQL語句使用grant、revoke和deny三種命令來管理權(quán)限。 Grant語句用把許可授予某一用戶,以允許該用戶執(zhí)行針對(duì)該對(duì)象的操作或允許其運(yùn)行某些語句,語法形式如下:
(1)對(duì)語句的許可:
Grant {all | statement[,...n]} to security_accout[,...n]
(2)對(duì)對(duì)象的許可:
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參數(shù)表示具有所有的語句或?qū)ο髾?quán)限。對(duì)于語句權(quán)限來說,只有sysadmin角色才具有所有的語句權(quán)限。對(duì)于對(duì)象權(quán)限來說,只有sysadmin和db_owner角色才具有訪問某一數(shù)據(jù)庫所有對(duì)象的權(quán)限。SQL Server許可的授權(quán)可以累加,用戶可以執(zhí)行授予他們的單個(gè)操作許可,以及因?qū)儆谀硞€(gè)角色而具有的操作許可。
【編輯推薦】
SQL Server同步復(fù)制的實(shí)現(xiàn)
SQL Server數(shù)據(jù)復(fù)制的三種方法