Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 10498|Respuesta: 0

[Fuente] SQL Server para consultar los permisos y roles de los objetos del usuario

[Copiar enlace]
Publicado en 28/1/2015 16:33:32 | | |
Consulta de permisos de objetos y roles de usuarios en SQL Server[@more@]

-- Consultar los permisos de objeto del usuario
exec sp_helprotect NULL, 'UsuarioNombre'
-- Consultar el rol del usuario
exec sp_helpuser 'UsuarioNombre'
-- Consultar qué usuarios tienen un rol de sistema especificado
Ejecutivo sp_helpsrvrolemember 'sysadmin'
-- Se pueden consultar roles anidados
CON tree_roles
(
SELECCIONA role_principal_id, member_principal_id
DE sys.database_role_members
DONDE member_principal_id = USER_ID('NombreDeUsuario')
UNION ALL
SELECCIONA c.role_principal_id.c.member_principal_id
DE sys.database_role_members como c
Unió interna tree_roles
en tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinto USER_NAME(role_principal_id) Nombre del rol
DE tree_roles
-- Tabla básica relacionada con otros permisos
seleccionar * de sysusers
select * de syspermissions
-- ¿Quién tiene acceso a mi instancia de SQL Server?
ESCOGER
nombre como Nombre de Usuario, type_desc como Tipo de Usuario is_disabled como Está Deshabilitado
DE sys.server_principals
dónde type_desc en('WINDOWS_LOGIN', 'SQL_LOGIN')
orden por UsuarioTipo, nombre, IsDisabled
-- ¿Quién tiene acceso a mis bases de datos?
ESCOGER
dp.name como UsuarioNombre, dp.type_desc como UsuarioTipo, sp.name como LoginName sp.type_desc como LoginType
DESDE sys.database_principals DP
UNIR sys.server_principals SP EN dp.principal_id = sp.principal_id
orden por UserType
seleccionar * de sys.database_principals
-- Roles de servidor
escoger
p.name como NombreDeUsuario, p.type_desc como UsuarioTipo, pp.name como NombreDeRolDeServidor pp.type_desc como NombreRolServidor
De sys.server_role_members Roles
unir sys.server_principals p en roles.member_principal_id = p.principal_id
Únete sys.server_principals pp en roles.role_principal_id = pp.principal_id
donde pp.name en ('sysadmin')
orden por NombreRolServidor, Nombre de Usuario
-- Roles en la base de datos
ESCOGER
p.name como UsuarioNombre, p.type_desc como UsuarioTipo, pp.name como DBRoleName, pp.type_desc como DBRoleType, pp.is_fixed_role como IfFixedRole
DE sys.database_role_members roles
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
dónde pp.name en('db_owner', 'db_datawriter')
-- ¿Qué pueden hacer estos usuarios?
ESCOGER
grantor.name como GrantorName, dp.state_desc como StateDesc, dp.class_desc como ClassDesc dp.permission_name como PermissionName ,
OBJECT_NAME(major_id) como NombreDeObjeto, Nombre del Beneficiario = grantee.name
DE sys.database_permissions DP
ÚNETE sys.database_principals beneficiario en dp.grantee_principal_id = grantee.principal_id
ÚNETE sys.database_principals otorgante en dp.grantor_principal_id = grantor.principal_id
donde permission_name como '%UPDATE%'






Anterior:Configuración del servidor SQLSERVER
Próximo:ComboBox configurado en solo lectura (solo select)
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com