CPU Affinity Mask y Virtualización de SQL Server

Después de varios meses sin escribir por temas de trabajo, vuelvo con un articulo de Denny Cherry (Twitter/Blog) sobre un tema que cada vez veo mas presente en distintos clientes… La virtualización de SQL Server. Ahí vamos!

Si tienes algún Servidor SQL físico que quieras virtualizar, debieras revisar la configuración de Affinity Mask antes de mover la maquina desde el ambiente físico al virtual usando algún software P2V. La razón para esta precaución es que la Affinity Mask se configura específicamente para la CPU y el numero de núcleos de la CPU no será el correcto y no podrás obtener la configuración correcta usando sp_configure sin obtener un error como el que se muestra a continuación

Msg 5832, Level 16, State 1, Line 1

The affinity mask specified does not match the CPU mask on this system.

Si no se han convertido las maquinas antes, simplemente cambiamos las affinity mask a 0 lo cual las configura para todos los procesadores. Si ya hemos convertido las maquinas, la mejor opción es conectarnos a los SQL Server usando la conexión dedicada y cambiamos manualmente el valor en la tabla de sistema usando la siguiente consulta

UPDATE sys.configurations

SET value = 0

WHERE Name = ‘affinity mask

Ojala nunca tengan este problema, pero si si les ocurre al menos ya saben como solucionarlo.

ACTUALIZACION: Paul Randal me recuerda que la CPU Affinity se deprecio en SQL Server 2008 R2, así que posiblemente no quieran configurar esta propiedad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *