1 0 Archive | Bases de Datos RSS feed para esta categoría
post icon

La cláusula COALESCE [ANSI SQL] vs ISNULL [TSQL]

Éstas dos cláusulas hacen prácticamente lo mismo, por eso generan mucha confusión sobre como usar y cuando usarlo aunque sean realmente sencillas de comprender e implementar además de ser más que útiles.

Básicamente ambas validan un valor o más si es o no NULL y lo reemplazan por otro pero tienen sutiles diferencias.

post icon

Solucionar error de Instalación de Lenguaje de SQL Server 2008 R2

En más de una ocasión me ha aparecido el siguiente error en las instalaciones de SQL Server 2008 R2:

SQL server setup media does not support the language of the OS or does not have ENU localized files.Use the matching language-specific SQL Server media or change the OS locale through Control Panel

Éste es un simple problema de validación de región, donde el equipo de MSSQL la ha pifiado aparentemente. A los que tenemos configurado el servidor en Español (Continuar Leyendo sobre Solucionar error de Instalación de Lenguaje de SQL Server 2008 R2)

post icon

Exportar Datos desde SQL Server a CSV

Por algún extraño motivo (que no me termino de explicar) MS SQL Server no tiene un comando nativo TSQL que sirva para exportar directamente datos como el BULK para importarlos, aunque eso no significa que no tenga una herramienta que sirva para tal efecto.

Ya hemos visto como hacer ésta tarea en otros motores como MySQL u Oracle.

Para realizar ésta tarea en el motor de Microsoft necesitaremos realizar unos pasos previos que (Continuar Leyendo sobre Exportar Datos desde SQL Server a CSV)

post icon

Como habilitar la opción xp_cmdshell en SQL Server

La opción xp_cmdshell de SQL Server determina si podemos ejecutar procedimientos almacenados extendidos desde el servidor mismo. Por defecto ésta opción viene deshabilitada y es muy sencillo habilitarlo.

El mismo nos servirá para ejecutar comandos de la consola del sistema operativo desde la Base de Datos, para muchas actividades es más que útil. Justamente éste es más bien un post prerrequisito para otros que tengo planeado publicar más adelante. (Continuar Leyendo sobre Como habilitar la opción xp_cmdshell en SQL Server)

post icon

Corregir Error: “Unable to Load Translation Shared Library” del ODBC de Informix

Siguiente la temática del post anterior, de corregir errores en la configuración ODBC para Informix otro error que podemos tratar es

Unable to Load Translation Shared Library

El mismo se da cuando el servidor de base de datos y el cliente no “hablan” el mismo idioma entonces se necesita un “traductor” y tenemos que decirle cual será, al abrir el administrador de (Continuar Leyendo sobre Corregir Error: “Unable to Load Translation Shared Library” del ODBC de Informix)

post icon

Corregir error: “ODBC driver could not be loaded due to system error code 193” de Informix

Este error “ODBC driver could not be loaded due to system error code 193” se da en sistemas operativos Windows de 64 bits, cuando intentamos crear conexiones ODBC con el driver de 32 bits con el odbcad32.exe que se encuentra dentro del %WINDIR%\System32\ (el mismo es una aplicación de 64 bits).

Existen 2 soluciones a este problema, y ambas son muy sencillas. (Continuar Leyendo sobre Corregir error: “ODBC driver could not be loaded due to system error code 193” de Informix)

post icon

Reparar los usuarios huérfanos en SQL Server al restaurar la Base de Datos

Cuando se una reinstalación de un servidor Windows con SQL Server o una migración de las bases de datos a otro servidor se darán cuenta que los login que tenían en el servidor original ha dejado de funcionar.

La explicación de éste fenómeno es sencilla, para SQL Server los Login son objetos del servidor y los usuarios son objetos de las bases de datos. Cuando hacemos un backup y restauramos en otro servidor con el mismo se van los usuario pero no los login (La nueva versión de SQL Server Denali tendrá una opción para embeber los logins como objetos de la base de datos, lo que evitará este típico problema). Por lo tanto debemos crear de nuevo estos login en el nuevo servidor, pero eso no es todo. (Continuar Leyendo sobre Reparar los usuarios huérfanos en SQL Server al restaurar la Base de Datos)

post icon

Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning]

Continuando con los tips para optimizar nuestras querys SQL, trataremos unas de las clásulas que más ralentizan éstas. El operador LIKE.

La definición que exponen en la TechNet me gusta y dice asi:

Determina si una cadena de caracteres específica coincide con un patrón especificado. Un patrón puede contener caracteres normales y caracteres comodín. Durante la operación de búsqueda de coincidencias de patrón, los caracteres normales deben coincidir exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los caracteres comodín pueden coincidir con fragmentos arbitrarios de la cadena. La utilización de caracteres comodín hace que el operador LIKE sea más flexible que los operadores de comparación de cadenas = y !=.

Como se tiene que trabajar con cadenas de texto, dentro de otras cadenas más grandes normalmente, es un proceso lento para la comparación. Muchas veces (Continuar Leyendo sobre Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning])

post icon

Tutorial básico para interpretar el plan de ejecución de SQL Server

Para realizar SQL Tunning a nuestras bases de datos, en la mayoría de los casos necesitaremos paciencia y tiempo para analizar con detenimiento como está funcionando todo, así en base a eso, determinar medidas de acción para la optimización.

Para ver el plan de ejecución de un query es muy sencillo en SSMS, podemos ver el Estimado y el Real:

Plan de Ejecución Estimado: Desde el Menú Consultas -> Mostrar Plan de Ejecución Estimado o con la combinación de teclas Ctrl + L. Esto no ejecutará la query sino más bien lo analizará y mostrará una aproximación del costo de su ejecución.

Plan de Ejecución Real: Desde el Menú Consultas -> Incluir Plan (Continuar Leyendo sobre Tutorial básico para interpretar el plan de ejecución de SQL Server)

post icon

Diferencias entre Indices Clustered y Non-Clustered en SQL Server

Si bien este es un tema que todo DBA debe conocer obligatoriamente para poder realizar el tunning de su base de datos quiero usarlo para explicar algunos conceptos básico para los siguientes artículos que estoy preparando sobre optimización del rendimiento de los querys SQL y comprensión de los planes de ejecución.

Lo que veremos aplica a las versiones 2005 y 2008 de SQL Server, aunque una gran parte también para la versión 2000. De hecho que varios de los conceptos también aplica a otros motores del mercado, unos con menos y otros con más opciones de tunning. (Continuar Leyendo sobre Diferencias entre Indices Clustered y Non-Clustered en SQL Server)