You are on page 1of 20

Optimización de motores SQL Server

desde el código hasta la administración

Expositor: Julián Castiblanco P


MCSA-MCITP-MCP SQL SERVER
Moderador: Kenneth Ureña
Gracias a nuestros auspiciadores

Database Security as Easy as A-B-C

http://www.greensql.com

Hardcore Developer and IT SQL Server Performance


Training Try PlanExplorer today!

http://www.pluralsight.com http://www.sqlsentry.com
Próximos SQL Saturday

6 de Diciembre de 2014
https://www.sqlsaturday.com/351/register.aspx

24 de Enero de 2015
https://www.sqlsaturday.com/346/register.aspx

18 de Abril de 2015
https://www.sqlsaturday.com/368/register.aspx

9 de Mayo de 2015
https://www.sqlsaturday.com/373/register.aspx
Capítulo Global PASS en Español

Reuniones semanales todos los miércoles a


las 12PM UTC-5 (Hora de Colombia)

https://www.facebook.com/SpanishPASSVC

4 4
Asistencia Técnica

Si requiere asistencia Use el botón de Zoom Escriba sus preguntas


durante la sesión debe para ajustar su pantalla en la sección de
usar la sección de al tamaño deseado preguntas que esta en el
preguntas que esta en el menú de la derecha
menú de la derecha.

5
Julián Castiblanco

Consultor de persistencia para Synergy TPC. Certificado como administrador


desde la versión SQL Server 2005. 7 años de experiencia desarrollando y
configurando bases de datos para distintas organizaciones del sector financiero
y salud.

6 6
Agenda

• Resolución de consultas en SQL Server


• Manejo de archivos en SQL Server
• Caso de la vida real 1: Cómo reemplazar Cursores?
• Caso de la vida real 2: Cómo reemplazar triggers?
• Caso de la vida real 3: Cómo puedo distribuir mis datos?

7 7
Como se guarda la información en SQL Server
1
2 3 4

Cliente
Archivo de Log Archivo de Datos
Transaccional *.MDF, *. NDF
*.LDF
Servidor de Base
De Datos
sqlservr.exe

8
COMO SE GUARDA LÓGICAMENTE

Distribución Distribución
Física Lógica
MDF, NDF Filegroup 1
T1 T3
T4
Filegroup 2
LDF
T2

9
COMO SE GUARDA LÓGICAMENTE

Distribución Distribución
Física Lógica
MDF, NDF Filegroup 1
T1 T3
T4
Filegroup 2
LDF
T2

10
Si lo sabemos porqué tenemos esto??

11
Ciclo de vida de una transacción SELECT

Consulta de árbol * SQLcommand

TDS
optimizador

Ejecutor de
Analizador
de sintaxis

consultas
SIN – SQL
Server TCP/IP
Network Shared
Motor Relacional (procesador de consultas) Interfaz memory
Plan de ejecución Name pipes
VIA

Buffer Pool
Ldf
transacción

Método de

Gestor del
Gestor de

file acceso
• Plan Caché

búfer
Mdf Capa de • Caché de datos
file Protocolo
Motor de almacenamiento

Profesional SQL Server 2012 Internals & Troubleshooting. Wrox 12


Ciclo de vida de una transacción SELECT

optimizador

Ejecutor de
Analizador
de sintaxis
TDS

consultas
SIN – SQL
Server TCP/IP
Network Shared
Motor Relacional (procesador de Interfaz memory
consultas) Name pipes
VIA

Buffer Pool
Ldf
transacción

Método de

Gestor del
Gestor de

file acceso
• Plan Caché

búfer
Mdf Capa de • Caché de datos
file Protocolo
Motor de almacenamiento

Profesional SQL Server 2012 Internals & Troubleshooting. Wrox 13


Ciclo de vida de una transacción UPDATE
QTree Lang. Event

optimizador
Analizador de sintaxis SIN – SQL
Server Network
Interfaz
QP Ejecutor de consultas TDS

Motor Relacional Capa de Protocolo


(procesador de consultas)

Buffer Pool
transacción

Método de

Gestor del
Gestor de

Ldf acceso

búfer
file • Plan Caché

• Caché de datos
Dirty
Mdf Motor de almacenamiento
Page
file
14
Caso de la vida real 1: Eliminando uso de cursores

• La empresa Nikel se dedica a realizar análisis de mercados, comprando y


analizando información de bases de datos de diferentes fuentes.
Actualmente se encuentra en la actividad de mejorar la calidad de
información, para lo cual lo contrata a usted para optimizar un procedimiento
almacenado que se encarga de tomar la información cargada a través de un
aplicativo del cual no tienen el código fuente de la aplicación y que a través
de un procedimiento almacenado actualiza la información de los clientes. El
problema más grande es el tiempo que toma la operación y el consumo
excesivo de recursos que se presenta cuando se ejecuta el proceso.

15 15
Caso de la vida real 2: Reemplazando Triggers

• El Banco Dolar, debe cumplir una normativa local de seguridad de la


información en la cual, todas las acciones de modificación de información
sobre la tabla de transacciones, debe ser auditada con sus valores previos y
nuevos en una tabla histórica. Actualmente, el equipo de proyectos comenta
que varios incidentes en la salida de mejoras del aplicativo se presenta por
la lógica compleja que manejan los disparadores en ciertas tablas.

16 16
Caso de la vida real 3: Como puedo distribuir mis
datos?
• La aplicación de facturación de la compañía vendo de todo. Está
presentando una degradación en el rendimiento durante el horario laboral.
Después de un análisis minucioso, el administrador de almacenamiento
descubre que el encolamiento en disco del disco “E” es bastante alto, así
como las lecturas y escrituras. El proveedor de la aplicación comenta que 2
de las tablas del sistema son bastante transaccionales. Al revisar la
configuración de la base usted encuentra que solo tiene un archivo de datos
que pesa cerca de 60GB de los cuales 30GB pertenece a información de las
2 tablas transaccionales. Que posibles opciones podrían plantearse a la
compañía?

17 17
Preguntas?
A continuación …

Durabilidad diferida de transacciones y


mejoras en gestión de bloqueos para
tareas administrativas en SQL Server 2014
Eladio Rincon
Gracias por participar

You might also like