sql語句實現數據庫的操作(包括角色、權限、用戶、存儲過程)


登陸管理:sp_addlogin 新增帳號
sp_droplogin 刪除帳號
sp_grantlogins 允許某windows帳號訪問
sp_denylogins 禁止某windows帳號訪問
sp_revokelogins 刪除某windows帳號訪問
sp_helplogin 查看帳號信息
sp_addsrvrolemember 將某用戶添加到服務器角色
sp_dropsrvrolemember 將某用戶從數據庫角色中刪除
sp_helpsrvrole 查看服務器角色的信息

數據庫用戶管理:sp_grantaccess 建立數據庫用戶
sp_revokedbaccess 刪除數據庫用戶
sp_helpuser 查看用戶信息

數據庫角色管理:sp_addrole 建立數據庫角色
sp_addrolemember 將用戶加入數據庫角色
sp_helprole 查看數據庫角色信息
sp_helprolemember 查看某數據庫角色的所有成員
sp_droprole 刪除角色
sp_droprolemember 刪除角色中的某一成員


--切換到你新增的用戶要控制的數據庫
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'' --刪除登錄


exec sp_addlogin 'bbb','123'
exec sp_grantdbaccess 'bbb'
grant insert,select,update,delete on bcd.dbo.table1 to bbb


exec sp_revokedbaccess 'bbb'

exec sp_addrolemember 'db_owner', 'bbb'

exec sp_revokedbaccess 'aaa'

exec sp_droplogin 'aaa'

---------------------------------------------------------------------------
最後一步,爲具體的用戶設置具體的訪問權限,這個可以參考下面的最簡示例:
--添加
--添加用戶:
exec sp_addlogin '用戶名','密碼','默認數據庫名'

--添加到數據庫
exec sp_grantdbaccess '用戶名'','數據庫名'

--權限
grant insert,select,update,delete on table1 to public


文章出處:http://www.diybl.com/course/7_databases/sql/sqlServer/2008126/97625.html

--下面的示例將 Windows NT 用戶 Corporate/HelenS 添加到 sysadmin 固定服務器角色中。


--T-SQL demo
EXEC sp_addsrvrolemember ''Corporate/HelenS'', ''sysadmin''
對 sysadmin 角色成員以外的所有用戶,securityadmin 具有執行 sp_password 存儲過程的權限。bulkadmin 固定服務器角色具有執行 BULK INSERT 語句的權限。與所有指定固定服務器角色成員一樣,bulkadmin 角色成員也可以將其它登錄添加到角色。但是,由於與執行 BULK INSERT 語句相關聯的安全含義(BULK INSERT 語句要求對運行服務器的網絡和計算機上的任何數據具有讀權限),bulkadmin 角色成員授予其它角色成員權限可能並不理想。bulkadmin 角色爲 sysadmin 固定服務器角色成員提供了一種方法,可以委託要求執行 BULK INSERT 語句的任務,而不用授予用戶 sysadmin 權限。允許 bulkadmin 角色成員執行 BULK INSERT 語句,但是這些成員對要插入數據的表仍必須具有 INSERT 權限。
--切換到你新增的用戶要控制的數據庫
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'' --刪除登錄

---------------------------------------------------------------------------
最後一步,爲具體的用戶設置具體的訪問權限,這個可以參考下面的最簡示例:
--添加
--添加用戶:
exec sp_addlogin ''用戶名'',''密碼'',''默認數據庫名''

--添加到數據庫
exec sp_grantdbaccess ''用戶名'',''數據庫名''

--權限
grant insert,select,update,delete on table1 to public


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