㈠ sql 怎樣創建表許可權
--創建兩個測試表
CREATE TABLE tb1(id int,value int)
INSERT tb1 VALUES(1,10)
CREATE TABLE tb2(id int,value int)
INSERT tb1 VALUES(1,10)
GO
--創建登錄
CREATE LOGIN Liang WITH PASSWORD='[email protected]';
--創建用戶
CREATE USER Liang FROM LOGIN Liang;
--授予用戶對tb1有UPDATE某個列的許可權,tb2隻有SELECT許可權
GRANT UPDATE(value) ON tb1 TO Liang
GRANT SELECT ON tb1 TO Liang
GRANT SELECT ON tb2 TO Liang
GO
--模擬用戶Liang對tb1表進行UPDATE
EXECUTE AS USER='Liang'
UPDATE tb1 SET
value=20
WHERE id=1
REVERT
SELECT * FROM tb1
/*
id value
----------- -----------
1 20
(1 行受影響)
*/
--模擬用戶Liang對tb2表進行UPDATE
EXECUTE AS USER='Liang'
UPDATE tb2 SET
value=20
WHERE id=1
REVERT
/*
消息 229,級別 14,狀態 5,第 23 行
拒絕了對對象 'tb2' (資料庫 'tempdb',架構 'dbo')的 UPDATE 許可權。
*/
GO
--刪除測試
DROP TABLE tb1,tb2
DROP USER Liang
DROP LOGIN Liang
--要控制對資料庫的許可權, 可以參考下面的:
-- 防止訪問他不該訪問的資料庫(總控制,明細還可以控制他對於某個資料庫的具體對象具有的許可權)
--切換到你新增的用戶要控制的資料庫
use 你的庫名
go
--新增用戶
exec sp_addlogin 'test' --添加登錄
exec sp_grantdbaccess N'test' --使其成為當前資料庫的合法用戶
exec sp_addrolemember N'db_owner', N'test' --授予對自己資料庫的所有許可權
--這樣創建的用戶就只能訪問自己的資料庫,及資料庫中包含了guest用戶的公共表
go
--刪除測試用戶
exec sp_revokedbaccess N'test' --移除對資料庫的訪問許可權
exec sp_droplogin N'test' --刪除登錄
如果在企業管理器中創建的話,就用:
企業管理器--安全性--右鍵登錄--新建登錄
常規項
--名稱中輸入用戶名
--身份驗證方式根據你的需要選擇(如果是使用windows身份驗證,則要先在操作系統的用戶中新建用戶)
--默認設置中,選擇你新建的用戶要訪問的資料庫名
伺服器角色項
這個裡面不要選擇任何東西
資料庫訪問項
勾選你創建的用戶需要訪問的資料庫名
資料庫角色中允許,勾選"public","db_ownew"
確定,這樣建好的用戶與上面語句建立的用戶一樣
最後一步,為具體的用戶設置具體的訪問許可權,這個可以參考下面的最簡示例:
--添加只允許訪問指定表的用戶:
exec sp_addlogin '用戶名','密碼','默認資料庫名'
--添加到資料庫
exec sp_grantdbaccess '用戶名'
--分配整表許可權
GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用戶名]
--分配許可權到具體的列
GRANT SELECT , UPDATE ON table1(id,AA) TO [用戶名]
㈡ sqlserver用sql怎麼分配許可權
1、為角色賦予jobs表的所有許可權
GRANT ALL ON jobs TO newrole
2、為角色賦予sales表的查、改許可權
GRANT SELECT,UPDATE ON sales TO newrole
臨時表可以被任何用戶在任何資料庫下創建,而不需要授予任何許可權。
本地臨時表只能被創建它的會話訪問。全局臨時表可以被所有會話訪問和修改,而不需要授權。
㈢ 用SQL語句怎麼設置許可權
主要是用revokesql2005中: exec sp_addlogin 'test' --添加登錄 exec sp_grantdbaccess N'test' --使其成為當前資料庫的合法用戶 exec sp_addrolemember N'db_owner', N'test' --授予對自己資料庫的所有許可權 exec sp_revokedbaccess N'test' --移除對資料庫的訪問許可權 exec sp_droplogin N'test' --刪除登錄 --添加用戶: exec sp_addlogin '用戶名','密碼','默認資料庫名' --添加到資料庫 exec sp_grantdbaccess '用戶名','資料庫名' --分本許可權 grant insert,select,update,delete on table1 to public
㈣ 如何給SQL Server資料庫設置修改表結構的許可權
創建好用戶後,幾個需要賦許可權的地方,寫出來以備後用。
1.在安全性用戶屬性中,登錄用戶的伺服器角色為public
2.
用戶映射到數據的資料庫角色成員身份為:db_owner和public,默認架構為dbo
3.
狀態為允許連接到數據引擎和登錄
在允許訪問的資料庫屬性許可權中,創建用戶許可權
1.加上讀取、更新、刪除,
2.加上控制和連接復制這兩個,用戶可以在sql
server管理界面中直接連接,
3.加上更改任意架構,用戶可以修改表結構
把其他的許可權設為拒絕,這樣他就只有讀取、更新、刪除,及修改表結構的許可權
㈤ SQLServer中怎麼設定用戶對某張表的許可權
方法一、由Management Studio中的表上右鍵選屬豎滑緩性(Properties),左邊選許可權(Permissions),右邊中間添加和選中某個User或Role,下面選讓宏中或移除某個許可權。
方法二、語句余模 : Grant 許可權 On table 表名 To 用戶名
㈥ SQL Server怎麼設置表的許可權.
首先,你在建表的時候是有owner的,你就要設置這個owner的許可權。
展開資料庫節點-用戶-用戶名上右鍵看屬性-常規-許可權。
此時顯示目前資料庫中所有表:綠色的對勾就是允許操作。
如果不允許修改,點擊「列」這個按鈕。在彈出窗口中,吧所有列的UPDATE 上點成紅叉子。
㈦ 請教一個sql server 用戶讀寫許可權控制的問題
1.打開SQL Server2008,以windows身份驗證模式登陸
2.在「對象資源管理器」中展開「安全性」,右擊「登錄名」,在彈出的菜單中點擊「新建登錄名」。此處注意:1、在登錄名右側的文本框中輸入新建的管理員賬號名稱;2、一對單選按鈕組中漏租亂,選擇Sql Server 身份驗證,並輸入登錄密碼;3、強制密碼過期不建議勾選(返檔勾選之後太麻煩),當然如果有單獨需求的可勾選。
3.點擊「伺服器角色」。在右側的伺服器角色面板中,勾選 public 和 sysadmin 兩項,這是常用的兩項,如果有其他需求自己操作。
4.點擊「用戶映射」,在右側的面板中勾選該賬號可以進行管理操作的資料庫名稱,並在該面板下面的「資料庫角色成員身份」中勾選 db_owner 項。
5.點擊「狀態」,進行許可權設置。
6.到此為止,新的用戶名就創建完成型雹了
http://jingyan..com/article/b2c186c8f5ea19c46ef6ffbd.html