Monitorizar recursos: sp_who y sp_who2

Estos 2 comandos del titulo nos permiten monitorear los recursos en uso, los usuarios conectados y las transacciones u operaciones en ejecución.

El uso de estos comandos puede ayudarnos a detectar aquellos aplicativos que  conectan a nuestro servidor y no están ejecutandose de forma correcta

image

Podemos ver lo que significa cada columna:

http://msdn.microsoft.com/es-es/library/ms174313.aspx

image

Amplia datos sobre el  primero con:

CPUTime
DiskIO
LastBatch
ProgramName

Es muy importante el monitorizar estos procesos. Podemos sufrir lentitud, latencia si nos conectamos de forma remota, procesos que se han quedado ahi y consumen recursos, etc..

Tenerlo en cuenta …

El Monitor de Actividad

Es el equivalente al Administrador de Tareaas de windows.

Esta opcion esta dentro del  Management Studio y nos permite ver los procesos de SQL Server y la forma en que estos procesos afectan a la instancia actual de SQL Server.

Primero vamos a activarlo:

image

Opciones

image

Inicio

image

Reiniciamos el Management Stucio.

Boton derecho.

image

Y ahora Monitor de Actividad.

image

Iremos poniendo cosas que pueden ser interesantes.

Configurar el correo electrónico en #SQLServersql

Sql server nos permite configurar un correo electrónico para:

  • Informarnos de una alerta
  • Inicio/Finalización Tareas programas

También puede enviarse a una lista de destinatarios.

image

image

image

image

Le damos que si

image

Agregar

image

Le ponemos nombre y una breve descripción.

En el pop le diremos nuestro servidor de correo de salida (smtp)

Aceptamos.

image

image

Desde aquí podemos enviar un correo electrónico

image

image

image

Y si no lo hemos enviado antes, lo podemos hacer de forma sencilla:

image

Donde:

@profile_name: Perfil de correo de donde se enviara el correo.

@recipients: Destinatarios del correo uno o más.

@body: Cuerpo del correo, por default es de tipo texto.

@subject: Asunto del correo.

Dependiendo de la carga que tenga su servidor y de la prioridad configurada en el envió del correo, el correo llegara o se tardara mas tiempo en ser enviado, si no existieron problemas, el correo llegara correctamente a su destino.

Ya lo complicaremos mas.

Es una de las opciones que me parecen muy interesante para muchas cosas. Ya veremos en que casos es esencial tenerlo configurado.

Introducción a OUTER JOIN

Como dice Microsoft:

“Las combinaciones internas sólo devuelven filas cuando hay una fila de ambas tablas, como mínimo, que coincide con la condición de la combinación. Las combinaciones internas eliminan las filas que no coinciden con alguna fila de la otra tabla”

SQL Server usa las siguientes:

  • LEFT OUTER JOIN o LEFT JOIN
  • RIGHT OUTER JOIN o RIGHT JOIN
  • FULL OUTER JOIN o FULL JOIN

Es muy importante tener en cuenta la posición de las tablas, ya que si cambiamos el orden, se cambiaria el resultado.

Cada vez que una fila de la tabla  no tenga correspondencia en la totra tabla sgun el Join que utilicemos , se devuelven valores NULL

02

01

Esto se complica …. ahora vamos con los ejemplos

Introducción al Diseño de bases de datos

Vamos a hacer un alto en el camino y vamos a ver un tema rapido,  teorico y muy sencillito y facil..

Cuando creamos bases de datos grandes y complejas, lo ideal es poder diseñarlas en una aplicación que nos permita  crear tablas, relaciones y atributos de forma más fácil y eficiente.

Actualmente hay en el mercado hay muchas aplicaciones, la que me han hablado mucho es la  que se llama MySQL Workbench, que es un software mantenido por ORACLE.

Aunque ahora no vamos a ver como funciona, sino que simplemente os dejo la posibilidad de que me digáis cual utilizáis.

Podemos ver sus características en:

http://www.mysql.com/products/workbench/

Y la podemos bajar en:

http://dev.mysql.com/downloads/workbench/

Existen otras alternativas:

* HeidiSQL: http://www.heidisql.com/

* EMS MySQL Manager: http://www.sqlmanager.net/en/products/studio/mysql

* Erwin: http://erwin.com/

* Squirrel SQL: http://www.squirrelsql.org/

* Dnschema: http://www.dbschema.com/

Y asi una larga lista.

Para gustos colores..

Cual me recomendáis vosotros ???? Cual utilizáis vosotros ??? Proximamente ver alguno de soft libre y algun otro.

INNER JOIN anidados

Ya hemos visto …

Consulta combinadas o JOINS

Empezando con un INNER JOIN sencillito

Mostrando los campos que queramos con INNER JOIN

Vamos a complicar mas la cosa.

La estructura de los inner joins anidados  podía ser tal que así:

SELECT *
FROM tabla1
INNER JOIN
(tabla2 INNER JOIN tabla3 ON tabla2.id2=table3.id2)
ON tabla1.id=tabla2.id

¿¿¿¿¿¿ Como funciona  o como lo podemos entender??????

Para este SELECT, los JOINs funcionan de adentro hacia afuera.

Es decir, 1º hace el JOIN que esta entre paréntesis más internos, luego el siguiente fuera de los paréntesis, luego el siguiente y así sucesivamente.

Tenerlo en cuenta por que podemos complicarnos mucho la vida.

En el grupo de facebook de Bases de datos en Español (https://www.facebook.com/groups/basesdedatos.es/783363365060406/?notif_t=group_comment) me pusieron este ejemplo

image

Asi con código se ve un poco complicarte pero es mas sencillo de lo que parece. Vamos a poner gráficamente este código.

Teniendo estos datos:

image

image

Y nos da como resultados

image

UUfff … esto se puede complicar mucho. Una forma de aprender esto , por ejemplo, es analizar y ver porque sale esos resultados al hacer el inner join.

Y recordar que podemos seleecionar campos como vimos en el artículo anterior.

Como podeis vosotros tambien haceis este blog, Espero que os haya gustado.

A seguirrrrrrr

Ver cuando se ha iniciado el servicio de SQL Server

Tomando como referencia el articulo del blog de  sysadmit (http://www.sysadmit.com/):

MSSQL: Ver cuando se ha iniciado el servicio

image

Como podéis ver  da información importante.

Si quereis ver mas sobre este tema:

http://msdn.microsoft.com/es-es/library/ms175048.aspx

A sacarle rendimiento.