Documentos de Académico
Documentos de Profesional
Documentos de Cultura
mantenimiento
ADMINISTRACION DE BASE DE DATOS: UNIDAD 4
Administración de base de datos
Curso
(oculto)
Catedrático
18 de junio de 2020
Fecha de entrega
(oculto)
Grupo/Aula/Horario
Presentado por:
Alex Rodríguez
alsarodriguezbe@ittepic.edu.mx
Tepic, Nayarit, México
INSTITUTO TECNOLÓGICO DE TEPIC | TECNOLOGICO NACIONAL DE MEXICO
Administración de base de datos
Contenido
4.1 Archivos LOG del Sistema Gestor Base de Datos (SGBD) ...................................................... 3
4.2 Definición de los modos de operación de un SGBD. (alta, baja, recovery) y comandos de
activación ................................................................................................................................. 3
Altas...................................................................................................................................... 3
Bajas ..................................................................................................................................... 4
Propósito de Backup y Recuperación ..................................................................................... 4
De Protección de Datos ......................................................................................................... 5
5.3 Métodos de respaldo de un SGBD ....................................................................................... 6
5.4 Métodos de recuperación de un SGBD ................................................................................ 6
Recuperación en Oracle ........................................................................................................ 6
Comandos para recuperación................................................................................................ 6
Ventajas y Desventajas de cada método................................................................................ 7
Aplicación de cada método ................................................................................................... 8
4.3 Plan de mantenimiento ....................................................................................................... 8
Ventajas de los planes de mantenimiento ............................................................................. 8
Funcionalidad del plan de mantenimiento............................................................................. 9
5.5 Migración de la Base de Datos ........................................................................................... 10
HERRAMIENTAS DE MIGRACIÓN ......................................................................................... 10
Práctica 1 ................................................................................................................................ 11
Práctica 2 ................................................................................................................................ 11
Práctica 3 ................................................................................................................................ 12
Práctica 4 ................................................................................................................................ 12
Práctica 5 ................................................................................................................................ 13
Práctica 6 ................................................................................................................................ 14
Práctica 7 ................................................................................................................................ 15
Práctica 8 ................................................................................................................................ 17
Práctica 9 ................................................................................................................................ 18
Práctica 10 .............................................................................................................................. 18
Práctica 11 .............................................................................................................................. 20
Práctica 12 .............................................................................................................................. 23
Práctica 13 .............................................................................................................................. 23
Práctica 14 .............................................................................................................................. 24
Práctica 15 .............................................................................................................................. 24
Práctica 16 .............................................................................................................................. 27
Práctica 17 .............................................................................................................................. 27
Práctica 18 .............................................................................................................................. 28
Práctica 19 .............................................................................................................................. 28
Práctica 20 .............................................................................................................................. 30
Práctica 21 .............................................................................................................................. 31
Práctica 22 .............................................................................................................................. 31
Práctica 23 .............................................................................................................................. 38
Práctica 24 .............................................................................................................................. 44
Práctica 25 .............................................................................................................................. 44
Práctica 26 .............................................................................................................................. 45
Práctica 27 .............................................................................................................................. 45
IMPORTACIÓN .................................................................................................................... 45
EXPORTACION ..................................................................................................................... 49
Práctica 28 .............................................................................................................................. 53
Paso 2 ................................................................................................................................. 57
Paso 4 ................................................................................................................................. 57
Paso 8 ................................................................................................................................. 62
Práctica 29 .............................................................................................................................. 65
Práctica 30 .............................................................................................................................. 66
Conclusión .............................................................................................................................. 66
Referencias ............................................................................................................................. 67
Altas
La operación de dar de alta un determinado registro es similar a la de añadir datos a un
archivo. Es importante remarcar que en un archivo secuencial sólo permite añadir datos
al final del mismo.
Bajas
Existen dos métodos para dar de baja a un registro en un archivo secuencial, donde no
es fácil eliminar un registro situado en el interior de una secuencia: Para ello podemos
seguir dos métodos:
1) Utilizar y por tanto crear un segundo archivo auxiliar transitorio, también secuencial,
copia del que se trata de actualizar. Se lee el archivo completo registro a registro y en
función de su lectura se decide si el registro se debe dar de baja o no. En caso afirmativo,
se omite la escritura en el archivo auxiliar. Si el registro no se va a dar de baja, este
registro se reescribe en el archivo auxiliar
Tras terminar la lectura del archivo original, se tendrán dos archivos: original (o maestro)
y auxiliar. El proceso de bajas del archivo concluye borrando el archivo original y
cambiando el nombre del archivo auxiliar por el del inicial.
2) Guardar o señalar los registros que se desean dar de baja con un indicador o bandera
que se guarda en un array; de esta forma los registros no son borrados físicamente, sino
que son considerados como inexistentes.
Inevitablemente, cada cierto tiempo, habrá que crear un nuevo archivo secuencial con
el mismo nombre, en el que los registros marcados no se grabarán.
De Protección de Datos
Como administrador de copia de seguridad, su trabajo principal es hacer copias de
seguridad y vigilancia para la protección de datos. Una copia de seguridad es una copia
de los datos de una base de datos que se puede utilizar para reconstruir los datos. Una
copia de seguridad puede ser una copia de seguridad física o una copia de seguridad
lógica.
Copias de seguridad físicas son copias de los archivos físicos utilizados en el
almacenamiento y la recuperación de una base de datos. Estos archivos incluyen
archivos de datos, archivos de control y los registros de rehacer archivados. En última
instancia, cada copia de seguridad física es una copia de los archivos que almacenan
información de base de datos a otra ubicación, ya sea en un disco o en medios de
almacenamiento fuera de línea, tales como cinta.
Copias de seguridad lógicas contienen datos lógicos, como tablas y procedimientos
almacenados. Puede utilizar Oracle Data Pump para exportar los datos a archivos lógicos
binarios, que posteriormente puede importar a la base de datos. Clientes de línea de
comandos La bomba datos expdp y impdp utilizan el DBMS_DATAPUMP y
DBMS_METADATA PL / SQL paquetes.
Copias de seguridad físicas son la base de cualquier estrategia de recuperación de copia
de seguridad sólida y. Copias de seguridad lógicas son un complemento útil de las copias
de seguridad físicas en muchas circunstancias, pero no son suficiente protección contra
la pérdida de datos y sin respaldos físicos.
A menos que se especifique lo contrario, la copia de seguridad término tal como se
utiliza en la copia de seguridad y la documentación de recuperación se refiere a una
copia de seguridad física. Copia de seguridad de una base de datos es el acto de hacer
una copia de seguridad física. El enfoque en la copia de seguridad y recuperación de
documentación está casi exclusivamente en copias de seguridad físicas.
Recuperación en Oracle
Red Log Files: dos o más archivos donde se registra cualquier modificación transaccional
de una memoria intermedia de la BD.
Archivos de control: metadatos necesarios para operar en la base de datos, incluyendo
información sobre copias de seguridad.
Segmento Rollback: guarda las últimas sentencias realizadas sobre la BD y sabe cuándo
se ha confirmado o no una transacción.
En la Recuperación de un fallo: Recupera los datos con REHACER (Desde Redo Log File).
Deshace las transacciones no comprometidas con Deshacer (Desde el segmento de
rollback).
Los planes de mantenimiento de SQL Server 2019 (15.x) proporcionan las características
siguientes:
• Creación de flujos de trabajo con diferentes tareas de mantenimiento
típicas. También puede crear sus propios scripts Transact-SQL personalizados.
• Jerarquías conceptuales. Cada plan le permite crear o editar flujos de trabajo de
tareas. Las tareas de cada plan se pueden agrupar en subplanes, que se pueden
programar para ejecutarse a horas diferentes.
• Compatibilidad con planes multiservidor que se pueden utilizar en entornos de
servidor maestro o servidor de destino.
• Compatibilidad con el historial de planes de registro en los servidores remotos.
• Compatibilidad con la autenticación de Windows y la autenticación de SQL
Server. Siempre que sea posible, utilice la autenticación de Windows.
• Ejecutar trabajos del Agente SQL Server . Se puede usar para crear trabajos que
realicen diversas acciones y los planes de mantenimiento para ejecutar esos
trabajos.
Los resultados generados por las tareas de mantenimiento pueden escribirse en forma
de informe en un archivo de texto o en las tablas del plan de mantenimiento,
(sysmaintplan_log y sysmaintplan_logdetail) en msdb. Para ver los resultados en el visor
de archivos de registro, haga clic con el botón derecho en Planes de mantenimiento y,
luego, haga clic en Ver historial.
HERRAMIENTAS DE MIGRACIÓN
En comparación con la consultoría estándar de migraciones, la cual puede ofrecer poco
más que soporte a la base de datos, nosotros tenemos gran experiencia en escribir
grandes aplicaciones para empresas en sintaxis de la base de datos nativa y cross.
Además, enseñamos a los equipos de las empresas una metodología y les
proporcionamos una potente gama de herramientas para reducir costes y optimizar el
proceso de migración
Práctica 1
--PRACTICA 1 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN: Creando el primer respaldo completo
USE pubs
GO
-- PASO 3: COMPARA FISICAMENTE LOS DOS RESPALDOS Y PON OBSERVACIONES POR MEDIO DE
COMENTARIOS
-- EN EL QUERY
/*
LA BASE DE DATOS PUBS, ORIGINALMENTE PESA 8,192KB.
A PESAR DE QUE AMBOS RESPALDOS PERTENECEN A LA MISMA BASE DE DATOS, Y CONTIENEN
EXACTAMENTE
LOS MISMOS DATOS, EL TAMAÑO DE ENTRE LA BASE DE DATOS Y AMBOS RESPALDOS ES
DIFERENTE.
--EL PRIMERO, EL CUAL SE HIZO DIRECTAMENTE, SIN ESPECIFICAR NADA, PESA 4,660KB.
--EL SEGUNDO CON LA COMPRESIÓN, TERMINÓ PESANDO 616KB.
Práctica 2
--PRACTICA 2 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN: Respaldo completo con avance de 10%
Práctica 3
--PRACTICA 3 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN:
/*RETOMA LA BASE DE DATOS DE ALMACEN DE LA UNIDAD DOS, NO LA DE PARTICIONES.
CREALE UN
RESPALDO COMPLETO CON AL MENOS 4 PARAMETROS. UTILIZA DISTINTOS A LOS QUE HAZ
USADO HASTA
AHORITA. */
USE ALMACEN
GO
Práctica 4
--PRACTICA 4 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN: Creación y respaldo de una BDD
--CREA UNA BASE DE DATOS LLAMADA ALUMNOSABD CON LAS TABLAS CARRERAS, ALUMNOS,
HORARIOACTUAL MATERIAS (CON PK Y FK)
CREATE DATABASE ALUMNOSABD ON PRIMARY(
NAME = 'ALUMNOSABD.MDF',
FILENAME = 'C:\ABD2020\ALUMNOSABD.MDF'
)LOG ON(
NAME = 'ALUMNOSABD.LDF',
FILENAME = 'C:\ABD2020\ALUMNOSABD.LDF'
);
USE ALUMNOSABD
GO
--CREA UNA BASE DE DATOS LLAMADA ALUMNOSABD CON LAS TABLAS CARRERAS, ALUMNOS,
HORARIO ACTUAL, MATERIAS(CON PK Y FK)
CREATE TABLE MATERIA (
ID_MATERIA INT NOT NULL PRIMARY KEY
,NOMBRE_MATERIA VARCHAR(30)
,CREDITOS TINYINT
);
,NOMBRE_ALUMNO VARCHAR(80)
,ID_CARRERA VARCHAR(5) REFERENCES CARRERA (ID_CARRERA)
);
GO
/*INSERT A LOS ALUMNOS DE LAS LISTAS (CON BULK INSERT) QUE TE SUBIR A EL DRIVE
(PREPARA LOS ARCHIVOS
ADECUADAMENTE COMO LO HICIMOS EL SEMESTRE PASADO) PERO PON LES CARRERAS
DIFERENTES, NO TODOS
SERAN DE SISTEMAS. (LO TIENES EN LA PRACTICA 20 DE LA UNIDAD PASADA)*/
BULK INSERT ALUMNOS
FROM 'C:\ABD2020\ALUMNOS.txt'
WITH(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
);
Práctica 5
--PRACTICA 5 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BASE DE DATOS PUBS:
USE pubs
GO
--A) INSERTA 1000 REGISTROS EN LA BD, ELIGE UNA TABLA QUE SE PUEDA REALIZAR ESTA
ACCIÓN (PK AUTOINCREMENTAL)
SELECT*FROM JOBS
INSERT INTO jobs VALUES
('Inserción masiva',75,150)
GO 1000
--E) REALIZA UN SEGUNDO RESPALDO DIFERENCIAL SIN COMPRIMIRLO, SOLO CON NAME,
DESCRIPTION Y EXPIREDATE.
BACKUP DATABASE PUBS
TO DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
NAME = 'RESPALDO DIFERENCIAL DE PUBS',
DESCRIPTION = 'RESPALDO DIFERENCIAL',
EXPIREDATE = '12/12/2020',
DIFFERENTIAL
GO
Práctica 6
--PRACTICA 6 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESPALDOS SOLO COPIA
/* MENSAJE DE RETORNO
Se han procesado 576 páginas para la base de datos 'PUBS', archivo 'pubs' en el
archivo 1.
Se han procesado 2 páginas para la base de datos 'PUBS', archivo 'pubs_log' en el
archivo 1.
BACKUP DATABASE procesó correctamente 578 páginas en 0.330 segundos (13.671
MB/s).
Práctica 7
--PRACTICA 7 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BD NORTHWIND REALIZA LO SIGUIENTE:
USE Northwind
GO
--A) AUMENTA UN 10% A LOS PRECIOS DE LOS PRODUCTOS CUYA CATEGORIA EMPIECE CON UNA
‘C’.
SELECT PRODUCTNAME,UNITPRICE FROM PRODUCTS WHERE PRODUCTNAME LIKE 'C%'
UPDATE PRODUCTS SET UNITPRICE = UNITPRICE*1.1 WHERE PRODUCTNAME LIKE 'C%'
GO
--D) INSERTA DOS ORDENES DE COMPRA COMPLETAS (ES DECIR LA ORDEN Y SU DETALLE DE
ORDEN CON AL MENOS 2 ARTICULOS VENDIDOS EN CADA UNA)
SELECT*FROM ORDERS
SELECT*FROM Customers
INSERT INTO Orders
(CustomerID,EmployeeID,OrderDate,RequiredDate,ShippedDate,ShipVia,ShipName)
VALUES
('WELLI',9,GETDATE(),GETDATE(),GETDATE(),1,'El Mojo de Ajo'), ---11078
('ROMEY',5,GETDATE(),GETDATE(),GETDATE(),2,'El burrito loco');---11079
GO
--G) INSERTA TODOS LOS EMPLEADOS CUYA FECHA DE NACIMIENTO SEA MENOR AL 2000 EN LA
TABLA CREADA
INSERT INTO EMPLEADOS_HISTORICO
SELECT * FROM Employees WHERE BirthDate < '01-01-2000'
GO
select * from EMPLEADOS_HISTORICO
--I) ACTUALIZA LAS FECHAS DE LAS ORDENES QUE QUEDEN CON FECHAS DEL 2020,2019,2018
select*from Orders
UPDATE Orders
SET OrderDate=DATEADD(YEAR,22,OrderDate),
ShippedDate=DATEADD(YEAR,22,ShippedDate),
RequiredDate=DATEADD(YEAR,22,RequiredDate)
GO
--L) ACTUALIZA LAS EDADES DE LOS EMPLEADOS HAZLOS MAS JOVENES QUE TENGAN ENTRE 20
Y 30 AÑOS
SELECT * FROM Employees
UPDATE Employees
SET BirthDate= ('1-4-1999') WHERE EmployeeID <5 UPDATE Employees
SET BirthDate= ('1-4-1980') WHERE EmployeeID >5 AND EmployeeID <10 UPDATE
Employees
SET BirthDate= ('1-4-1986') WHERE EmployeeID >10
Práctica 8
--PRACTICA 8 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESPALDOS LOG DE TRANSACIONES
Práctica 9
--PRACTICA 9 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESPALDOS DIVIDIDO EN VARIOS ARCHIVOS
Práctica 10
--PRACTICA 10 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BD ALMACEN REALIZA LO SIGUIENTE:
use ALMACEN;
select*from INVENTARIO;
select*from ENTRADAS_SALIDAS;
GO
--CREA UNA TABLA CON DOS CAMPOS Y CREALE RELACION CON ALGUNA TABLA.
create table proveedor(
IDProveedor int primary key,
ProvResponsable varchar(40),
ProvNumTel varchar(15)
);
alter table inventario add IDproveedor int constraint FK_IDProv references
proveedor(IDproveedor);
--INSERTALE REGISTRO A LA TABLA QUE CREASTE
insert into proveedor values
(100,'Marinela','3112549865'),
(250,'Barcel','3102949293'),
(145,'Coca-Cola','3129498288'),
(123,'LaLa','239818239'),
(54,'Sabritas','3111832449');
--REALIZA UN RESPALDO DIFERENCIAL Y JUEGA CON LOS DISTINTOS PARAMETROS PARA QUE
PRACTIQUES
BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo2_Almacen.BAK'
WITH
DIFFERENTIAL, COPY_ONLY,
NAME = '2do respaldo Almacen',
DESCRIPTION = 'Respaldo Almacén de solo copia',
RETAINDAYS = 120,
STATS = 1,
COMPRESSION,
STOP_ON_ERROR;
GO
Práctica 11
--PRACTICA 11 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BD DE SUPERHEROES SE LES SUBIRA AL DRIVE, SIN DATOS:
use superheroes;
go
Práctica 12
--PRACTICA 12 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: REALICE LA RESTAURACIÓN DE LOS ENCABEZADOS DE TODOS LOS RESPALDOS
QUE HAYAS REALIZADO, HASTA ESTE MOMENTO.
--PRACTICA 5
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
--PRACTICA 6
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESP_SOLO_COPIA.BAK'
--PRACTICA 7
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\NRTWND.BAK'
--PRACTICA 8
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESPLOG.TRN'
--PRACTICA 9
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R1\R1_ALM.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R2\R2_ALM.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R3\R3_ALM.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R1\R1_ALMABD.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R2\R2_ALMABD.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R3\R3_ALMABD.BAK'
--PRACTICA 10
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo_Almacen.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo2_Almacen.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo_Almacen_LOG.BAK'
--PRACTICA 11
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo_SuperHeroes.BAK'
Práctica 13
--PRACTICA 13 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESTAURACION DE UN RESPALDO COMPLETO
--A) RESTAURA EL HEADER DEL PRIMER BACKUP COMPLETO NORTWIND QUE REALIZASTE.
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\NRTWND.BAK'
GO
Práctica 14
--PRACTICA 14 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RECUPERAR ACTUALIZACION DE LA BASE DE DATOS DE NORTHWIND
--Verificar el estatus:
SELECT NAME, STATE_DESC
FROM SYS. DATABASES
WHERE NAME = 'Northwind'
--State_desc= ONLINE
Práctica 15
--PRACTICA 15 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: EN LA BASE DE DATOS PUBS:
--DE LOS MOVIENTOS QUE HABIAS REALIZADO EN LA BD, QUE NO PUDISTE RECUPERAR?
--Después de la restauración, evidentemente se perdió el Autor que se nos habia
solicitado que insertaramos
file=4,
REPLACE,
NORECOVERY
GO
-- VERIFICAR EL ESTATUS DE LA BD
SELECT NAME,STATE_DESC
FROM SYS.DATABASES
WHERE NAME ='PUBS'
GO
Práctica 16
--PRACTICA 16 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RESTAURACION Y MOVIMIENTO DE LA BASE DE DATOS DE NORTHWIND A OTRO
DIRECTORIO
USE MASTER
GO
RESTORE FILELISTONLY
FROM DISK = 'C:\ABD2020\NRTWND.BAK'
GO
Práctica 17
--PRACTICA 17 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RESTAURACION Y MOVIMIENTO DE LA BASE DE DATOS DE SUPERHEROES A
OTRO DIRECTORIO
Práctica 18
--PRACTICA 18 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RESTAURA EL RESPALDO COMPLETO 1 DE LA BD PUBS EN OTRA UBICACIÓN Y
CON UN NOMBRE NUEVO DE LA BD (PUBLICACIONES) TANTO FISICO COMO LOGICO
Práctica 19
--PRACTICA 19 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN:
/*DISEÑAR UNA BASE DE DATOS PARA LLEVAR EL CONTROL DE LOS
PRESTAMOS,
REALIZAR LAS INSERCIONES NECESARIAS PARA RELLENAR LA BASE DE DATOS.
ASÍ COMO TAMBIEN, REALIZAR LOS RESPALDOS PARA MANTENER SEGURA LA
INFORMACIÓN DE LA BD.*/
USE PRESTAMOS
GO
PREIMPORTE MONEY,
PRENOABONO SMALLINT,
PREABONOX MONEY,
PRESALDO MONEY,
PREINTERES SMALLINT,
PREFECHALIMITE DATETIME,
PRESEXO CHAR(1)
);
CREATE TABLE ABONO
(
PREID INT NOT NULL REFERENCES PRESTAMOS(PREID),
ABOID INT,
ABOFECHA DATETIME,
ABOIMPORTE MONEY,
ABOFORMATO CHAR(1)
);
go
--MIGRAR LOS DEUDORES POR MEDIO DE UN COMANDO BULK INSERT DEL ARCHIVO
(DEUDORES.TXT)
BULK INSERT DEUDOR
FROM 'C:\ABD2020\DEUDORES.txt'
WITH(
FIELDTERMINATOR = ','
)
go
--MIGRA LOS ABONOS POR MEDIO DE LA HERRAMIENTA GRAFICA DEL ARCHIVO (ABONO.XLS)
--Capturas en la parte de abajo, (Memoria de practicas)
SELECT * FROM ABONO
GO
Práctica 20
--PRACTICA 20 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: BORRADO DE BASE DE DATOS Y RECUPERACION EN BASE A RESPALDOS
use almacen;
--DROPEA LA BD ALMACEN
use master;
drop database ALMACEN;
Práctica 21
--PRACTICA 21 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: USTED HACIENDO UNA REVISION EN LA BD DE SUPERHEROES
/*HA DETECTADO QUE ALGUIEN MAL INTENCIONADO HIZO LAS INSERCIONES EN LAS TABLAS DE
DETALLE ENEMIGO Y DETALLE
PODERES DE LOS HEROES (ES DECIR EL PASO K DE LA PRACTICA 11).
USTED COMO DBA DEBE CORREGIR EL ERROR. INDIQUE LOS PASOS QUE DEBE REALIZAR EN
COMENTARIOS
DEL QUERY. DESPUES REALICELO. PERO SABIENDO QUE LA BD DEBE DE QUEDAR CON TODOS
LOS MOVIMIENTOS EXCEPTO LO
QUE HIZO ESA PERSONA MAL INTENCIONADA.*/
--Una vez restaurada la base de datos, procedemos a insertar los heroes que ya
habiamos insertado antes
insert into heroes (NOMBRE_HER,APODO_HER) values
('Bruce Wayne','Batman'),
('Garfield Mark Logan','Chico Bestia'),
('Peter Parker','Spiderman'),
('Triton','Sirenoman'),
('Clark Kent','Superman'), --5
('Oliver Jonas Queen','Flecha Verde'),
('Arthur Curry','Aquaman'),
('Barry Allen','Flash'),
('Hal Jordan','Linterna Verde'),
('Carol Susan Jane Danvers','Capitana Marvel');
go
Práctica 22
--PRACTICA 22 DE LA UNIDAD 4
Práctica 23
--PRACTICA 23 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: PLAN DE MANTENIMIENTO EN BD DE GUARDERIA EN BASE A LO QUE GUARDA
MANTENIMIENTO.*/
-/*arece ser que solo se requiere un respaldo completo cada 3 meses y uno
diferencial mensual, la reconstruccion
de indices deberá ser por año*/
Práctica 24
--PRACTICA 24 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: Migración por medio de bulk insert de Excel a SQL
select*from alumnos
select*from Carreras
Práctica 25
--PRACTICA 25 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: BCP - QUERYOUTTESTER_NORTHWIND
use TESTER_NORTHWIND
select*from Employees
--EXPORTA LA LISTA DE EMPLEADOS A UN ARCHIVO DE TEXTO.
--BCP "SELECT E.FirstName, E.LastName FROM TESTER_NORTHWIND.DBO.Employees E"
queryout "C:\ABD2020\EmpleadosNorth.txt" -c -U sa -P 2539 -t"|"
--EXPORTA A UN ARCHIVO DE TEXTO EL TOTAL QUE COBRABOS POR CADA ORDEN DE VENTA.
RECUERDA QUE DEBES CALCULARLO CON DESCUENTO Y TODO.
--BCP "SELECT O.OrderID, SUM((O.UnitPrice*Quantity)-O.Discount) AS 'TOTAL' FROM
TESTER_NORTHWIND.DBO.[Order Details] O GROUP BY O.OrderID" queryout
"C:\ABD2020\CobroPorOrdenes.txt" -c -U sa -P 2539 -t"|"
Práctica 26
--PRACTICA 26 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 18/06/2020 (Para la segunda oportunidad)
--DESCRIPCIÓN:
/*EL ARCHIVO QUE GENERASTE PARA LA TABLA MIGRACION USALO Y MODIFICALO PARA
CONFIGURARLO QUE TENGAN EL FORMATO O
ESTRUCTURA DE LA TABLA DE EMPLEADOS. IMPORTARLOS CON BCP*/
--BCP "TESTER_NORTHWIND.DBO.EMPLOYEES" IN "C:\ABD2020\EMPLEADOS.TXT" -c -r "\n" -
t "," -U sa -P 2539 -S "DESKTOP-KR5SAUF"
Práctica 27
--PRACTICA 27 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: EXPORTAR E IMPORTR DATOS CON WIZARD TESTER_NORTHWIND
IMPORTACIÓN
EXPORTACION
Práctica 28
--PRACTICA 28 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: Base de datos de republica mexicana, exportación, importación,
respaldos y restauraciones
--DEBE TENER UNA TABLA PARA ESTADOS, OTRA PARA MUNICIPIOS Y OTRA PARA
LOCALIDADES.
create table Estados(
EstNum tinyint primary key,
EstNom varchar(50),
EstAbr varchar(10)
);
--RECUPERA LA BASE DE DATOS CON TODOS LOS DATOS QUE MIGRASTE Y LAS
ACTUALIZACIONES REALIZADAS.
--Verifico cual respaldo debo restaurar:
restore headeronly from disk='C:\ABD2020\RepMex.bak'
use master;
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=1,
REPLACE,
NORECOVERY;
go
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=6,
REPLACE,
RECOVERY;
go
use Republica_Mexicana
--NOTAS PARA MI
--IMPORTAR (Desde txt a bdd)
--bcp Republica_Mexicana.dbo.Municipio in C:\ABD2020\Municipio.txt -T -c
--bcp Republica_Mexicana.dbo.Localidad in C:\ABD2020\Localidad.txt -T -c
Paso 2
Paso 4
Paso 8
Práctica 29
--PRACTICA 29 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN:
/*DETERMINE UN PLAN DE MANTENIMIENDO PARA LA BASE DE
DATOS DEL INEGI Y UN PLAN DE RESPALDOS PERIODICOS O EN
PROCESAMIENTOS MASIVOS, INVESTIGUE LO QUE MANEJA EL INEGI PARA
REALIZARLO. SOLO LO PONDRA POR ESCRITO. EN LA MEMORIA DE PRÁCTICAS*/
/*Durante la investigación, pude detectar que hay varias dependencias del INEGI,
tomemos como ejemplo a ENIGH,
en su diseño de base de datos, esta se encuentra por niveles, el primero de
vivienda, el segundo de hogar y
el tercero del integrante del hogar, entre todas las tablas utilizadas se
requiere guardar muchisimos datos,
entre ellos el recuento de residentes, hogares por vivienda, ubicaciones, datos
de la vivienda, datos de cada integrante,
entre estos ultimos, valores de caracter sensible como sus ingresos y egresos,
además de preguntas personales*/
/*La base de datos requiere una mayor atención en periodos de censo, sin embargo
eso no quiere decir que debería quedar
sin, o con poco mantenimiento, para ello se sugiere un plan de mantenimiento que
involucre las siguientes recomendaciones:
--Fuente:
https://www.inegi.org.mx/contenidos/programas/enigh/nc/2018/doc/enigh18_descripto
r_archivos_fd_ns.pdf
Práctica 30
--PRACTICA 30 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN:
/*SUPOANGA QUE EL DEPARTAMENTO DE RECURSOS HUMANOS
DEL INSTITUTO TECNOLÓGICO DE TEPIC DESEA UN PLAN DE MANTENIMIENTO
PARA SU BASE DE DATOS QUE UTILIZA PARA EL MANEJO Y MOVIMIENTO DEL
PERSONAL Y PLAN DE RESPALDOS PARA SUS PROCESOS PERIODICOS,
ESCRIBA CUAL SERIA SU SUGERENCIA. (SOLO POR ESCRITO)*/
Conclusión
En conclusión, parte fundamental de las bases de datos, para su buen funcionamiento y
seguridad, es el mantenimiento que se le da respecto a respaldos, restauraciones e
incluso importaciones y exportaciones.
En nuestros servidores, día a día nos exponemos a muchas situaciones infortunadas que
podrían llegar a pasarle a nuestra valiosa información, mantener copias de tu
información resulta de mucha utilidad, así como, claro, restaurarlas.
Respecto a las importaciones o exportaciones, muchas veces necesitamos actualizarnos
conforme a las necesidades del giro de nuestra organización, por ejemplo, hasta hace
10 años, era muy común ver empresas o pequeños negocios utilizando programas como
Access o Excel para almacenar cientos o miles de datos, esto no es para nada eficiente
y menos hoy en día con toda la tecnología, es aquí donde entra la importación y
exportación, con el fin de transferir esa información a un entorno mas seguro como un
SGBD, el cual cuenta con herramientas para ello, eso vuelve más fácil el trabajo y es una
forma útil de no tener que transferir manualmente registro por registro.
Los próximos años, los SGBD proveerán herramientas más avanzadas para facilitar el
proceso de mantenimiento de la información.
Referencias
Microsoft. (2020). Documentación de migración de SQL Server - SQL Server. Recuperado
de https://docs.microsoft.com/es-es/sql/sql-server/migrate/?view=sql-server-ver15
Microsoft. (2016, agosto 1). Planes de mantenimiento - SQL Server. Recuperado de
https://docs.microsoft.com/es-es/sql/relational-databases/maintenance-
plans/maintenance-plans?view=sql-server-ver15
Instituto Tecnológico de Piedras Negras. (2016, mayo 8). Unidad V: Seguridad.
Recuperado de
http://www.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%2
0V
ADMINISTRACION DE BASE DE DATOS. (2017, junio 4). Recuperado de
http://omarefrainbejarnavarroadmondebd.blogspot.com/2017/06/unidad-2-
arquitectura-e-instalacion-del.html