在sql server上創建一個只有單一訪問權限的用戶

       在數據庫應用中,我們有些時候需要給某些用戶單一的視圖、存儲過程或者表等相關對象的訪問權限,以便某些應用的調用,同時也不會讓其訪問到我們核心應用庫的數據,同時防止其做一些破壞性的操作。

       以下邊是在sql server 2005上給某用戶單一視圖訪問的權限的過程。(某接口開發的記錄)

 

/*
創建用戶
*/
USE [master]
GO
CREATE LOGIN [tb_test] WITH PASSWORD=N'test', DEFAULT_DATABASE=[test], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [tb_test]
GO
CREATE USER [tb_fy1] FOR LOGIN [tb_test]
GO

 

 

/*
創建需要的視圖
*/
CREATE VIEW vw_test
AS
select ******

 

--授予權限
grant select on talbeName to tb_test  --授予表talbeName的訪問權限
grant select on vw_test to tb_test    --授予視圖vw_test訪問權限
grant execute on procName to tb_test    --授予存儲過程procName執行權限

 

以上的操作執行後,我們即可以將用戶tb_test交付給客戶使用,我們需要讓客戶訪問那些權限即採取上述的授權方式即可。當然,這樣也可以更加清晰的權限分配。

 

當然,如果此類用戶較多,可以考慮使用role來管理權限。

 

 

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