Sysadmin o no sysadmin: Impacto de las políticas de seguridad en entornos SQL Server

Sysadmin o no sysadmin: Impacto de las políticas de seguridad en entornos SQL Server

Más frecuentemente de lo que desearíamos nos encontramos con sistemas con problemas de rendimiento donde no se siguen unas buenas políticas de seguridad. Esto acaba generando que una parte muy significativa de la carga se ejecuta como sysadmin, excluida por tanto de la evaluación de permisos ya que, como sysadmin, toda operación está permitida.

(más…)

Planes de ejecución mutables

Planes de ejecución mutables

En general casi todos los DBAs de SQL Server tienen grabadas a fuego las fases por las que pasamos desde que lanzamos una consulta hasta que comienza su ejecución. El proceso básicamente arranca con un paseo inicial, donde detectaremos por ejemplo los errores de sintaxis. A continuación, se validará que los objetos referenciados existen, que los tipos de datos encajan, etc. (metadata) y comenzaremos la fase de optimización. Esta fase de optimización puede ser eludida si previamente tenemos un plan ya cacheado, pero en todo caso tras la optimización obtendremos un plan de ejecución válido que podremos ejecutar:

(más…)

Backups y restores «al vuelo» sin almacenamiento intermedio

Backups y restores «al vuelo» sin almacenamiento intermedio

Seguramente los más “senior” recordarán la posibilidad que existía en versiones SQL Server antiguas de realizar backups utilizando named pipes. Cuando hablo de versiones antiguas, me refiero a “antiguas de verdad”, ya que esta funcionalidad fue marcada como obsoleta en SQL Server 7, se mantuvo en SQL 2000 pero ya se eliminó de SQL Server 2005 y posteriores. (más…)

Combinando NGrams y FullText Search

Combinando NGrams y FullText Search

Con bastante frecuencia nos encontramos que nuestros clientes sufren problemas de rendimiento debido a filtros sobre campos de texto. Es bastante habitual que se quiera permitir filtrados “libres” sobre textos, descripciones, documentos, etc. pero no se tenga en cuenta que, en función del patrón de búsqueda, esto puede ser bastante pesado para SQL Server. (más…)

Curiosidades con Heaps y entornos con alto consumo de CPU

Curiosidades con Heaps y entornos con alto consumo de CPU

Es bastante habitual encontrarnos con el siguiente diálogo al aterrizar en un cliente:

  • SolidQ: ¿Me puedes comentar o mostrar los gráficos del consumo de CPU del servidor X?
  • Cliente: De CPU vamos bien, no es problema.
  • SolidQ: Si no te importa, ¿puedes mostrarme los datos que tienes al respecto?
  • Cliente: Claro. Mira, aquí puedes ver que tenemos medias (en periodos de 5 minutos) del 60% de CPU y en los momentos de más carga no pasamos del 85% de media. Está correcto, ¿verdad?

El problema de esta aproximación a la hora de interpretar a la utilización de recursos es que, intuitivamente, no solemos ser conscientes de qué implicaciones tienen estos grados de utilización tan altos. No debemos confundir la interpretación respecto a la que tendríamos del % de uso de memoria o del % de uso de disco, que únicamente indican cuanta cantidad de memoria/espacio estamos utilizando, pero no el grado de utilización de dicho recurso.

(más…)

Técnicas de apoyo a la indexación tradicional. SQL Server

Técnicas de apoyo a la indexación tradicional. SQL Server

Cuando los problemas de rendimiento empiezan a surgir uno de los primeros pensamientos que solemos tener está relacionado con la indexación. En SQL Server disponemos de diversos tipos de índices, pero existen circunstancias donde no son especialmente eficientes para el tipo de búsqueda requerido.

En este tipo de situaciones el ingenio entra en juego y podemos plantearnos alternativas que se ajusten mejor a nuestras necesidades. Por comentar algunas, podemos implementar mapas de bits, digrams/trigrams, checksums/hashes, materializaciones de funciones, etc. (más…)

Prueba gratis la herramienta que analiza el rendimiento de tus consultas

Prueba gratis la herramienta que analiza el rendimiento de tus consultas

En SolidQ estamos a punto de lanzar una nueva herramienta y queremos darte la oportunidad de que la pruebes antes que nadie. Su nombre en clave es TSQL-CSI-DW y es ni mas ni menos que el datawarehouse de análisis de rendimiento de tus consultas. La idea es sencilla: activas una traza de eventos extendidos con el template que te diremos, y nosotros lo procesamos dentro de un Datawarehouse para que lo explotes tú desde un PowerBI que te expondremos para ello.

(más…)