sqlserver可以通過設置表權限來限制用戶訪問:
10年專注成都網(wǎng)站制作,成都定制網(wǎng)站,個人網(wǎng)站制作服務,為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設計流程、步驟,成功服務上千家企業(yè)。為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及定制高端網(wǎng)站建設服務,專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對圍欄護欄等多個行業(yè),擁有多年的營銷推廣經(jīng)驗。
在Management Studio中的表上右鍵選屬性(Properties),左邊選權限(Permissions),右邊中間添加和選中某個User或Role,下面選中或移除某個權限。同樣你可用標準的賦權語句來實現(xiàn):如
grant/revoke select on 表名 to 用戶名。
-- sqlserver:一、操作步驟
1.
首先進入數(shù)據(jù)庫級別的【安全性】-【登錄名】-【新建登錄名】
(圖1:新建登錄名)
2.
在【常規(guī)】選項卡中,如下圖所示,創(chuàng)建登陸名,并設置默認的數(shù)據(jù)庫。
(圖2:設置選項)
3.
在【用戶映射】選項卡中,如下圖所示,勾選需要設置的數(shù)據(jù)庫,并設置【架構】,點擊【確認】按鈕,完成創(chuàng)建用戶的操作
(圖3:選擇對應數(shù)據(jù)庫)
4.
現(xiàn)在我們就可以對testlog數(shù)據(jù)庫中的user表進行權限的設置了,【表】-【
屬性】
(圖4:選擇對應表)
5.
在【權限】選項卡中,如下圖所示,依此點擊【添加】-【瀏覽】-【選擇對象】
(圖5:設置訪問表的用戶)
6.
在上面點擊【確認】后,我們就可以下面的列表中找到對應的權限,如果你還想細化到列的權限的話,右下角還有一個【列權限】的按鈕可以進行設置,點擊【確認】按鈕就完成了這些權限的設置了
(圖6:權限列表)
7.
現(xiàn)在就使用testuser用戶登陸數(shù)據(jù)庫了,登陸后如下圖所示,現(xiàn)在只能看到一個表了
(圖7:效果)
二、注意事項
1.
在上面的第3步驟中需要注意:如果這里沒有選擇對應的數(shù)據(jù)庫的話,之后去testlog數(shù)據(jù)庫中是找不到testuser。
(圖8:找不到testuser用戶)
2.
在上面的第3步驟,設置完testlog數(shù)據(jù)后,需要點擊【確認】按鈕,完成創(chuàng)建用戶操作,如果這個時候去設置【安全對象】,是無法在【添加】-【特定對象】-【對象類型】-【登陸名】-【瀏覽】中找到剛剛新建的testuser用戶的。
3.
其實在數(shù)據(jù)庫級別的【安全性】創(chuàng)建的用戶是屬于全局的,當設置了某個數(shù)據(jù)庫,比如testlog之后,這個用戶就會出現(xiàn)在這個數(shù)據(jù)庫的【安全性】列表中。
如果刪除testlog這個用戶,會出現(xiàn)下面的提示。刪除了后,這個用戶就無法登陸了。需要去對應的數(shù)據(jù)庫中刪除用戶,如果沒有刪除又創(chuàng)建,是會報錯的。
(圖9:刪除testuser用戶)
4.
在第6步的【顯式權限】列表中,如果選擇了【control】這個選項,那么在【select】中設置查詢【列權限】就沒有意義了,查詢就不會受限制了。如果設置【列權限】,在正常情況下會顯示下圖的報錯信息:
(圖10:效果)
5.
在testlog數(shù)據(jù)庫的【安全性】-【testuser】-【屬性】-【安全對象】-【添加】-【對象類型】這里有更多關于數(shù)據(jù)庫級別的一些對象類型可以設置。
(圖11:其它對象類型)
創(chuàng)建好用戶后,幾個需要賦權限的地方,寫出來以備后用。
1.在安全性用戶屬性中,登錄用戶的服務器角色為public
2.
用戶映射到數(shù)據(jù)的數(shù)據(jù)庫角色成員身份為:db_owner和public,默認架構為dbo
3.
狀態(tài)為允許連接到數(shù)據(jù)引擎和登錄
在允許訪問的數(shù)據(jù)庫屬性權限中,創(chuàng)建用戶權限
1.加上讀取、更新、刪除,
2.加上控制和連接復制這兩個,用戶可以在sql
server管理界面中直接連接,
3.加上更改任意架構,用戶可以修改表結構
把其他的權限設為拒絕,這樣他就只有讀取、更新、刪除,及修改表結構的權限
方法一、由Management
Studio中的表上右鍵選屬性(Properties),左邊選權限(Permissions),右邊中間添加和選中某個User或Role,下面選中或移除某個權限。
方法二、語句
:
Grant
權限
On
table
表名
To
用戶名
1. 查看 SQL 2005 用戶所屬數(shù)據(jù)庫角色
use yourdb
go
select DbRole = g.name, MemberName = u.name, MemberSID = u.sid
from sys.database_principals u, sys.database_principals g, sys.database_role_members m
where g.principal_id = m.role_principal_id
and u.principal_id = m.member_principal_id
order by 1, 2
go
2. 查看 SQL 2005 登陸帳戶所屬服務器角色
use master
go
select SrvRole = g.name, MemberName = u.name, MemberSID = u.sid
from sys.server_principals u, sys.server_principals g, sys.server_role_members m
where g.principal_id = m.role_principal_id
and u.principal_id = m.member_principal_id
order by 1, 2
go
3. 查看 SQL 2005 用戶被賦予的權限
use yourdb
go
exec sp_helprotect @username = 'user name'
go
1、為角色賦予jobs表的所有權限
GRANT ALL ON jobs TO newrole
2、為角色賦予sales表的查、改權限
GRANT SELECT,UPDATE ON sales TO newrole
臨時表可以被任何用戶在任何數(shù)據(jù)庫下創(chuàng)建,而不需要授予任何權限。
本地臨時表只能被創(chuàng)建它的會話訪問。全局臨時表可以被所有會話訪問和修改,而不需要授權。
網(wǎng)站欄目:表權限sqlserver,表權限有哪些
轉(zhuǎn)載來源:http://www.2m8n56k.cn/article10/phjjdo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、小程序開發(fā)、手機網(wǎng)站建設、商城網(wǎng)站、外貿(mào)建站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)