Introducción al curso

1

Cómo aprenderás sobre optimización de bases de datos en SQL Server

2

¬ŅPor qu√© es importante optimizar tu base de datos?

3

Lista de requerimientos

4

Instalación de herramientas

5

Instalación de la base de datos

6

Analizar un plan de ejecución

Conociendo los índices

7

¬ŅC√≥mo nos pueden ayudar los √≠ndices?

8

Analizar las consultas para crear índices

9

Cuál índice utilizar y cómo forzar uno en específico

10

¬ŅSiempre son buenos los √≠ndices?

Optimización de consultas

11

Qué es Merge y cómo podemos utilizarlo

12

Distintas opciones de utilizar Merge

13

Qué es un Trigger y cómo podemos crearlo

14

Manejo de errores en trigger

15

Triggers a nivel administrativo

16

Qué es un Constraint y cómo funciona

17

Tablas versionadas

18

Utilizando Full Text Search para b√ļsquedas

Queries m√°s inteligentes

19

Tipos de funciones

20

Cómo funcionan las funciones tabla

21

Cómo funcionan las vistas

22

Procedimientos almacenados

23

Tablas temporales vs. tablas variables

Optimización de base de datos

24

Configuración de un Database Mail

25

Planes de mantenimiento: ordenar los índices en nuestra base de datos

26

Planes de mantenimiento: estrategia de respaldos

27

Planes de mantenimiento: log de base de datos con un tama√Īo controlado

28

Configurando TempDB

Monitoreo

29

Monitoreo con sp_who3

30

Monitoreo de actividades

Conclusión

31

Conclusión del curso

Monitoreo con sp_who3

29/31

Lectura

Uno de los procedimientos almacenados que más utilizo en mi día a día es sp_who3. Con este procedimiento se puede ver qué sucede en tiempo real en mi servidor de base de datos. El query de creación puedes encontrarlo aquí: https://github.com/royrojas/Platzi-SQL-Optimizacion/tree/28-querys-monitoreo

Es importante que a la hora de crearlo lo hagamos en la base de datos master, así desde cualquier base de datos lo podremos ejecutar. Importante aclarar que cualquier SP que hagamos en la base de datos master se puede utilizar desde cualquier lugar de nuestro servidor de base de datos. Por este motivo aquí es que vamos a crear los procedimientos de monitoreo.

Al ejecutar el procedimiento nos va a retornar varios datos importantes, como el n√ļmero de sesi√≥n, cu√°l usuario est√° logueado, desde cu√°l computadora, si existe un bloqueo nos va a indicar cu√°l sesi√≥n es la que lo est√° realizando y as√≠ poder tomar medidas. Tambi√©n nos va a mostrar la cantidad de milisegundos que lleva ejecut√°ndose un query, consumo de CPU, IO y otros datos m√°s que conocer√°s conforme utilices el procedimiento.

pasted image 22.png

¡Te veo en la próxima clase! Veremos más herramientas para el monitoreo de actividades de tu base de datos.

Aportes 4

Preguntas 0

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi√≥n.

Que vacano ese código, justo por estos días necesitaba algo por ese estilo.
Gracias !!!

También les recomiendo estos dos sps, me gusta un poco más, ya que son parametrizables y brindan más información.

EXEC SP_WHOISACTIVE  @GET_PLANS = 1 , @GET_TRANSACTION_INFO = 0 ,@SHOW_SLEEPING_SPIDS  = 0
EXEC SP_WHOISACTIVE  @GET_LOCKS = 1
EXEC SP_WHOISACTIVE  @GET_TASK_INFO = 2 
EXEC SP_WHOISACTIVE @GET_AVG_TIME = 100;
EXEC SP_WHOISACTIVE @GET_ADDITIONAL_INFO = 1;
--EXEC SP_WHOISACTIVE @FIND_BLOCK_LEADERS = 1,  @SORT_ORDER = '[BLOCKED_SESSION_COUNT] DESC', @GET_FULL_INNER_TEXT = 1
EXEC SP_WHOISACTIVE @HELP = 1

whoisactive . com

EXEC SP_BLITZWHO 
EXEC SP_BLITZWHO  @OUTPUTDATABASENAME = 'DBATOOLS', @OUTPUTSCHEMANAME = 'DBO',@OUTPUTTABLENAME = 'BLITZWHO_RESULTS';
GO

brentozar . com

Estas dos personas son recomendadas seguirlas y Brent Ozar tiene otras herramientas muy interesantes.

¬ŅEsto se puede hacer con otros motores de bases de datos como mysql o solo con SQL Server?

¬°Muchas gracias Roy!