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…)

Chaos Monkey en SQL Server

Chaos Monkey en SQL Server

Corría el año 2011 cuando Netflix se encontraba migrando sus servicios a la nube cuando detectó que era difícil probar/testear el comportamiento de la plataforma ante situaciones inesperadas. Por ello diseñaron un sistema al que llamaron Chaos Monkey que se encargaba de introducir errores de forma aleatoria, buscando “perturbar” el buen funcionamiento de la plataforma ante fallos.

(más…)

Optimizaciones «boomerang»

Optimizaciones «boomerang»

En ocasiones nos encontramos situaciones bastante anómalas que requieren análisis “think out of the box” por llamarlos de alguna forma. En este caso vamos a tratar un escenario que hemos llamado optimizaciones «boomerang» donde podemos encontrarnos que tras optimizaciones (indexación, parametrización, reescritura de queries, etc.) el consumo global de CPU disminuye y contrariamente a lo previsto, los tiempos de ejecución de ciertos procesos aumentan.

(más…)

Azure SQL Database Serverless

Azure SQL Database Serverless

Una de las últimas novedades que Microsoft nos ha presentado en Azure es Azure SQL Database Serverless. Esta es una funcionalidad que muchos entornos, especialmente de desarrollo, testing, han estado demandando desde hace tiempo. También debemos tener en cuenta que esta funcionalidad existía en competidores como Amazon Aurora Serverless desde hace un tiempo por lo que era algo natural que MS ofreciera algo similar.

(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…)

No, no todas las máquinas virtuales son iguales

No, no todas las máquinas virtuales son iguales

Es muy habitual que nos encontremos en nuestros clientes situaciones de lo más variopintas en cuanto al rendimiento de las máquinas virtuales con SQL Server. En muchos casos lo que encontramos son casos donde el rendimiento está lejos del ideal, pero en general la virtualización en sí, no tiene la culpa. Lo que suele ocurrir es que cuando virtualizamos un SQL Server que teníamos en máquina física pasamos a disponer de una cantidad máxima o puntual de recursos (CPU/memoria/IO) sustancialmente distinta a las que teníamos en la máquina física. (más…)

Latencias de red < 1ms, ¿es suficiente para un buen rendimiento de SQL Server?

Latencias de red < 1ms, ¿es suficiente para un buen rendimiento de SQL Server?

Poco a poco, a medida que el almacenamiento se vuelve más rápido, va popularizándose el almacenamiento SSD local, etc. los tiempos de acceso a disco van bajando sustancialmente. El máximo exponente en este sentido lo encontramos en sistemas con SSDs Optane que se caracterizan por tener unas latencias de lectura/escritura mucho más bajas que los SSD tradicionales y además ir directamente conectados al bus PCIe: (más…)

La latencia, el archienemigo de los entornos Hybrid Cloud

La latencia, el archienemigo de los entornos Hybrid Cloud

En los últimos años vamos viendo cada vez más entornos híbridos donde algunos SQL Server se desplazan a la nube. En estos escenarios otras aplicaciones, servicios, ERPs o incluso otras instancias SQL Server siguen viviendo OnPremise en el datacenter original. Esta situación implica que cuando existan conexiones entre ambos entornos, las conexiones tendrán, en comparación con las conexiones que no crucen entre entornos, restricciones de ancho de banda y latencias mayores. (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…)

Azure Files Premium + SQL Server Failover Cluster instance= OnPremise to Cloud simplificado

Azure Files Premium + SQL Server Failover Cluster instance= OnPremise to Cloud simplificado

Uno de los problemas que muchos clientes se encuentran al intentar migrar instancias OnPremise a Cloud es la ausencia de un «storage compartido» sencillo. Existen alternativas, apoyadas en software de terceros o bien soluciones SDS, que nos permiten configurar una instancia Failover Cluster en Azure pero no están exentas de complejidad y añaden bastante coste al TCO de la solución. (más…)