Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 4

-- Comandos SQLSERVER

-- checar tablas
sp_tables @table_owner='dbo';

-- Para ver la estructura de una tabla


sp_columns usuarios;

-- Este procedimiento seguido del nombre de una tabla muestra la informaci�n


referente a todas las restricciones establecidas en dicha tabla

sp_helpconstraint libros

-- "sp_help" sin par�metros nos muestra todos los objetos de la base de datos
seleccionada, incluidas las vistas

-- "sp_helptext" seguido del nombre de una vista nos muestra el texto que la define

select *from sysobjects;

-- todas las vistas


select *from sysobjects
where xtype='V' and-- tipo vista
name like 'vista%' --b�squeda con comod�n

-- ver el texto de una vista


sp_helptext NOMBREVISTA

-- tipos de procedimientos
1.-de sistema - (llevan prefijo sp_) estan en la base master
2.-locales - los crea el usuario
3.-temporales - pueden ser locales, cuyos nombres comienzan con un signo numeral
(#), o globales, cuyos nombres comienzan con 2 signos numeral (##)
4.-extendidos - se implementan como bibliotecas de v�nculos din�micos (DLL,
Dynamic-Link Libraries), se ejecutan fuera del entorno de SQL Server, llevan el
prefijo "xp_"

-- crear procedimiento

create proc pa_libros_limite_stock


as
select *from libros
where precio <=30

-- ejecutar procedimiento
exec pa_libros_limite_stock

-- procedimiento con encriptacion


create procedure pa_libros_autor
@autor varchar(30)=null
with encryption
as
select *from libros
where autor=@autor

-- modificar procedure
alter procedure NOMBREPROCEDIMIENTO
-- recompilar objetos
exec sp_recompile NOMBREOBJETO;

-- FUNCIONES
SQL Server admite 3 tipos de funciones definidas por el usuario clasificadas seg�n
el valor retornado:
1) escalares: retornan un valor escalar;
2) de tabla de varias instrucciones (retornan una tabla) y
3) de tabla en l�nea (retornan una tabla).
Las funciones definidas por el usuario se crean con la instrucci�n "create
function" y se eliminan con "drop function".

-- tablas temporales
Las tablas temporales son visibles solamente en la sesi�n actual.
Para referenciarla en otras consultas, se debe incluir el numeral(#), que es parte
del nombre

select *from tempdb..sysobjects;

-- permisos rol
declare @RoleName varchar(50) = 'RoleName'

declare @Script varchar(max) = 'CREATE ROLE ' + @RoleName + char(13)


select @script = @script + 'GRANT ' + prm.permission_name + ' ON ' +
OBJECT_NAME(major_id) + ' TO ' + rol.name + char(13) COLLATE Latin1_General_CI_AS
from sys.database_permissions prm
join sys.database_principals rol on
prm.grantee_principal_id = rol.principal_id
where rol.name = @RoleName

print @script

-- otro

SELECT 'GRANT ' + database_permissions.permission_name + ' ON ' + CASE


database_permissions.class_desc
WHEN 'SCHEMA'
THEN '[' + schema_name(major_id) + ']'
WHEN 'OBJECT_OR_COLUMN'
THEN CASE
WHEN minor_id = 0
THEN'['+OBJECT_SCHEMA_NAME(major_id) + '].' + '[' +
object_name(major_id) + ']' COLLATE Latin1_General_CI_AS_KS_WS
ELSE (
SELECT object_name(object_id) + ' (' + NAME + ')'
FROM sys.columns
WHERE object_id = database_permissions.major_id
AND column_id = database_permissions.minor_id
)
END
ELSE 'other'
END + ' TO [' + database_principals.NAME + ']' COLLATE
Latin1_General_CI_AS_KS_WS
FROM sys.database_permissions
JOIN sys.database_principals ON database_permissions.grantee_principal_id =
database_principals.principal_id
LEFT JOIN sys.objects --left because it is possible that it is a schema
ON objects.object_id = database_permissions.major_id
WHERE database_permissions.major_id > 0
AND permission_name IN (
'SELECT'
,'INSERT'
,'UPDATE'
,'DELETE'
,'EXECUTE'
)

-- OTRO

SELECT 'GRANT ' + database_permissions.permission_name + ' ON ' +


CASE database_permissions.class_desc
WHEN 'SCHEMA' THEN schema_name(major_id)
WHEN 'OBJECT_OR_COLUMN' THEN
CASE WHEN minor_id = 0 THEN object_name(major_id) COLLATE
Latin1_General_CI_AS_KS_WS
ELSE (SELECT object_name(object_id) + ' ('+ name + ')'
FROM sys.columns
WHERE object_id = database_permissions.major_id
AND column_id = database_permissions.minor_id) end
ELSE 'other'
END +
' TO ' + database_principals.name COLLATE Latin1_General_CI_AS_KS_WS
FROM sys.database_permissions
JOIN sys.database_principals
ON database_permissions.grantee_principal_id = database_principals.principal_id
LEFT JOIN sys.objects --left because it is possible that it is a schema
ON objects.object_id = database_permissions.major_id
WHERE database_permissions.major_id > 0
AND permission_name in ('SELECT','INSERT','UPDATE','DELETE');

-- Permisos de nivel de servidor

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;

Caracter�stica
Tipo
Descripci�n
sp_helpsrvrole (Transact-SQL)
Metadatos
Devuelve una lista de roles de nivel de servidor.
sp_helpsrvrolemember (Transact-SQL)
Metadatos
Devuelve informaci�n acerca de los miembros de un rol de nivel de servidor.
sp_srvrolepermission (Transact-SQL)
Metadatos
Muestra los permisos de un rol de nivel de servidor.
IS_SRVROLEMEMBER (Transact-SQL)
Metadatos
Indica si un inicio de sesi�n de SQL Server es miembro del rol de nivel de servidor
especificado.
sys.server_role_members (Transact-SQL)
Metadatos
Devuelve una fila por cada miembro de cada rol de nivel de servidor.
sp_addsrvrolemember (Transact-SQL)
Comando
Agrega un inicio de sesi�n como miembro de un rol de nivel de servidor. Desusado.
Utilice ALTER SERVER ROLE en su lugar.
sp_dropsrvrolemember (Transact-SQL)
Comando
Quita un inicio de sesi�n de SQL Server o un usuario o grupo de Windows de un rol
de nivel de servidor. Desusado. Utilice ALTER SERVER ROLE en su lugar.
CREATE SERVER ROLE (Transact-SQL)
Comando
Crea un rol de servidor definido por el usuario.
ALTER SERVER ROLE (Transact-SQL)
Comando
Cambia la pertenencia de un rol de servidor o cambia el nombre de un rol de
servidor definido por el usuario.
DROP SERVER ROLE (Transact-SQL)
Comando
Quita un rol de servidor definido por el usuario.
IS_SRVROLEMEMBER (Transact-SQL)
Funci�n
Determina la pertenencia del rol de servidor.

También podría gustarte