sqlserver 建立使用者只能訪問指定視圖,sqlserver視圖

來源:互聯網
上載者:User

sqlserver 建立使用者只能訪問指定視圖,sqlserver視圖

use crm
--當前資料庫建立角色
exec sp_addrole 'rapp'
--分配視圖許可權 GRANT SELECT  ON veiw TO [角色] 

--指定視圖列表
GRANT SELECT ON  v_city TO rapp
GRANT SELECT ON  v_lp TO rapp
GRANT SELECT ON  v_qy TO rapp
 
go
--添加只允許訪問指定視圖的使用者: exec sp_addlogin '登入名稱','密碼','預設資料庫名'
exec sp_addlogin 'sa','sa_pwd','crm'

此處可能執行不了,要求密碼強度,那就自己手工建立
go
--添加只允許訪問指定視圖的使用者到rCRM角色中: exec sp_adduser '登入名稱','使用者名稱','角色'
exec sp_adduser 'sa','sapwd','rapp'


sqlserver2005資料庫 怎建立一個使用者讓他對伺服器上的所有庫都只有select許可權,或者是只可以操作視圖也行

1. SQL資料庫分配許可權
開啟SQL-Server管理工具安全性登陸名右鍵(建立登陸名)

輸入相應的資訊(這裡要去掉強制實施密碼原則,強制密碼到期,使用者在下次登入時必須修改密碼的選擇)

使用者映射選擇我們要設定許可權的資料庫通過選擇資料庫角色成員資格來設定建立使用者的許可權

一般對整個庫做許可權的時候都是需要所有許可權勾選db_owner就可以了(確定)
這樣就可以用我們建立的這個使用者名稱來訪問我們的資料庫伺服器了,而且這個使用者名稱只擁有我們所勾選的資料庫的所有許可權。

2. SQL資料庫對每個表分配許可權

開啟SQL-Server管理工具安全性登陸名右鍵(建立登陸名)

輸入相應的資訊(這裡要去掉強制實施密碼原則,強制密碼到期,使用者在下次登入時必須修改密碼的選擇)

使用者映射選擇我們要設定許可權的資料庫通過選擇資料庫角色成員資格來設定建立使用者的許可權

因為我們要對每個表進行單獨的設定所以這裡我們就不勾選db_owner了

開啟我們剛才勾選的test資料庫安全性使用者中看到我們剛才建立的那個使用者了。

找到建立的使用者名稱右鍵屬性

安全對像

添加

特定類型的所有對象確定

物件類型選擇表

確定這樣我們就能看到test資料庫中的所有表了

接著我們再對每個表設定許可權

我對兩個表都是設定的Select許可權確定這樣我們用test_name登陸test資料庫的時候只能對其中的兩個表做Select操作不能做其它操作
 
在sql2005中建立一個使用者,怎才可以讓這個使用者只可以訪問我指定的表或者視圖或則預存程序了

你可以建立一個表或者試圖(tablename),用於維護允許訪問的表、視圖、預存程序,

select 'grant all on'+' '+name+' '+'username' from tablename
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.