¿Cuáles son los requisitos y la planificación necesarios para la instalación de SQL Server 2022 sobre Windows Server? Te contamos cómo desplegarlo sin problemas y así poder explotar todo su potencial.
Una incorrecta planificación de cualquier sistema hará que no se explote todo su potencial o que incluso se incurra en una infraestructura inestable y propensa a errores.
A lo largo de este artículo intentaremos dar algunas pautas a tener en cuenta cuando planifiquemos y despleguemos SQL Server 2022 en nuestra infraestructura, que, si bien están orientados a la instalación de la última versión de SQL Server sobre Windows Server, serán igualmente válidos para versiones anteriores sobre servidores del gigante de Redmond.
Requisitos de SQL Server 2022:
Antes de empezar a planificar el despliegue de SQL Server vamos a revisar los requerimientos técnicos tanto de hardware como de software que nos solicita en esta nueva versión.
Requisitos de Hardware de SQL Server 2022:
Para comenzar, debemos decir que necesitamos disponer de un mínimo de 6GB de espacio libre en el disco sobre el que se vaya a provisionar el aplicativo, siendo realmente 8GB si queremos instalar todas las opciones. Aunque como siempre decimos, estamos hablando de mínimos y el llenar mucho el filesystem acabará revirtiendo en sobrecarga de este y por tanto en un rendimiento de IOPS pobre.
Además, las necesidades de espacio varían mucho en función de las funcionalidades que se van a desplegar en nuestro SGBD, por lo que dejamos una tabla en la que se podrán apreciar las necesidades y pensar que reserva debemos hacer para dar buen servicio en nuestra explotación:
Característica | Espacio requerido |
Motor de base de datos y archivos de datos, replicación, búsqueda de texto completo y DQS. | 1480 MB |
Motor de base de datos con R Services (en caso de instalarlo de manera conjunta). | 2744 MB |
Microsoft R Server (en caso de instalarlo de manera independiente). | 280 MB |
Motor de base de datos con el servicio de consultas de PolyBase para datos externos. | 4194 MB |
Archivos de datos y de Analysis Services. | 698 MB |
Reporting Services (independiente). | 967 MB |
Reporting Services (Con SharePoint) | 1203 MB |
Complemento de Reporting Services para productos de SharePoint. | 325 MB |
Cliente de calidad de datos. | 121 MB |
Conectividad con las herramientas de cliente. | 328 MB |
Integration Services. | 306 MB |
Componentes cliente, excepto los componentes de los Libros en pantalla de SQL Server y las herramientas de Integration Services. | 445 MB |
Master Data Services. | 280 MB |
Componentes de los Libros en pantalla de SQL Server para ver y administrar el contenido de ayuda. | 27 MB |
Todas las características listadas. | 8030 MB |
Ahora que tenemos claras las necesidades de espacio, podemos tratar los tipos de almacenamiento soportados por nuestra base de datos.
Para comenzar, debemos decir que SQL Server 2022 admite los siguientes tipos de disco:
- Disco duro local.
- Almacenamiento compartido.
- S2D (Espacios de Almacenamiento Directo).
Donde cabe especificar que en disco duro local se admiten discos de tamaños de sector de entre 512bytes y 4KB, teniendo ciertos problemas de operación con los de 4KB.
También hay que tener en cuenta que cuando se crean clústeres de conmutación por error, solo se podrá provisionar el disco de archivos tempdb sobre almacenamiento local.
En lo que respecta a SMB, o mejor dicho, recursos compartidos de archivos SMB, no podrá ser usado para instalaciones independientes de datos Analysis Services, y tampoco clusterizados.
También hay que decir, que el soporte para SMB puede ser en sistemas de terceros o de Microsoft siempre que sea sobre un fileserver de Windows Server 2008 o posterior.
Como unidades de origen se admiten unidades de DVD o instalación desde soporte ISO, siendo este el más común hoy día.
La memoria varía en función de la edición a desplegar, pero aquí sí que hay que recordar nuevamente que hablamos de mínimos y con estos mínimos apenas podremos trabajar, siendo poco menos que aptas para pruebas piloto:
- Express Edition: 512MB.
- Resto de ediciones: 1GB.
Lo recomendado por Microsoft es:
- Express Edition: 1GB.
- Resto de ediciones: 4GB.
Siendo, a nuestro parecer, nuevamente cantidades insuficientes.
En lo que respecta al procesador, es imperativo usar procesadores de tipo x64, incluyendo:
- AMD Opteron.
- AMD Athlon 64.
- Intel Xeon compatible con Intel EM64T.
- Intel Pentium IV compatible con EM64T.
A nivel gráfico, se requiere una resolución mínima de 800×600.
Se requiere internet para descargar paquetes adicionales y actualizaciones de sistema y aplicación.
Requisitos de software de SQL Server 2022:
Para empezar con los requisitos de software, debemos decir que solo estamos hablando de sistemas de Microsoft, sin contemplar la posibilidad de instalación sobre sistemas operativos GNU/Linux.
Para continuar, diremos que la instalación de SQL Server 2022 está soportada sobre todas las versiones de Windows Server desde 2016 en adelante. Esto quiere decir que está soportada sobre:
- Windows Server 2022 Datacenter
- Windows Server 2022 Datacenter: Azure Edition
- Windows Server 2022 Standard
- Windows Server 2019 Datacenter
- Windows Server 2019 Standard
- Windows Server 2019 Essentials
- Windows Server 2016 Datacenter
- Windows Server 2016 Standard
- Windows Server 2016 Essentials
Dentro de la gama de servidores, también es compatible con las siguientes versiones de Windows Server Core:
- Windows Server 2022 Core
- Windows Server 2019 Core
- Windows Server 2016 Core
NOTA: Por razones de seguridad, se recomienda que no se instale SQL Server en un controlador de dominio. Si bien la instalación se puede realizar, esta dará problemas posteriormente.
Además, en caso de quererse instalar una versión de este SGBD sobre una versión de Windows client como Windows 10 o Windows 11, que se suele usar para pruebas, se debe pensar que no pueden ejecutar la versión Enterprise, ya que es una versión dedicada 100% a servidor, pero si que pueden ejecutar la versión Developer y la Standard.
Los sistemas de escritorio que pueden usarse son:
- Windows 11 IoT Enterprise
- Windows 11 Enterprise
- Windows 11 Professional
- Windows 11 Home
- Windows 10 IoT Enterprise
- Windows 10 Enterprise
- Windows 10 Professional
- Windows 10 Home
Respecto a otras necesidades de software, se necesita disponer de .NET Framework para su correcta instalación, aunque en caso de no disponer de dicho software, la instalación la “arrastrará”.
NOTA: Si desea saber más sobre el despliegue de .NET Framework se recomienda acceder a la siguiente guía de Microsoft.
Por otro lado, el programa de instalación también instalará otros paquetes relacionados como:
- Cliente Nativo de SQL Server.
- Archivos auxiliares del programa de instalación de SQL Server.
También se necesitan algunas funcionalidades de red que por lo general cumplirán todos los servidores y que deberían ser transparentes para los administradores. Si quiere obtener más información a este respecto puede acceder a la siguiente librería de Microsoft.
La intercalación en SQL Server 2022:
Las intercalaciones dentro de SQL Server, proporcionan una serie de propiedades orientadas a distinguir entre caracteres como mayúsculas, minúsculas, tildes, reglas de ordenación de datos, etc., dictando las páginas de códigos y los caracteres correspondientes que pueden ser representados para cada tipo de datos. La interacción a aplicar dependerá de la región en la que se vaya a usar o lo que es lo mismo, del idioma con el que se trabaje. Estas intercalaciones son usadas por algunos tipos de caracteres, como por ejemplo “char” o “varchar”.
Antes de realizar la instalación de nuevas instancias en una base de datos, la conexión a bases de datos cliente, migraciones, etc., deberíamos tener clara la configuración regional que debemos establecer.
En nuestro caso deberemos trabajar con la intercalación “SQL_Latin1_General_CP1_CI_AS”.
Si no se selecciona la intercalación (collate) correcta podrán darse comportamientos no deseados en la base de datos por lo que es un tema a tomar en consideración. Por suerte, en caso de haberla configurado mal, podremos solucionarlo mediante un proceso no demasiado complejo.
NOTA: Para ver como solventarlo puede revisar el siguiente tutorial de nuestra plataforma “Cómo configurar SQL Collate en tu SQL server”.
Términos de licencia de SQL Server 2022:
Un punto que nunca se debe olvidar cuando se instala un software son los términos de licencia. Esta se mostrará durante la instalación, pero podemos revisarla previamente visitando la web de Microsoft. A continuación, dejamos un enlace donde se pueden consultar los términos de licencia de todos los productos de Microsoft, incluyendo por supuesto SQL Server 2022.
Para poder ver los datos de la licencia que nos interesa, en este caso debemos seleccionar los siguientes campos:
- ¿Cómo se adquiere el software?: Se deberá seleccionar la opción “¿En una tienda como software empaquetado para usuarios finales o directamente de Microsoft?”.
- Nombre de producto: Se debe seleccionar “SQL Server”.
- Versión: Se debe seleccionar el producto que se va a instalar entre las siguientes opciones:
- SQL Server 2022 Developer, Express, Evaluation.
- SQL Server 2022 Enterprise, Standard, Web.
Planificación de la instalación de SQL Server 2022:
La planificación de los despliegues de sistemas y aplicativos es uno de los puntos más sensibles y a los que más esfuerzo debería dedicar un administrador de sistemas, ya que una instalación bien planificada brindará un mejor servicio, seguramente con un mejor rendimiento y más que probablemente con muchas menos situaciones de downtime.
Sin embargo, la mayoría de las instalaciones se realizan a salto de mata, sin invertir ni el más mínimo tiempo en pensarla, organizar las ideas en función de las necesidades y recursos, etc. Y no es que la mayoría de los técnicos lo hagan de manera voluntaria, sino que la falta de tiempo, la necesidad de cumplir con una agenda y tantos otros temas hacen que se termine haciendo de esta manera.
Pero como siempre, nosotros vamos a intentar generar una serie de procesos, ayudas y consejos para intentar ayudar en la medida de lo posible.
Planificación de los requisitos de SQL Server 2022:
Para realizar una buena planificación, lo primero que se deberán revisar son los requisitos del producto, para tener claro como dimensionar los sistemas sobre los que se van a soportarlos.
En nuestro caso ya hemos cumplido con esta parte por lo que no vamos a invertir más tiempo en ello, pero cabe recordar que cuando se lanzar una nueva instalación el programa va a realizar una comprobación de los requisitos de manera previa a la instalación.
La memoria RAM:
A pesar de no querer tratar los requisitos de instalación porque se han tratado previamente, sí que vamos a dedicar unas líneas a comentar que la RAM es un recurso que se debe gestionar con mucho cuidado en SQL Server.
SQL Server es un servicio voraz, que deglute todos los recursos que hay disponibles, y esto puede ser un problema cuando hablamos de la memoria RAM, ya que, aunque no se utilice para ningún otro propósito, los servicios generales del sistema operativo donde se hospeda el SGBD siguen necesitando ciertos recursos para ejecutarse.
Para evitar que SQL Server se apropie de toda la memoria principal disponible, se deberá acceder a SSMS (SQL Server Management Studio) y modificar la configuración de “Maximun server memory (in MB)” dentro de “Memory” en “Propiedades” de la BBDD.
La planificación de los discos:
La selección de los discos, su configuración y el uso que se haga de ellos son puntos delicados dentro del mundo de las bases de datos, sobre todo porque es una de las aplicaciones con mayor carga transaccional a disco.
Por esta razón, vamos a comentar algunos detalles que debemos tener en cuenta cuando se instala un SQL Server 2022.
- Lo primero que se debe hacer, siempre que se tenga opción, es hacer un análisis comparativo de rendimientos de los distintos discos duros disponibles para saber cuales nos van a dar mejor rendimiento. Para ello se pueden utilizar herramientas de benchmarking como AS ssd benchmark o DiskSpd.
- Cuando se particione el disco, también se deberá tener en cuenta cual es el mejor tamaño clúster para obtener el mejor rendimiento. Existen ciertas recomendaciones de Microsoft que hablan de 64KB como tamaño recomendado.
- Después se deben revisar los requisitos, así como las expectativas de crecimiento de nuestras bases de datos para poder otorgar el espacio suficiente para que estas crezcan sin problemas. En este punto hay que tener especial cuidado en los ficheros de logs, temporales y copias de seguridad.
- Por supuesto, tal como se ha dicho en otras ocasiones y otros artículos, jamás se debe instalar la base de datos en el mismo disco que se encuentre el sistema operativo, de lo contrario se producirá un cuello de botella a nivel de IOPs.
- Se deben usar discos separados para los datos de las bases de datos y de los logs, de igual manera que se deberán separar los temporales en discos adicionales, de esta manera se relaja la carga sobre los discos.
Planificación de la seguridad:
Uno de los puntos críticos de toda instalación de una infraestructura y, como no puede ser de otra manera, de cualquier instalación de un Sistema Gestor de Bases de Datos (SGBD), es la seguridad de los sistemas.
En este punto, debemos tener en cuenta distintos aspectos, entre los que destacaremos:
- La seguridad física de los sistemas.
- La configuración de los firewalls.
- La configuración de los sistemas de archivos.
- La configuración de los servicios.
A continuación, vamos a revisar cada uno de estos puntos.
La seguridad física de los sistemas:
Podría sonar obvio, pero todos nuestros servidores deberían estar situados en una sala controlada, que en principio debería cumplir con el modelo TIER de infraestructura:
- Se debería tener acceso controlado a la sala, con al menos una cerradura, fuera esta del tipo que fuera (llave, teclado, biométrico…).
- Se debería proveer dicha sala con “facilities” como aire acondicionado, sistemas de soporte ininterrumpido (SAI), sistemas de extinción de incendios, etc.
- Se debería proveer el sistema de copias de seguridad que deben evacuarse a otras delegaciones o un proveedor externo que garantice la continuidad del negocio en caso de desastre.
La configuración de los firewalls:
Como todos sabemos, contar con un cortafuegos es algo obligatorio en todos los sistemas de nuestra organización, y dado que las bases de datos contienen información de gran valor para esta, se debe tomar especial cuidado en su configuración.
- Para comenzar, se debe contar con al menos un firewall entre internet y nuestra infraestructura.
- Crear zonas de seguridad en la empresa puede ayudar a proteger la infraestructura.
- Si es posible, se puede agregar el uso de VLAN y delimitar los accesos a nivel de electrónica de red.
- Además, se deberá contar con el Firewall de Windows activo y con una política de accesos lo más restrictiva posible, abriendo solo los puertos que se deban usar para el servicio de SQL, denegando todo lo demás por defecto.
Dentro de los sistemas de SQL Server, se deberán abrir los puertos listados en este artículo.
La configuración de los sistemas de archivos:
El sistema de archivos es un punto de suma importancia, y debemos pensar siempre que Windows Server cuenta de entrada con el sistema de ficheros NTFS que nos brinda una más que notable seguridad, siempre que hagamos un correcto uso del mismo.
Además, en las últimas versiones (desde Windows Server 2016) contamos con ReFS, una versión mejorada que podrá aumentar la seguridad. No es necesario escalar a ReFS, pudiéndose gozar de buena seguridad con NTFS.
Sea cual sea la opción tomada, NTFS y ReFS nos brindan sistemas de archivos estables y con opciones de recuperación frente a errores, dándonos también opciones de seguridad como listas de control de acceso (ACL) a directorios y archivos.
El uso de estos sistemas nos permite usar cifrado de archivos (EFS) para el cifrado de archivos.
La configuración de los servicios:
Una correcta configuración de los servicios minimizará el riesgo de que se acceda a un servicio mediante una vulnerabilidad y de un ataque basado en escalado de privilegios.
- De esta manera, el aislamiento de los servicios es la mejor opción para asegurarnos de que todo vaya a funcionar correctamente y de manera segura.
- Debemos ejecutar los servicios de SQL Server de manera independiente, usando distintas cuentas para cada uno de los servicios. Estas cuentas deben tener unos privilegios limitados, asegurando que no puedan operar nada más que lo necesario, aquello para lo que fueron creados.
- Estas cuentas, tienen que ser siempre locales.
Planificación para despliegues de clústeres de conmutación por error:
El último punto a tener en cuenta es si se van a desplegar clústeres de conmutación por error para así comprobar si se necesita cumplir con otras necesidades y los pasos necesarios para desplegar dicho clúster.
Para instalar un clúster de conmutación por error se deberá usar una cuenta de dominio que además esté dado de alta como administrador local de las máquinas en las que se instala el software, para de esta manera iniciar sesión como servicio. Este requisito aplica sobre todos los nodos del clúster de conmutación por error.
También deberán tenerse en cuenta otros puntos como paquetes de instalación, puertos de red, etc. pero estos puntos los trataremos en un artículo posterior.
Con esto damos por cerrado este pequeño repaso a los requisitos y nociones para la planificación del despliegue de SQL Server 2022.
Conclusión:
A lo largo de este artículo hemos hablado de los requisitos y de algunos puntos que debemos tener en cuenta cuando vamos a desplegar un nuevo servicio de Sistema Gestor de Base de Datos basado en SQL Server 2022 sobre Windows Server.
No hemos tratado todos los puntos, ya que hay algunos que desarrollaremos en profundidad en otros artículos y tutoriales posteriores, por ejemplo, para hablar de clústeres de SQL Server 2022.
Esperamos que lo que hemos desarrollado en este artículo haya sido de vuestro interés y os ayude en vuestra singladura para desplegar uno de los SGBD más usados en el mundo IT.
¡Gracias por acompañarnos!