Problema con Expresión CASE en Predicados WHERE: Análisis de un Plan de Ejecución raro y la importancia de conocer el motor de SQL Server

Problema con Expresión CASE en Predicados WHERE: Análisis de un Plan de Ejecución raro y la importancia de conocer el motor de SQL Server

Cuando damos clases de SQL Server un aspecto al que los clientes – y a veces alumnos – quitan importancia a la parte de interioridades del motor de SQL Server. En mi puesto, en muchas ocasiones debo convencer a decisores sobre la formación a impartir a sus empleados; con mucha frecuencia tratan de evitar aspectos que se consideran internos del producto y que pueden verse como “de junta de trócola” y “para frikis”. En SolidQ siempre queremos que se imparta ese contenido, pero hoy día donde el argumento de más ponderación es el coste del servicio, muchos clientes intentan evitar contenidos formativos a los que no se les vea “retorno inmediato”. No quiero hacer de esta publicación una crítica o análisis de la formación especializada en España, pero debo indicar que cuando estaba pensando en la motivación de este post, la asociación entre interioridades de SQL Server, conocimiento que “quizás te sirva a medio plazo” y la educación especializada me vino directamente a la cabeza. También es posible que sea un problema mío de no saber convencer al cliente de la importancia del contenido presupuestado(más…)
Particionado en SQL Server (I/II)

Particionado en SQL Server (I/II)

Pese a que el particionado de datos apareció en SQL Server 2005, no he visto que los escenarios habituales de entornos OLTP incluyan el particionado de datos. Unas veces por desconocimiento, otras por miedo, el caso es que no es una característica que personalmente haya observado en las instalaciones como algo a tener muy en cuenta. Pese a que no se trate de una característica en la que haya que pensar habitualmente, es cierto que en bastantes ocasiones ha encajado como solución. (más…)
Seguridad en SQL Server 2005: rootkits

Seguridad en SQL Server 2005: rootkits

En un post anterior hablamos sobre la merma de seguridad que los rootkits o las modificaciones que un ex administrador puede dejar ocultas en nuestro sistema SQL 2000. En SQL Server 2000 vimos que la protección para la modificación de objetos de sistema es bastante básica pues simplemente tenemos que habilitar la opción “allow updates” con sp_configure para poder modificarlos a nuestro antojo. En SQL Server 2005 Microsoft modificó muy sustancialmente el almacenamiento de dichos objetos de sistema, pasando a pertenecer a una base de datos oculta llamada mssqlsystemresource. Podemos detectar su presencia al ver los dicheros de datos y de log de dicha base de datos en el directorio DATA de la instancia en SQL Server 2005 : (más…)

SQL Server 2005 SP3

Ya tenemos versión final del Service Pack 3 para SQL Server 2005. No se introducen nuevas funcionalidades, siendo únicamente una release para corregir bugs. Aquellos que hubierais aplicado ya algunos CU sobre SP2 debereis aplicar el último CU antes de poder aplicar el SP3.
Se ha incluido también una revisión del Feature Pack así como de los Books Online. (más…)
Si no tuviéramos el optimizador…

Si no tuviéramos el optimizador…

Hace poco me encontré con una situación que me sorprendió por un lado, pero por otro la verdad es que no. Al final de esta entrada seguramente comprendáis porqué digo algo aparentemente contradictorio.Pongamos este ejemplo: queremos extraer los datos de las líneas de pedido que más dinero han proporcionado al negocio. Extrapolando este ejemplo a la base de datos AdventureWorks, podríamos escribirlo así: (más…)

Actualización de seguridad para SQL Server

Ayer día 8 de Julio y como segundo martes de cada mes, Microsoft publicó una serie de actualizaciones para sus productos. Entre ellos se encontraba una actualización de seguridad de un producto que pocas veces estamos acostumbrados a encontrar, SQL Server.

Dicha actualización se aplica no solo a SQL Server 2005 SP2, sino incluso a SQL Server 7 SP4 y SQL Server 2000 SP4. Corrige errores calificados como “importantes” dado que permiten la elevación de privilegios en función de la edición de SQL Server y el tipo de ataque entre estos:

(más…)