阅读背景:

SqlServer 服务器角色和数据库角色相关操作

来源:互联网 

/*------------------------------------------------------------------------------------
								【服务器级别—服务器角色】
------------------------------------------------------------------------------------*/

--	查看固定服务器角色(8个,不可增删,未包括public,每一个用户都属于public服务器角色)
EXEC sp_helpsrvrole
EXEC sp_helpsrvrole @srvrolename = "sysadmin"


--	查看服务器角色所具有的权限解释(服务器角色详细权限解释!)
EXEC sp_srvrolepermission
EXEC sp_srvrolepermission @srvrolename = "sysadmin"


--	断定某个登录账号是不是具有某个服务器角色(有则为1,否则为0)
SELECT IS_SRVROLEMEMBER("sysadmin")
SELECT IS_SRVROLEMEMBER("sysadmin","sa")


--	服务器角色在 SQL Server 2012 中可以创立!~
CREATE SERVER ROLE [ServerRoleKK]


--	将登录名添加为某个服务器级角色的成员
EXEC sp_addsrvrolemember @loginame= "kk" ,@rolename = "sysadmin" 


--	从服务器级角色中删除 SQL Server 登录名或 Windows 用户或组
EXEC sp_dropsrvrolemember @loginame = "kk" ,@rolename = "sysadmin"


--	查看 服务器角色 和 成员 关系
EXEC sp_helpsrvrolemember
EXEC sp_helpsrvrolemember @srvrolename = "sysadmin"


--	查看 服务器角色 和 成员 关系(更详细)
SELECT rsp.principal_id as [role_principal_id],rsp.name AS [Server_Role]
,sp.principal_id,sp.name,sp.[sid]
,CASE WHEN sp.[type]="S" THEN "SQL 登录名"
	WHEN sp.[type]="U" THEN "Windows 登录名"
	WHEN sp.[type]="G" THEN "Windows 组"
	WHEN sp.[type]="R" THEN "服务器角色"
	WHEN sp.[type]="C" THEN "映照到证书的登录名"
	WHEN sp.[type]="K" THEN "映照到非对称密钥的登录名"
END AS [Principal_Type]
,sp.create_date,sp.modify_date,sp.is_disabled
FROM sys.server_principals sp 
INNER JOIN sys.server_role_members srm ON sp.principal_id=srm.member_principal_id 
INNER JOIN sys.server_principals rsp ON srm.role_principal_id=rsp.principal_id


--	查看服务器对象权限掌握情形
SELECT sp1.principal_id AS grantor_principal_id,sp1.name AS grantor_name,sp1.type_desc AS grantor_type_desc
,sp2.principal_id AS grantee_principal_id,sp2.name AS grantee_name,sp2.type_desc AS grantee_type_desc
,spe.class_desc,spe.state_desc,spe.permission_name
FROM sys.server_principals sp1
INNER JOIN sys.server_permissions spe ON sp1.principal_id=spe.grantor_principal_id
INNER JOIN sys.server_principals sp2 ON sp2.principal_id=spe.grantee_principal_id



--对服务器级别权限掌握更改:安全性——>登录名——右键登录账号——>属性——>安全对象——>搜索(有服务器/端点/登录名)——>下方掌握权限
/*-----------------------------------------------




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: