Universidad de Sonora Departamento de Ingeniería...

44
Universidad de Sonora Departamento de Ingeniería Ingeniería en Sistema de Información Fredi Sario Roman Proyecto Administración de Bases de Datos Institución JAE TIJUANA SA DE CV 8 de abril 2019

Transcript of Universidad de Sonora Departamento de Ingeniería...

Page 1: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Universidad de Sonora

Departamento de Ingeniería

Ingeniería en Sistema de Información

Fredi Sario Roman

Proyecto

Administración de Bases de Datos

Institución

JAE TIJUANA SA DE CV

8 de abril 2019

Page 2: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Índice

Contenido

Descripción del área: ....................................................................................................................... 3

Justificación del proyecto: ............................................................................................................... 3

Objetivos del Proyecto: .................................................................................................................... 4

Problemas Planteados para resolverlos ....................................................................................... 4

Alcances y limitaciones en la solución de los problemas ........................................................... 5

Fundamento Teórico de las Herramientas y conocimientos Aplicados ................................... 6

Actividades desarrollas .................................................................................................................... 8

Conclusiones y recomendaciones ............................................................................................... 40

Retroalimentación ........................................................................................................................... 41

Referencias. .................................................................................................................................... 42

Page 3: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Introducción

Las practicas profesionales fueron realizadas dentro del área de sistemas de la

empresa JAE TIJUANA SA DE CV, que esta localizada en Tijuana baja california

norte durante el periodo de 7 de enero 2019 al 22 marzo 2019. Con horario de

7:00am a 17:00.

Descripción del área:

Las prácticas profesionales fueron realiza en el departamento de Sistemas, el

departamento esta divido en dos áreas, en telecomunicaciones y Sistemas de

información las practicas profesionales fueron realizadas de acuerdo al proyecto:

Administración de bases de datos.

Existen dos bases de datos para los siguientes sistemas de información: Servidor

TJSQLSVR base de datos Comparte y DatosJAE, Servidor TJSPERANTUSSVR

base de datos Hyperfile SQL, las bases de datos son utilizadas por diferentes

Módulos.

Justificación del proyecto:

La administración de las bases de datos es una actividad necesaria para mantener

los sistemas de información en buen funcionamiento, generar respaldos

programados, depurar índices en las tablas que son utilizadas con mayor frecuencia

por la memoria cache, revisar periódicamente la capacidad del espacio disponible

para las bases de datos, Monitorear los recursos del servidor virtual para garantizar

que las operaciones del administrador de la base de datos funcione en óptimas

condiciones.

Page 4: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Objetivos del Proyecto:

Dentro de las actividades que se realizaron durante las prácticas profesionales se

establecieron los siguientes objetivos, Analizar el hardware (servidor de virtuales),

Documentar el rendimiento de las bases de datos del sistema nomina TRESS,

Proponer una solución para el sistema nomina con la adquisición de un servidor

dedicado al sistema.

Programar el mantenimiento de las bases de datos respaldos y recuperaciones de

bases de datos en caso de perdida total, idéntica un área de oportunidad en el área

de producción y proponer una solución que ayude a la toma de decisiones de

administradores o supervisores también identificar los diferentes sistemas que

utilizan una misma base de datos.

Problemas Planteados para resolverlos

Uno de los mayores problemas que presenta la empresa en el departamento de

sistemas se refiere al servidor de nómina Sistema TRESS. El sistema presenta

lentitud durante los procesos de pre nomina y nomina, se realizó un análisis para

determinar que el servidor virtual carece de recursos suficientes para soportar las

operaciones y transacciones que se realizan en la base de datos durante los

procesos de pre nomina y nomina, como consecuencia los módulos de

supervisores, kiosco, cafetería y terminales (Registro Entrada y Salida) funcionan

con lentitud y en ocasiones dejan de funcionar. También se estableció identificar un

área de oportunidad para implementar una solución que ayude a los

administradores y supervisores a tomar e identificar con mas rapidez las posibles

fallas en los procesos de producción.

Page 5: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Alcances y limitaciones en la solución de los problemas

Se disponen de recursos físicos para realizan las prácticas y dar solución a los

problemas planteados y también contamos con la disposición del área de sistemas

para utilizar y evaluar el hardware y también conocer el desempeño de los sistemas

gestores de bases de datos, una limitación es que aprueben la compra del servidor

para la implementación de sistema de nómina, cada mitad de año se genera un

presupuesto donde se incluyen los valores económicos de los nuevos proyectos y

equipos que serán comprados.

Page 6: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Fundamento Teórico de las Herramientas y conocimientos Aplicados

Los conocimientos aplicados para realizar las siguientes actividades fueron

obtenidos durante varios años, se tomaron cursos de Windows server 2012, la

mayoría de los conocimientos fueron obtenidos atravesó de la experiencia utilizando

el sistema Management Studio y tomando tutorías en línea, se a logrado

comprender el funcionamiento del manejador de base de datos.

El leguaje SQL apoya la creación y mantenimiento de las bases de datos relaciona

y gestiona los datos dentro de la base de datos.

Por otra parte, los distintos proveedores de DBMS han desarrollado diferentes

arquitecturas, por lo que no todas las bases de datos están diseñadas de la misma

manera.

A lo largo de los años se ha implementado una serie de modelos de base de datos

para almacenar y administrar la información. Varios de los modelos más comunes

incluyen los siguientes:

Jerárquico

Este modelo tiene una estructura primario y secundario que es similar a un árbol

invertido, que es lo que constituye la jerarquía. Los datos están organizados en

nodos, el equivalente lógico de tablas en una base de datos relacional. Un nodo

principal puede tener muchos nodos secundarios, pero un nodo secundario sólo

puede tener un nodo principal. Aunque el modelo ha sido muy utilizado, a menudo

se considera inadecuado para muchas aplicaciones debido a su estructura inflexible

y la falta de apoyo de relaciones complejas. Aun algunas implementaciones como

IMS de IBM han introducido características que trabajan en torno a estas

limitaciones.

Page 7: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Relacional

Este modelo aborda algunas de las limitaciones de los modelos jerárquicos y de

red. En una base de datos de modelo jerárquico o de red, la aplicación se basa en

una implementación determinada de esa base de datos, que luego es codificada en

la aplicación. Si agrega un nuevo atributo (elemento de datos) a la base de datos,

debe modificar la aplicación, aun cuando no se use ese atributo. Sin embargo, una

base de datos relacional es independiente de la aplicación; puede hacer

modificaciones no destructivas a la estructura sin afectar la aplicación. Además, la

estructura de la base de datos relacional se basa en la relación, o tabla, junto con

la habilidad de definir relaciones complejas entre ellas. Se puede acceder

directamente a cada relación sin la lentitud de las limitaciones de los modelos

jerárquicos o propietario / miembro que requiere de una navegación a través de una

estructura compleja de datos.

Page 8: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Actividades desarrollas

Revisión de Hardware Actual

Servidor en rack PowerEdge R420

❖ Procesador Intel Xeon E5-2400

❖ 2 sockets del Procesador

❖ Sistema Operativo VMWARE vSphere ESX y ESXi

❖ Chipset Intel serie C600

❖ Memoria RAM 32 GB

❖ Almacenamiento 1TB

Servidores Virtuales dentro del Rack PowerEdge R420

❖ JTBFILESVR1 Servidor de archivos

❖ TJPRINTSVR2 Servidor de impresoras

❖ TJDOMSVR1 Servidor de Dominio

❖ TJSQLSVR Servidor de Nomina

❖ TJSPERANTUSSVR Servidor del sistema de Producción

Documentar el rendimiento de las Bases de datos

❖ Servidor Virtual TJSQLSVR (Sistema de Nomina)

❖ Microsoft SQL Server Estándar 64bit

❖ Operating System NT 6.2 (9200)

❖ Memoria 12228 MB, Processors 4

Page 9: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Proponer soluciones de acuerdo a las necesidades de la empresa

En JAE TIJUANA estamos evaluando el rendimiento de los servidores virtuales vs

servidores físicos y proponemos adquirir un servidor para el sistema de nómina

(Sistema TRESS). La cantidad de recursos que el sistema de nómina requiere son

insuficientes para trabajar en un ambiente sin fallas o lentitud en las operaciones

del proceso de nómina.

Servidor Virtual

CPU

Max: 2.40GHz

Socket: 2

Virtual Processors: 4

Virtual Machine: Yes

MEMORIA

Memoria disponible: 12GB

Slot used: N/A

Hardware reserverd: 0.4 MB

Servitor Fisico

Procesador Intel Xeon E3-1225 v5

Cache de 8 MB en Intel Xeon E3-1225 v5

4 slots DIMM

Hasta 6 discos duros SATA de 3.5

Memoria RAM 32GB DDR4

Microsoft Windows Server 2016

SQL Server2017 STD.

Page 10: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Programar el mantenimiento de las bases de datos.

Las bases de datos están respaldadas de dos maneras, respaldos completos y

respaldos diferenciales.

Los respaldos totales se realizan cada viernes y lunes a las 3:00am, los respaldos

están programados de acuerdo a la importancia de las operaciones y al espacio

disponible donde se guardan los respaldos. Después del pago de cada nomina de

Page 11: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

cada viernes el programa de respaldos realiza una copia de seguridad completa de

las dos bases de datos del sistema de Nomina para garantizar que las últimas

operaciones fueron respaldadas. Los respaldos Diferenciales están programados

para ejecutarse cada día.

El objetivo de los respaldos diferenciales es lograr respaldar las actividades de pre

nomina día a día, se ejecuta el programa de mantenimientos en el horario 2:00am

para no coincidir con otros procesos como actualización de huellas de las terminales

(reloj entrada y salida).

Page 12: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Proceso de recuperar las bases de datos

El proceso para recuperar la perdida de alguna base de datos consiste en primer

lugar, guardar los respaldos de las bases de datos en la nube o en dispositivos

físicos como discos duros externo.

El actual administrador de bases de datos SQL Server tiene disponible la opción del

asistente para recuperar una base de datos o para generar los respaldos.

Para recuperar raspados diferenciales es necesario primero respaldar el ultimo

respaldo completo de toda la base de datos y posteriormente ejecutar el respaldo

diferencial hasta donde identifiquemos que la integridad de las operaciones está

correctamente.

Page 13: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Archivos .bak de las bases de datos respaldadas.

Identificar un área de oportunidad en el departamento de producción

El área de oportunidad que identificamos para proponer una solución que ayude a

la toma de decisiones es el área de producción y en particular el área de calidad de

inspección final.

El objetivo registrar cada defecto que se genera en la línea de producción

actualmente existen 52 líneas de producción en cada línea se realiza un Arnés

diferente para la industria automotriz y como ejemplo Toyota, Honda, Autoliv.

Actualmente el SCRAP se contabiliza al finalizar cada turno llenando un reporte a

mano por el inspector final de calidad.

Proponer una solución que ayude a la toma de decisiones

Una solución para obtener la información más rápidamente es implementar un

sistema donde el operador pueda ingresar la información de cada defecto que

encuentra cada vez que inspecciona el producto terminado.

Page 14: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

El sistema que desarrollamos está dedicado para que el personal de inspección final

pueda capturar el SCRAP por cada línea de producción. Cada línea de producción

tiene asignado un usuario y contraseña para ingresar al sistema.

Pantalla principal del sistema

El sistema tiene las opciones crear una línea nueva dar de alto los modelos que

son ensamblados en cada línea de producción, también es posible dar de alta los

usuarios que utilizaran el sistema.

Page 15: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

El sistema tiene la opción para capturar el SCRAP y los detalles para cada

hallazgo.

Page 16: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Algunas de las opciones que deben ser capturados son Línea, Turno, Estación,

Orden de trabajo, Modelo y defecto encontrado, así como la cantidad de hallazgos.

Page 17: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

El sistema tiene programado un reporte donde seleccionado una fecha obtenemos

el listado por fecha de todos los hallazgos en todas las líneas de producción.

Page 18: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

El sistema fue desarrollado en Visual Studio utilizando el lenguaje de programación

C# el sistema está desarrollado y orientado a objetos las clases que están

implementadas son Categorias, DBcomun, Defectos, DefectosDAL, Empleado,

Estacion, Linea, Modelo y Turno.

Page 19: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

El sistema tiene una base de datos que esta generada en SQL server 2008 y

contiene las siguientes tablas Categoría, Componentes, Defectos, Empleados,

Estaciones, Líneas, Modelos, Rechazos y SCRAP. El nombre de la base de datos

es “dtJAE”

Page 20: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Identificar y documentar los Sistema de Nomina (Sistema Tress)

El Sistema de Nomina Tress, está dedicado exclusivamente para elaborar la pre

nómina y nómina de los trabajadores de JAE Tijuana y también administra toda la

información de los empleados desde su ingreso hasta la finalización de su contra,

Page 21: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

administra los registro de entrada y salida que es la base para generar la pre nómina

y todos los impuestos que la empresa debe pagar por ejemplo: IMSS.

Módulo de Supervisores

El módulo de supervisores está dedicado exclusivamente para los supervisores y

jefes de producción, los supervisores revisan la asistencia del personal, autorizan

horas extras y elaboran permisos. Cada supervisor puede ver el personal a su cargo

en la lista si aparece una cruz roja quiere decir que el operador no registro entrada

o salida.

Page 22: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Modulo Timbrado de Nomina

El módulo de Timbrado de Nomina es utilizado para registrar ante las diferentes

dependencias de gobierno el pago de cada empleado que labora en JAE Tijuana.

Este módulo es exclusivamente para el departamento de Recursos Humanos.

Page 23: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Pantallas Modulo Kiosco

El Módulo de kiosco es una aplicación que sirva para que el empleado consulte los

recibos de nómina, consumos de cafetería, días de vacaciones, Ahorro y la pre

nómina.

Page 24: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Pantalla Modulo de cafetería

El módulo de cafetería sirve para registrar los diferentes consumos del operador,

pueden ser desayuno, comidas y los consumos son descontados automáticamente

del pago de cada semana. El sistema mantiene un historial por semana del total de

consumos durante el periodo de nómina.

Page 25: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Terminales GTI (Registro Entrada y Salida)

Existen equipos periféricos conectados al servidor web, las terminales son

dispositivos instalados estratégicamente en la planta JAE Tijuana, para el registro

de entrada y salida del personal. Cada registro es actualizado al instante en la

base de datos del sistema de Nomina Tress.

Page 26: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Sistemas que comparten un mismo DBMM

El sistema de Nomina (Tress), utiliza diferentes módulos que comparten una misma

base de datos o las mismas bases de datos, los diferentes módulos interactúan con

la información que otros módulos actualizan o ingresan en las bases de datos.

Ejemplo Proceso de Pre Nomina.

Los supervisores validan la información de asistencia del operador, si todo está

correcto recursos humanos elabora la pre-nómina, posteriormente el supervisor

aprueba la pre-nómina. Cuando el supervisor finaliza la aprobación recursos

humanos procede y ejecuta la Nómina del periodo para pago. El proceso inicia

desde que el operador registra la entrada y salida en las terminales GTI y finaliza

cuando recibe el pago de la nómina del periodo trabajado.

Page 27: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Bases de datos: COMPARTE

Estado actual del uso de la memoria en SQL Server.

SELECT

physical_memory_kb,

virtual_memory_kb,

committed_kb,

committed_target_kb

FROM sys.dm_os_sys_info;

Esta consulta retorno la cantidad de memoria que una base datos está utilizando

en MB

SELECT

databases.name AS database_name,

COUNT(*) * 8 / 1024 AS mb_used

FROM sys.dm_os_buffer_descriptors

INNER JOIN sys.databases

ON databases.database_id = dm_os_buffer_descriptors.database_id

GROUP BY databases.name

ORDER BY COUNT(*) DESC;

Page 28: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Esta consulta retorno la cantidad de páginas en el buffer y la cantidad de memoria

en MB

SELECT

COUNT(*) AS buffer_cache_pages,

COUNT(*) * 8 / 1024 AS buffer_cache_used_MB

FROM sys.dm_os_buffer_descriptors;

Esta consulta devuelve el número de páginas en el buffer de cada tabla

Y la cantidad de memoria que consume.

SELECT

objects.name AS object_name,

objects.type_desc AS object_type_description,

COUNT(*) AS buffer_cache_pages,

COUNT(*) * 8 / 1024 AS buffer_cache_used_MB

FROM sys.dm_os_buffer_descriptors

INNER JOIN sys.allocation_units

ON allocation_units.allocation_unit_id =

dm_os_buffer_descriptors.allocation_unit_id

INNER JOIN sys.partitions

ON ((allocation_units.container_id = partitions.hobt_id AND type IN (1,3))

OR (allocation_units.container_id = partitions.partition_id AND type IN (2)))

Page 29: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

INNER JOIN sys.objects

ON partitions.object_id = objects.object_id

WHERE allocation_units.type IN (1,2,3)

AND objects.is_ms_shipped = 0

AND dm_os_buffer_descriptors.database_id = DB_ID()

GROUP BY objects.name,

objects.type_desc

ORDER BY COUNT(*) DESC;

Esta consulta muestra los datos por índice y muestra la cantidad de memoria

utilizada por el buffer

SELECT

indexes.name AS index_name,

objects.name AS object_name,

objects.type_desc AS object_type_description,

COUNT(*) AS buffer_cache_pages,

COUNT(*) * 8 / 1024 AS buffer_cache_used_MB

FROM sys.dm_os_buffer_descriptors

Page 30: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

INNER JOIN sys.allocation_units

ON allocation_units.allocation_unit_id =

dm_os_buffer_descriptors.allocation_unit_id

INNER JOIN sys.partitions

ON ((allocation_units.container_id = partitions.hobt_id AND type IN (1,3))

OR (allocation_units.container_id = partitions.partition_id AND type IN (2)))

INNER JOIN sys.objects

ON partitions.object_id = objects.object_id

INNER JOIN sys.indexes

ON objects.object_id = indexes.object_id

AND partitions.index_id = indexes.index_id

WHERE allocation_units.type IN (1,2,3)

AND objects.is_ms_shipped = 0

AND dm_os_buffer_descriptors.database_id = DB_ID()

GROUP BY indexes.name,

objects.name,

objects.type_desc

ORDER BY COUNT(*) DESC;

Page 31: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Esta consulta muestra el porcentaje de cada tabla que está en la memoria,

Muestra la cantidad de páginas contra el total de cada tabla.

WITH CTE_BUFFER_CACHE AS (

SELECT

objects.name AS object_name,

objects.type_desc AS object_type_description,

objects.object_id,

COUNT(*) AS buffer_cache_pages,

COUNT(*) * 8 / 1024 AS buffer_cache_used_MB

FROM sys.dm_os_buffer_descriptors

INNER JOIN sys.allocation_units

ON allocation_units.allocation_unit_id =

dm_os_buffer_descriptors.allocation_unit_id

INNER JOIN sys.partitions

Page 32: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

ON ((allocation_units.container_id = partitions.hobt_id AND type IN (1,3))

OR (allocation_units.container_id = partitions.partition_id AND type IN (2)))

INNER JOIN sys.objects

ON partitions.object_id = objects.object_id

WHERE allocation_units.type IN (1,2,3)

AND objects.is_ms_shipped = 0

AND dm_os_buffer_descriptors.database_id = DB_ID()

GROUP BY objects.name,

objects.type_desc,

objects.object_id)

SELECT

PARTITION_STATS.name,

CTE_BUFFER_CACHE.object_type_description,

CTE_BUFFER_CACHE.buffer_cache_pages,

CTE_BUFFER_CACHE.buffer_cache_used_MB,

PARTITION_STATS.total_number_of_used_pages,

PARTITION_STATS.total_number_of_used_pages * 8 / 1024 AS

total_mb_used_by_object,

CAST((CAST(CTE_BUFFER_CACHE.buffer_cache_pages AS DECIMAL) /

CAST(PARTITION_STATS.total_number_of_used_pages AS DECIMAL) * 100)

AS DECIMAL(5,2)) AS percent_of_pages_in_memory

FROM CTE_BUFFER_CACHE

