Guía de instalación de MS SQL Server 2019: configuración básica y recomendaciones
En este artículo, describiremos paso a paso la instalación de Microsoft SQL Server 2019 e informaremos sobre todas las opciones, componentes, recomendaciones relevantes y mejores prácticas.
MS SQL Server es un sistema de gestión de bases de datos relacionales líder y el principal competidor de Oracle Database en el segmento corporativo.
Ediciones de MS SQL Server 2019
Hay 5 ediciones de MSSQL 2019:
Express es una edición gratuita. Tiene un número limitado de funciones, la restricción más importante es el tamaño máximo de la base de datos de 10 GB. Esta edición es adecuada para proyectos pequeños, como trabajos de estudiantes o para estudiar SQL/T-SQL;
Standard es una edición comercial con todas las funciones. Sin embargo, también tiene algunas restricciones. El tamaño máximo de RAM que puede utilizar SQL Server es de 128 GB. Los grupos de disponibilidad AlwaysOn y algunos otros componentes no están incluidos. La edición estándar se puede aplicar en organizaciones pequeñas;
-
Enterprise incluye todas las funciones y componentes posibles sin ninguna restricción. La edición Enterprise suele ser utilizada por grandes corporaciones o empresas que requieren las funciones que se ofrecen en ella;
La edición Developer , como la Enterprise, no tiene restricciones y es gratuita, pero solo puedes usarla para desarrollar y probar aplicaciones;
La edición Web es similar a la Estándar, pero tiene más restricciones y, en consecuencia, un menor costo de licencia.
Licencias de SQL Server
MS SQL Server utiliza 2 modelos de licencia:
POR NÚCLEO : la licencia de MSSQL depende de la cantidad de núcleos físicos en un host (servidor);
SERVIDOR + CAL: se compra una licencia para un servidor y cada usuario que trabaje con él.
La edición Enterprise se puede licenciar solo con el modelo PER CORE.
Además, puede licenciar contenedores, máquinas virtuales y clústeres de Big Data en MSSQL Server 2019.
SQL Server Standard puede licenciarse utilizando cualquiera de los modelos (Servidor+CAL o Por núcleo).
SQL Server Enterprise tiene licencia usando el modelo Per Core únicamente.
Licencias por núcleo de SQL Server
Este modelo de licencia se utiliza para servidores con muchos clientes o en casos en los que se desconoce el número de clientes. El modelo de licencia permite que un número ilimitado de usuarios o dispositivos se conecten a SQL Server tanto dentro como fuera de su organización.
No necesita comprar licencias de cliente adicionales (CAL).
El modelo por núcleo asume que usted compra licencias para cubrir todos los núcleos de su host que ejecuta SQL Server. Estos son los principales requisitos y restricciones:
Una licencia por dos núcleos (2Lic Core);
Para licenciar un servidor, debe comprar al menos dos licencias de 2 núcleos;
Cuando se ejecuta en un servidor físico (entorno de sistema operativo físico — POSE), todos los núcleos del servidor deben tener licencia.
MS SQL Server CAL + licencias de servidor
De acuerdo con este modelo de licencia, se compra una licencia de servidor para cada instancia de SQL Server. La licencia está vinculada a un servidor físico (virtual) (no importa la cantidad de sockets y núcleos en el host). Luego deberá comprar licencias de cliente (CAL) para cada dispositivo o usuario que se conecte a su servidor SQL.
Las CAL de SQL Server (como las CAL de RDS) son de dos tipos:
User CAL se compra para cuentas de usuario que se conectan a SQL Server con una licencia de servidor;
CAL de dispositivo: se compra para todos los dispositivos utilizados para conectarse a SQL Server con una licencia de servidor.
Cada CAL de SQL Server permite conectarse a cualquier cantidad de bases de datos e instancias de SQL Server.
Dado que la CAL de usuario y la CAL de dispositivo tienen el mismo precio, se recomienda que evalúe la rentabilidad de comprar licencias de tipo usuario o dispositivo por adelantado.
Ejemplos de licencias de SQL Server:
20 usuarios usan SQL Server desde 20 dispositivos conocidos. En este caso, no importa qué tipo de SQL CAL compre.
20 usuarios utilizan SQL Server desde 50 dispositivos. En este caso, es mejor comprar CAL 'por usuario'.
50 usuarios utilizan SQL Server desde 20 dispositivos. En este caso, será eficiente comprar CAL 'por dispositivo'.
Lo siguiente no importa al estimar la cantidad de CAL de SQL Server:
La cantidad de hosts que ejecutan SQL Server en su empresa;
El número de cuentas de usuario en los servidores;
El número de conexiones simultáneas a servidores;
La cantidad de aplicaciones comerciales entre su SQL Server y los clientes;
La cantidad de servidores RDS (terminales) entre SQL Server y los clientes;
Usuarios en el personal de cualquier empresa;
Propiedad del dispositivo por parte de personas o empresas.
Tenga en cuenta que las CAL se pueden reasignar a otro usuario o dispositivo solo una vez cada 90 días. Las CAL permiten utilizar versiones anteriores de SQL Server (derechos de degradación).
Para licencias correctas, use CAL de SQL Server de la misma versión o más reciente que su SQL Server. Por ejemplo, para acceder a SQL Server 2017 Standard Edition, necesita SQL CAL 2019 o SQL CAL 2017.
Iniciando la instalación de SQL Server
En este artículo, instalaremos MS SQL Server 2019 Enterprise Edition en Windows Server 2019.
Nota. SQL Server 2019 tiene soporte completo para Linux, así como para Docker y Kubernetes.
Descargue y monte la imagen de instalación de SQL Server 2019. Ejecute setup.exe.
Dado que en este artículo instalaremos una instancia independiente, seleccione Nueva instalación independiente de SQL Server en la pestaña Instalación.
Puede hacer muchas otras cosas en el asistente de instalación de SQL Server: actualizar una instancia anterior, corregir cualquier error, etc.
Configuración de actualización de SQL Server
En este paso, puede habilitar la búsqueda de actualizaciones a través de Windows Update. Depende de usted decidir si hacerlo. Si no tiene un plan de actualización claro para sus servidores, es mejor habilitar esta configuración.
Puede encontrar el siguiente error en este paso:
Error 0x80244022: Exception from HRESULT: 0x80244022Está relacionado con problemas de actualización de Windows. Aquí puede encontrar cómo resolverlos: https://a-d.site/windows-update-error-0x80244010-exceeded-max-server-round-trips/
Haga clic en Siguiente.
El paso Instalar archivos de configuración se realizará automáticamente. Preparará los archivos de SQL Server para la instalación.
Las reglas de instalación también se realizarán automáticamente si el asistente no encuentra ningún problema que resolver antes de la instalación de MSSQL (como el aviso para reiniciar su computadora o la incompatibilidad de su edición de Windows con la versión de SQL Server).
Tipo de instalación de SQL Server
En este paso, puede seleccionar si desea instalar una nueva instancia del servidor SQL o agregar funciones a una instancia instalada. En nuestro caso, marque “Realizar una nueva instalación de SQL Server 2019”.
Luego ingrese su clave de producto SQL. Si no la tiene, seleccione la edición gratuita (como Developer), pero recuerde que con la edición Developer solo puede desarrollar o probar software (no usar en tareas de producción).
En el paso Términos de licencia , acepte el acuerdo de licencia.
Instalación de componentes de SQL Server 2019
En este paso, se le solicita que instale diferentes componentes de SQL Server. Veamos cuáles son y cuáles instalar:
Servicios de motor de base de datos es un motor básico de SQL Server que debe instalarse.
Replicación de SQL Server son los servicios de replicación. Esta función se usa con bastante frecuencia, por lo que si no está seguro de si la necesita, es mejor verificarla para la instalación.
Servicios de aprendizaje automático y Extensiones de lenguaje son los servicios que ejecutan un código R/Python/Java en el contexto de SQL Server. Es necesario si vas a utilizar Machine Learning.
Extracciones semánticas y de texto completo para búsqueda: necesitará esta función si necesita una tecnología de búsqueda de texto completo o búsqueda semántica en los documentos (por ejemplo, en .docx). En caso de búsqueda semántica, también necesitará FILESTREAM. Hablaremos de esta función más adelante.
Los servicios de calidad de datos son los servicios para corregir o validar datos. Si no está seguro si necesita DQS, es mejor no instalarlo.
Servicio de consulta de PolyBase para datos externos permite el acceso a datos externos, por ejemplo, ubicados en otro servidor SQL o en la base de datos Oracle. El conector Java para orígenes de datos HDFS está relacionado con la tecnología PolyBase y, si desea utilizar la tecnología HDFS, instálela.
Analysis Services también se conoce como SSAS. La tecnología se utiliza para informes comerciales (BI) y OLAP en grandes empresas.
Luego pase a la lista de funciones compartidas (funciones que se aplican a todo el servidor y no a una instancia específica).
Machine Learning Server (independiente) es lo mismo que Machine Learning Services y Language Extensions, pero se puede instalar sin el motor de SQL Server.
Data Quality Client es una versión independiente de DQS.
Conectividad de herramientas de cliente incluye ODBC, OLE DB y algunas otras bibliotecas. Se recomienda instalarlos.
Los servicios de integración son servicios de integración de datos, también conocidos como SSIS. Se utiliza en datos ETL (Extraer, Transformar, Cargar). SSIS es necesario si desea importar datos automáticamente y cambiarlos durante la importación. Scale Out Master/Worker se utilizan para escalar la operación de SSIS. Si no está seguro de si los necesita, no marque la función.
La compatibilidad con versiones anteriores de las herramientas del cliente son DMV heredados y procedimientos del sistema. Estos son los recomendados para la instalación.
SDK de herramientas de cliente es un kit de herramientas para desarrolladores. Si no está seguro de necesitarlo, no instale el SDK.
El controlador/cliente de reproducción distribuida duplica y mejora las funciones del generador de perfiles de SQL Server. Los servicios Distributed Replay simulan la carga para diferentes pruebas de rendimiento.
SDK de conectividad de cliente SQL es como SDK de ODBC/OLE DB para desarrolladores.
Master Data Services es un componente de Microsoft Power BI. Se utiliza para analizar, validar, integrar o corregir datos.
Es posible que algunas de las características (como el conector Java para fuentes de datos HDFS) no estén disponibles en versiones anteriores de SQL Server.
En el mismo paso, puede especificar un directorio para los archivos de SQL Server. A menos que tenga una razón de peso para cambiarlo, deje el valor predeterminado (C:\Archivos de programa\Microsoft SQL Server\).
Una vez que haya seleccionado las funciones de MSSQL que necesita, el asistente de instalación verificará su compatibilidad con su sistema y, si no hay problemas, este paso se completará automáticamente.
Nombre de la instancia del servidor SQL
Puede dejar la opción Instancia predeterminada. Entonces el nombre de su instancia será MSSQLSERVER. Si selecciona Instancia con nombre, puede configurar su nombre de SQL Server. En mi caso, nombraré mi instancia DEV. Se recomienda ingresar el mismo ID de instancia que su nombre para evitar confusiones.
En la lista Instancias instaladas, se muestran las instancias de MSSQL instaladas en el servidor. Yo tengo uno.
Configuración de los ajustes del servicio de SQL Server
En la pestaña Cuentas de servicio, especifique las cuentas con las que se ejecutarán los servicios de SQL Server en el host. La mejor práctica es usar MSA (Cuentas de servicio administradas) o gMSA (Cuentas de servicio administradas de grupo), ya que son las más seguras. Usaré una cuenta de usuario de dominio normal.
Establezca el Tipo de inicio en Automático para el Agente SQL Server o tendrá que ejecutar el agente manualmente.
Además, puede configurar IFI (Inicialización instantánea de archivos) durante la instalación del servidor a partir de SQL Server 2016. Se denomina "Otorgar el privilegio Realizar tarea de mantenimiento de volumen al motor de base de datos de SQL Server" en el asistente de instalación. Si lo habilita, los datos antiguos no se sobrescribirán con ceros si:
Crear una base de datos;
Agregar datos a datos o archivos de registro;
Ampliar el tamaño de los archivos existentes (incluidas las operaciones de crecimiento automático);
Recuperar una base de datos o un grupo de archivos.
Acelerará la inicialización del archivo, pero afecta la seguridad ya que los datos antiguos no se ponen a cero (la información antigua en los archivos puede estar parcialmente disponible).
Recomiendo habilitar la configuración si la amenaza de fuga de datos es baja.
En el siguiente paso, debe seleccionar la Colección.
La intercalación es la codificación de SQL Server. Este parámetro establece la codificación de la página, las reglas de clasificación, la codificación char/varchar y otras configuraciones relacionadas con el idioma.
Durante la instalación del servidor, selecciona Intercalación para todo el servidor SQL. Después de la instalación, podrá editar la configuración, pero es bastante difícil hacerlo, por lo que es mejor seleccionar una intercalación adecuada de inmediato.
Si solo tiene datos en inglés, puede seleccionar SQL_Latin1_General_CP1_CI_AS.
Si va a utilizar SQL Server en tareas productivas, consulte la sección Intercalación de la documentación, ya que es una configuración importante, aunque se puede configurar para cada base de datos por separado.
Configurar las opciones del motor de base de datos en SQL Server
En el paso Configuración del motor de base de datos , hay 6 pestañas disponibles, veámoslas por separado:
En Configuración del servidor, seleccione Modo de autenticación y especifique la cuenta de administrador de SQL Server.
Tiene 2 modos para elegir: modo de autenticación de Windows y modo mixto.
Solo los usuarios de su dominio o computadora con Windows podrán autenticarse usando la autenticación de Windows.
En el modo mixto, también podrá autenticarse utilizando su cuenta de SQL Server.
Microsoft recomienda utilizar la autenticación de Windows como el método más seguro; sin embargo, en la práctica es probable que también inicie sesión en su servidor desde otras aplicaciones. Por ejemplo, de los escritos en Java. Entonces tendrá que usar la autenticación de SQL Server.
Si está seguro de que sus usuarios solo iniciarán sesión desde computadoras con Windows o aplicaciones que admitan la autenticación de Windows, seleccione el modo de autenticación de Windows.
En mi caso, marque el modo Mixto. En este modo, tendrá que especificar un
sacontraseña de usuario y seleccione una cuenta de Windows que tendrá privilegios de administrador.
En la pestaña Directorios de datos, seleccione el directorio donde su SQL Server almacenará los archivos de la base de datos y los registros de transacciones.
Es mejor usar una unidad RAID separada para almacenar sus datos. Un subsistema de disco es de vital importancia para el rendimiento de SQL Server, por lo tanto, utilice la mejor variante disponible de almacenamiento de datos, por ejemplo, NAS o un RAID local de discos rápidos.
Mantener todos los directorios (bases de datos del sistema, registros de bases de datos de usuarios, copias de seguridad) en diferentes almacenamientos se considera una buena práctica. Por lo tanto, obtendrá el máximo rendimiento de SQL Server en el nivel de almacenamiento de datos.
En mi caso, especificaré una unidad RAID 1 separada para todas las carpetas.
En la pestaña TempDB, puede configurar los ajustes de tempdb. Su correcta configuración es importante para el rendimiento de su servidor, ya que esta base de datos está involucrada en casi todas las operaciones con datos.
Número de archivos es el número de archivos de datos para tempdb. Debe especificar la cantidad de archivos según la cantidad de núcleos de CPU. Una buena práctica es especificar el número de archivos igual al número de núcleos de CPU dividido por 2. Esto significa que se recomiendan 16 archivos para un servidor de 32 núcleos. Además, no se recomienda especificar menos de 8 archivos independientemente del número de núcleos. Es necesario evitar los problemas descritos aquí: https://support.microsoft.com/en-us/kb/2154845 .
Tamaño inicial es el tamaño inicial de los archivos de datos tempdb. Después de cada reinicio del servidor, el tamaño de tempdb se restablecerá a su tamaño inicial. Se recomienda especificar el tamaño del archivo de datos en función de la carga planificada. Si no puede estimarlo, deje el valor en 8 MB. Si asigna una matriz/unidad especial para sus archivos tembdb (lo discutiremos a continuación), es mejor especificar el tamaño del archivo para que ocupen todo el disco para evitar el crecimiento constante de los archivos.
El crecimiento automático es el paso del crecimiento incremental del archivo tempdb. Este parámetro debe configurarse en función del tamaño inicial. Déjelo en 64 MB si no puede estimar su carga futura. Tenga en cuenta que si IFI (inicialización instantánea de archivos) está habilitado, el tiempo de espera para el bloque de crecimiento de archivos será significativamente menor. No se recomienda establecer un valor grande del tamaño incremental, ya que provocará retrasos considerables al aumentar el tamaño del archivo.
Directorios de datos son los directorios donde se ubicarán los archivos tempdb. Si especifica varios directorios, los archivos se colocarán siguiendo el algoritmo Round-robin, i. es decir, en un ciclo. En otras palabras, si especifica 4 directorios, los archivos de datos se distribuirán por igual en todos los directorios. La mejor práctica es agregar diferentes conjuntos de discos para sus archivos de datos.
Archivo de registro de TempDb: tamaño inicial/crecimiento automático permite configurar el tamaño inicial y el paso del crecimiento incremental de su archivo de registro de tempdb. Se aplican las mismas reglas que para los archivos de datos tempdb.
Directorio de registro es el directorio donde se almacena el archivo de registro tempdb. Solo hay 1 archivo de registro independientemente de la cantidad de archivos de datos que tenga, y solo se especifica 1 directorio. Si es posible, asigne también una matriz separada para el archivo de registro.
La pestaña MaxDOP.
MaxDOP en una configuración de SQL Server que es responsable de ejecutar consultas paralelas y grado de paralelismo. Para que su servidor SQL use todos los núcleos de la CPU en el procesamiento de planes paralelos, configure
0como el valor MaxDOP. Si desea deshabilitar las consultas paralelas por algún motivo, configure
1como el valor. Para obtener el máximo rendimiento, configure MaxDOP según las reglas de la siguiente tabla (https://go.microsoft.com/fwlink/?linkid=2084761):
| Server configuration | Number of processors | Guidance |
| Server with single NUMA node | Less than or equal to 8 logical processors | Set MAXDOP at or below # of logical processors |
| Server with single NUMA node | Greater than 8 logical processors | Set MAXDOP at 8 |
| Server with multiple NUMA nodes | Less than or equal to 16 logical processors per NUMA node | Set MAXDOP at or below # of logical processors per NUMA node |
| Server with multiple NUMA nodes | Greater than 16 logical processors per NUMA node | Set MAXDOP at half the number of logical processors per NUMA node with a MAX value of 16 |
En mi caso, lo estableceré en 0. Esto me dará el máximo rendimiento para ejecutar consultas en paralelo, pero también puede generar demoras, ya que otros procesos tendrán que esperar hasta que finalice el proceso actual, porque todos los núcleos del procesador estarán ocupados. con la ejecución de la consulta actual.
Todavía recomiendo seguir las reglas enumeradas en la tabla anterior para un servidor con una gran carga de trabajo. Consulte también la documentación siguiendo el enlace anterior.
En la pestaña Memoria , especifique el tamaño de RAM mínimo y máximo que usará su SQL Server. Dado que es bastante difícil estimar el tamaño adecuado para un servidor, se recomienda dedicar el 80-85 % de toda la memoria RAM del servidor a su servidor SQL. Para conocer el tamaño real de la RAM utilizada, debe monitorear el uso de la RAM las 24 horas del día utilizando DMV (Vista de administración dinámica) especiales. Puede estimar un uso real de RAM solo si tiene estos datos.
Dejaré los valores por defecto (min 0 y max 2147483647 MB).
En la pestaña FILESTREAM, puede habilitar la función FILESTREAM. Permite almacenar archivos binarios en el sistema de archivos y proporciona acceso a ellos a través de SQL. Si no está seguro de querer trabajar con datos binarios en el nivel de SQL, deje FILESTREAM deshabilitado.
El paso Reglas de configuración de características se realizará automáticamente. Lea la información en la sección Listo para instalar y haga clic en Instalar.
Por lo tanto, ha completado la instalación básica de SQL Server 2019 Enterprise. En el siguiente artículo, veremos las principales formas de analizar el rendimiento y los problemas en SQL Server.
Nota. Es posible que falten algunas pestañas o configuraciones en versiones anteriores (SQL Server 2014, 2016).











