COMANDOS PARA BASES DE DATOS SQL - SERVER
Eliminar todas las tablas de la base de datos:
EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'
Eliminar todos los datos de las tablas:
EXEC sp_MSForEachTable "DELETE FROM ?"
Deshabilitar todos los constraints de todas las tablas:
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
Habilitar todos los constraints de todas las tablas:
EXEC sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
Inhabilitar todos los triggers de todas las tablas:
EXEC sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER all"
Habilitar todos los triggers de todas las tablas:
EXEC sp_msforeachtable "ALTER TABLE ? ENABLE TRIGGER all"
Obtener toda la información de las columnas de una tabla
Select * from INFORMATION_SCHEMA.COLUMNS where table_name='nombre de la tabla'
Obtener una lista de todos los procedimientos almacenados modificados en los últimos N días.
SELECT name
FROM sys.objects
WHERE type ='P'
AND DATEDIFF(D,modify_date,GETDATE())< N
Nota: reemplazar N con un número.
Obtener una lista de todos los procedimientos almacenados creados en los últimos N días.
SELECT name
FROM sys.objects
WHEREtype ='P'
AND DATEDIFF(D,create_date,GETDATE())< N
2- Ahora veremos como encriptar una dato ya sea por ejemplo una contraseña en este caso
-- Creamos nuestra tabla:
create table usuario
(
nombre varchar(100),
apellidos varchar(100),
email varchar(100),
contrasena varbinary(8000),
fecha datetime
)
2.1 Creamos una funcion para la encripctacion, hacemos uso de la Funcion ENCRYPTBYPASSPHRASE ( )
create function fnColocaClave(@clave varchar(25))
returns varbinary(800)
as
begin
declare @pass as varbinary(8000)
-- dbcurso es la llave que se usara para cifrar el campo y es la misma que se usa para descifrar
set @pass=ENCRYPTBYPASSPHRASE('dbcurso',@clave)
return @pass
end
2.2 insertamos un registro y usamos la funcion anterior
insert into dbo.usuario (nombre,apellidos,email,contrasena,fecha)
values ('cristhian','macalupu sandoval','cristhian_tony@hotmail.com',dbo.fnColocaClave('informatica'),GETDATE())
ejecutamos la consulta y veran que se inserto el registro y el campo contraseña se muestra encriptado
de la siguiente forma: 0x010000006E166E5D181D6A86D1FFC1FF818212ECB1768C9FE418542E3ECB6A64DD543D44
2.3 Luego para ver el campo contraseña desencriptado en una consulta select, creamos una nueva funcion que utilizara la funcion de sql-server DECRYPTBYPASSPHRASE( )
create function leeClave ( @clave varbinary(8000) )
returns varchar(25)
as
begin
declare @pass as varchar(25)
set @pass = DECRYPTBYPASSPHRASE('dbcurso',@clave) -- se usa la misma llave
return @pass
end
luego Consultamos como es de costumbre :
SELECT nombre, apellidos, email, dbo.leeClave(contrasena) as password
FROM dbo.usuario
y el resultado el registro pero con el campo contraseña desencriptado mostrando
contrseña: informatica






