viernes, 3 de enero de 2014

SQL SERVER: CAJA DE HERRAMIENTAS...

ORGANIZANDO NUESTRAS HERRAMIENTAS.

Para empezar el año me gustaría compartirles mi SP de uso regular para entornos SQL Server. Tenia algunas cosas desparramadas y puestas en varios querys o notas. Pero, no me resulto muy cómodo trabajar así y desde hace un tiempo me decidí a crear un SP que juntara las consultas que me resultaran mas útiles. Algunas funciones son ridículamente sencillas, como la idea de encerrar la simple ejecución de sp_heltext. Pero, me gusta tener todas mis herramientas en un solo lugar. Al final le he anexado los dos últimos queyrs que he estado usando (generación de inserts condicionados y el buscador de cadenas de texto en tablas). El query para la creación del SP se encuentra en GitHubY tengo la intención de mejorando paulatinamente - como en realidad ha ido sucediendo. De momento el SP abarca las siguientes opciones:


-Mostrar texto de procedimientos almacenados, trigers y funciones. 
-Buscar referencias de un texto en procedimientos almacenados, trigers y funciones. 
-Buscar tablas que contengan un campo con el texto proporcionado. 
-Muestra el esquema de la tabla (campos, tipo de datos, longitud). 
-Generar inserts condicionados. 
-Muestra plan de ejecución, toma como valor el campo <plan_handle>.
-Buscar Registros duplicados. 
-Regresar valores de consulta con formato XML. 
-Muestra el TOP @N de las tablas a las que se les ejecuto UPDATE. 
-Registros, numero de columnas, fecha de creación y fecha de ultima modificación de las primeras @N tablas ordenadas descendentemente por numero máximo de registros.
-Lista de los últimos objetos modificados en los últimos "X" (@N) días.
-Busca un texto dentro de todas las tablas de la base de datos. 
-Muestra un reporte orientado a encontrar procesos que son candidatos a optimizar segun se requiera, ordenado por:


  • Uso promedio de CPU (Average CPU Usage). 
  • Uso total de CPU (Total CPU usage).
  • Tiempo promedio transcurrido (Average Elapsed Time).
  • Tiempo total transcurrido(Total Elapsed Time).
  • Numero de ejecuciones (Execution Count).
  • IO promedio(Average IOs).  
  • IO Total (Total IOs). 
  • Lecturas logicas promedio (Average Logical Reads).
  • Lecturas logicas totales (Total Logical Reads).              
  • Escrituras promedio totales (Average Logical Writes).
  • Total de escrituras logicas (Total Logical Writes).
  • Promedio de lectura fisicas (Average Physical Reads).
  • Total de lecturas físicas (Total Physical Read).

La sintaxis general del SP y los detalles específicos para cada opción se encuentra creo, suficientemente bien documentados en el mismo query como para evitar confusiones. Espero como herramienta les resulte tan practica y útil como me ha resultado a mi. 

Saludos.

REFERENCIAS:

http://blog.sqlauthority.com/2007/09/13/sql-server-difference-between-exec-and-execute-vs-exec-use-execexecute-for-sp-always/
http://www.sqlservercentral.com/scripts/tables/97194/
http://www.sqlservercentral.com/scripts/Administration/98329/
http://sqlservercodebook.blogspot.mx/2008/03/check-if-temporary-table-exists.html
http://emmersonmiranda-net.blogspot.mx/2008/08/generando-mltiples-filas-de-un-string.html
http://www.databasejournal.com/features/mssql/article.php/3802936/Finding-the-Worst-Performing-T-SQL-Statements-on-an-Instance.htm
http://technet.microsoft.com/es-es/library/ms191475(v=sql.105).aspx

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.