sql server 中對錶 函數 視圖 存儲過程配置權限

新建查詢 

查詢全部的表

select * from sysobjects where xtype='U'


存儲過程標量

select * from sysobjects where xtype='P '

 

函數

select * from sysobjects where xtype='FN'


視圖

select * from sysobjects where xtype='V'

 

1、創建用戶

CREATE LOGIN developer   

   WITH PASSWORD = '強密碼',  

default_database= test;

2、加入用戶角色,登錄名映射數據庫用戶

create user developer for login developer

use test;

go

EXEC sp_change_users_login 'Update_One', 'developer', 'developer';

go

3、分配權限,創建存儲過程,利用grant給全部的權限,利用deny限制權限

4、創建存儲過程例子

create procedure viewProce

as 

begin 

SELECT

'deny INSERT,VIEW DEFINITION,ALTER,UPDATE, TAKE OWNERSHIP,CONTROL,DELETE,SELECT,REFERENCES on test.dbo.'+

Name+' to developer;' as t_sql 

from sysobjects where xtype='V'

end



execute viewProce

或者執行查詢拼接sql複製執行

 

2、單獨分配權限例子

其中INSERT是插入,

VIEW DEFINITION是查看定義,

VIEW CHANGE TRACKING 跟蹤更新,

ALTER更改,

UPDATE更新,

TAKE OWNERSHIP接管所有權,

CONTROL控制,

DELETE刪除,

SELECT選擇查詢,

REFERENCES引用

deny INSERT,VIEW DEFINITION,VIEW CHANGE TRACKING ,ALTER,UPDATE, TAKE OWNERSHIP,CONTROL,DELETE,SELECT,REFERENCES on dbo.GZ_PATSETDATA0013 to developer;

 

視圖

 

deny INSERT,VIEW DEFINITION ,ALTER,UPDATE, TAKE OWNERSHIP,CONTROL,DELETE,SELECT,REFERENCES on dbo.GZ_PATSETDATA0013 to developer;

 

標量函數

deny VIEW DEFINITION ,ALTER,EXECUTE,REFERENCES,TAKE OWNERSHIP,CONTROL on dbo.d to developer;

存儲過程

deny execute ,TAKE OWNERSHIP,ALTER on test.dbo.st_pd_TakeSubsidyDetail to developer;

3、master權限到數據庫的權限配置用戶權限

一、創建maintainer

1、打開ssms連接sa,打開安全性->登錄名右鍵新建

 

填寫常規的登錄名、強密碼、默認數據庫。

選擇合適的服務器角色和用戶映射,這裏選擇public 架構dbo。

 

安全對象如圖

 

2、打開數據庫->安全性 右鍵選擇用戶->屬性

 

配置兩個函數的拒絕權限

 

3、選擇對應的數據右鍵打開屬性

配置權限

 

4、不分配各個頂層的用戶權限,否則不能修改部分下層權限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章