INNER JOIN (

SELECT

objects.name,

objects.object_id,

SUM(used_page_count) AS total_number_of_used_pages

FROM sys.dm_db_partition_stats

INNER JOIN sys.objects

ON objects.object_id = dm_db_partition_stats.object_id

WHERE objects.is_ms_shipped = 0

Page 33: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

GROUP BY objects.name, objects.object_id) PARTITION_STATS

ON PARTITION_STATS.object_id = CTE_BUFFER_CACHE.object_id

ORDER BY CAST(CTE_BUFFER_CACHE.buffer_cache_pages AS DECIMAL) /

CAST(PARTITION_STATS.total_number_of_used_pages AS DECIMAL) DESC;

Page 34: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Esta consulta muestra la cantidad de espacio disponible por cada tabla

SELECT

objects.name AS object_name,

objects.type_desc AS object_type_description,

COUNT(*) AS buffer_cache_pages,

CAST(COUNT(*) * 8 AS DECIMAL) / 1024 AS buffer_cache_total_MB,

CAST(SUM(CAST(dm_os_buffer_descriptors.free_space_in_bytes AS

BIGINT)) AS DECIMAL) / 1024 / 1024 AS buffer_cache_free_space_in_MB,

CAST((CAST(SUM(CAST(dm_os_buffer_descriptors.free_space_in_bytes

AS BIGINT)) AS DECIMAL) / 1024 / 1024) / (CAST(COUNT(*) * 8 AS DECIMAL) /

1024) * 100 AS DECIMAL(5,2)) AS buffer_cache_percent_free_space

FROM sys.dm_os_buffer_descriptors

INNER JOIN sys.allocation_units

ON allocation_units.allocation_unit_id =

dm_os_buffer_descriptors.allocation_unit_id

INNER JOIN sys.partitions

ON ((allocation_units.container_id = partitions.hobt_id AND type IN (1,3))

OR (allocation_units.container_id = partitions.partition_id AND type IN (2)))

INNER JOIN sys.objects

ON partitions.object_id = objects.object_id

WHERE allocation_units.type IN (1,2,3)

AND objects.is_ms_shipped = 0

AND dm_os_buffer_descriptors.database_id = DB_ID()

GROUP BY objects.name,

objects.type_desc,

objects.object_id

HAVING COUNT(*) > 0

ORDER BY COUNT(*) DESC;

Page 35: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible
Page 36: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Esta consulta muestra la cantidad de páginas limpias y en uso en la memoria

cache del buffer

SELECT

databases.name AS database_name,

COUNT(*) AS buffer_cache_total_pages,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 1

ELSE 0

END) AS buffer_cache_dirty_pages,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 0

ELSE 1

END) AS buffer_cache_clean_pages,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 1

ELSE 0

END) * 8 / 1024 AS buffer_cache_dirty_page_MB,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 0

ELSE 1

END) * 8 / 1024 AS buffer_cache_clean_page_MB

FROM sys.dm_os_buffer_descriptors

INNER JOIN sys.databases

ON dm_os_buffer_descriptors.database_id = databases.database_id

GROUP BY databases.name;

Page 37: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Esta consulta muestra el uso de la memoria cache del buffer por índice, cuantas

páginas en la memoria están limpias o sucias.

SELECT

indexes.name AS index_name,

objects.name AS object_name,

objects.type_desc AS object_type_description,

COUNT(*) AS buffer_cache_total_pages,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 1

ELSE 0

END) AS buffer_cache_dirty_pages,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 0

ELSE 1

END) AS buffer_cache_clean_pages,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 1

ELSE 0

END) * 8 / 1024 AS buffer_cache_dirty_page_MB,

SUM(CASE WHEN dm_os_buffer_descriptors.is_modified = 1

THEN 0

ELSE 1

END) * 8 / 1024 AS buffer_cache_clean_page_MB

FROM sys.dm_os_buffer_descriptors

Page 38: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

INNER JOIN sys.allocation_units

ON allocation_units.allocation_unit_id =

dm_os_buffer_descriptors.allocation_unit_id

INNER JOIN sys.partitions

ON ((allocation_units.container_id = partitions.hobt_id AND type IN (1,3))

OR (allocation_units.container_id = partitions.partition_id AND type IN (2)))

INNER JOIN sys.objects

ON partitions.object_id = objects.object_id

INNER JOIN sys.indexes

ON objects.object_id = indexes.object_id

AND partitions.index_id = indexes.index_id

WHERE allocation_units.type IN (1,2,3)

AND objects.is_ms_shipped = 0

AND dm_os_buffer_descriptors.database_id = DB_ID()

GROUP BY indexes.name,

objects.name,

objects.type_desc

ORDER BY COUNT(*) DESC;

Page 39: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Consulta que muestra la cantidad de segundos que una página permanecerá en la

memoria sin ser accedida y que después tendrá que ser removida.

SELECT

*

FROM sys.dm_os_performance_counters

WHERE dm_os_performance_counters.object_name LIKE '%Buffer Node%'

AND dm_os_performance_counters.counter_name = 'Page life expectancy';

Cntr_value: es el valor del Contador de desempeño 37086 segundos.

Page 40: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Conclusiones y recomendaciones

Para el buen funcionamiento de los sistemas de bases de datos y para que los

sistemas funcionen correctamente durante los procesos rutinarios es necesario

realizar pruebas durante el desarrollo de las aplicaciones para conocer los

requerimientos mínimos de hardware también es necesario validar que tipo de

servidor es la mejor opción y tomando en cuenta que los servidores virtuales

comparten un mismo equipo y que a su vez comparten los recursos disponibles.

Por la forma y configuración de los servidores virtuales alojados dentro del mismo

equipo, recomendamos al gerente del departamento que es necesario adquirí un

servidor para la instalación del sistema de Nomina Tres, por lo contrario, los

recursos estarán limitados y los sistemas funcionaran con lentitud y en ocasiones

dejaran de funcionar.

Page 41: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Retroalimentación

Estudiar la carrera de ingeniería en sistemas de información fue un deseo y con el

paso de los años durante el curso de mis estudios dentro de la universidad de

sonora, logre comprender la importancia de trabajar en equipo y con ética

profesional, me considero una persona dedicada a mi trabajo y desempeño cada

día las actividades de las que soy responsable con mucha pasión, me siento bien

de ser parte del grupo de trabajo del área de sistemas, es importante mantenerse

en constante aprendizaje para lograr estar actualizado en las nuevas tecnologías.

Considero que una de mis fortalezas es la dedicación a mi trabajo y a las actividades

que tengo como responsabilidades dentro del área de sistemas, me fue fácil realizar

las actividades planteadas en el programa de actividades por que soy la persona

responsable del funcionamiento óptimo de los diferentes sistemas de información y

la administración de la información de las diferentes bases de datos.

Una debilidad fue la falta de tiempo para lograr con más detalle la documentación

de las diferentes actividades relacionas a las prácticas, trabajar es muy diferente a

realizar las practicas profesionales donde en ocasiones tienes aun responsable que

te orienta para solucionar o entender algún problema dentro del departamento.

Una de mis fortalezas es lograr encontrar soluciones a los problemas planteados

dentro la empresa que tiene relación al área de sistemas, en ocasiones encontrar

una solución puede tardar días, pero la dedicación y el esfuerzo se puede encontrar

una solución al problema planteado.

Como oportunidades detectadas dentro del área de sistemas es contar con un área

de desarrollo de aplicaciones para lograr ayudar a los diferentes departamentos a

compartir información que los ayuden a tomar decisiones con mayor rapidez.

Page 42: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible

Referencias.

Fundamentos de SQL Andy Oppel Robert Sheldon Tercera Edición.

https://social.technet.microsoft.com/wiki/contents/articles/13620.windows-server-

2012-essentials-build-document.aspx

https://docs.microsoft.com/en-us/sql/sql-server/sql-server-technical-

documentation?view=sql-server-2016

Page 43: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible
Page 44: Universidad de Sonora Departamento de Ingeniería ...cp.isi.uson.mx/practicas_docs/204203943-reporte.pdfpor la memoria cache, revisar periódicamente la capacidad del espacio disponible