Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplicable a: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
SQL Server 2019 (15.x)
En este artículo se muestra cómo instalar SQL Server Machine Learning Services en Windows. Puede usar Machine Learning Services para ejecutar scripts de Python y R en la base de datos.
Importante
Estas instrucciones se aplican a SQL Server 2016 (13.x), SQL Server 2017 (14.x) y SQL Server 2019 (15.x). Para SQL Server 2022 (16.x), consulte Install SQL Server 2022 Machine Learning Services en Windows.
referencia de versión de Python y R
En la tabla siguiente se muestran las versiones de tiempo de ejecución de Python y R incluidas con cada versión de SQL Server. Use esta tabla para determinar qué versiones de idioma están disponibles para la instancia de SQL Server.
| versión de SQL Server | versión de Python | Versión de R |
|---|---|---|
| SQL Server 2016 (13.x) | N/A (solo R) | 3.2.2 |
| SQL Server 2017 (14.x) RTM: CU21 | 3.5.2 | 3.3.3 |
| SQL Server 2017 (14.x) CU22 y versiones posteriores | 3.5.2 y 3.7.2 | 3.3.3 y 3.5.2 |
| SQL Server 2019 (15.x) | 3.7.1 | 3.5.2 |
| SQL Server 2022 (16.x) | 3.10.2 | 4.2.0 |
Nota
A partir de SQL Server 2022 (16.x), los entornos de ejecución para R, Python y Java ya no se instalan con el programa de instalación de SQL Server. En su lugar, instale los paquetes y los entornos de ejecución personalizados deseados. Para obtener más información, consulte Install SQL Server 2022 Machine Learning Services on Windows.
Para obtener más información sobre todas las versiones compatibles, consulte ¿Qué es SQL Server Machine Learning Services?
Lista de comprobación de preinstalación
Se necesita una instancia del motor de base de datos. No puede instalar solo Python o características de R, aunque puede agregarlas de forma incremental a una instancia independiente existente.
Para la continuidad empresarial, se admiten Always En grupos de disponibilidad para Machine Learning Services. Instale Machine Learning Services y configure paquetes en cada nodo.
No se admite la instalación de Machine Learning Services en una instancia de clúster de conmutación por error Always On en SQL Server 2017. Se admite con SQL Server 2019 y versiones posteriores. Debe instalar los Servicios de Machine Learning durante la instalación, y no se pueden agregar características a una instancia ya existente del clúster de conmutación por error una vez que se ha instalado.
No instale Machine Learning Services en un controlador de dominio. Se producirá un error en la parte Machine Learning Services del programa de instalación.
No instale Características compartidas>Machine Learning Server (independiente) en el mismo equipo que ejecuta una instancia de base de datos. Un servidor independiente competirá por los mismos recursos y reducirá el rendimiento de ambas instalaciones.
Se admite la instalación en paralelo con otras versiones de Python y R, pero no se recomienda. Se admite porque la instancia de SQL Server usa sus propias copias de las distribuciones de R y Anaconda de código abierto. No se recomienda porque la ejecución de código que usa Python y R en un equipo fuera de SQL Server puede provocar problemas:
- El uso de una biblioteca diferente y archivos ejecutables diferentes creará resultados que son incoherentes con lo que se ejecuta en SQL Server.
- SQL Server no puede administrar scripts de R y Python que se ejecutan en bibliotecas externas, lo que conduce a la contención de recursos.
Nota
Machine Learning Services se instala de forma predeterminada en SQL Server Big Data Clusters. Si usa un clúster de macrodatos, no es necesario que siga los pasos que aparecen en este artículo. Para obtener más información, consulte Use Machine Learning Services (Python y R) en Big Data Clusters.
Importante
Una vez finalizada la instalación, asegúrese de completar los pasos posteriores a la configuración que se describen en este artículo. Estos pasos incluyen habilitar SQL Server para usar scripts externos y agregar cuentas necesarias para SQL Server ejecutar trabajos de R y Python en su nombre. Habitualmente, si se realizan cambios en la configuración, es necesario reiniciar la instancia o el servicio Launchpad.
Obtener los medios de instalación
La ubicación de descarga de SQL Server depende de la edición:
SQL Server ediciones Enterprise, Standard y Express. Estas ediciones tienen licencia para su uso en producción. En el caso de las ediciones Enterprise y Standard, póngase en contacto con su proveedor de software para obtener los soportes de instalación. Encontrará información sobre la adquisición y un directorio de asociados de Microsoft en el sitio web de adquisición de Microsoft.
Para obtener más información sobre qué ediciones de SQL Server admiten Python e integración de R con Machine Learning Services, consulte Editions y características admitidas de SQL Server 2017.
Para obtener más información sobre qué ediciones de SQL Server admiten Python e integración de R con Machine Learning Services, consulte Editions y características admitidas de SQL Server 2019.
Ejecución de la configuración
En las instalaciones locales debe ejecutar el programa de instalación como administrador. Si instala SQL Server desde un recurso compartido remoto, debe usar una cuenta de dominio que tenga permisos de lectura y ejecución en el recurso compartido remoto.
Inicie el asistente de configuración para SQL Server.
En la pestaña Installation, seleccione Nuevo SQL Server instalación independiente o agregue características a una instalación existente.
En la página Selección de características , seleccione estas opciones:
Database Engine Services
Para usar R y Python con SQL Server, debe instalar una instancia del motor de base de datos. Puede usar una instancia predeterminada o una instancia con nombre.
Machine Learning Services (In-Database)
Esta opción instala los servicios de base de datos que admiten la ejecución de scripts de R y Python.
Database Engine Services
Para usar R o Python con SQL Server, debe instalar una instancia del motor de base de datos. Puede usar una instancia predeterminada o una instancia con nombre.
Machine Learning Services and Language Extension
Esta opción instala los servicios de base de datos que admiten la ejecución de scripts de R y Python.
R
Seleccione esta opción para agregar los paquetes de Microsoft R, el intérprete y R de código abierto.
Python
Seleccione esta opción para agregar los paquetes de Microsoft Python, el archivo ejecutable Python y seleccionar bibliotecas de la distribución de Anaconda. Para la versión específica de Python incluida con tu versión de SQL Server, consulta Referencia de versiones de Python y R.
Para obtener información sobre cómo instalar y usar Java, consulte Install SQL Server Java Language Extension on Windows.
Nota
No seleccione la opción Machine Learning Server (independiente) en Características compartidas. Esa opción está pensada para su uso en un equipo independiente.
En la página Consentimiento para instalar Microsoft R Open, seleccione Aceptar>Siguiente.
El contrato de licencia abarca:
- Microsoft R Open.
- Herramientas y paquetes base de R de código abierto.
- Paquetes de R y proveedores de conectividad mejorados del equipo de desarrollo de Microsoft.
En la página Consent to Install Python, seleccione Accept>Next. El Python contrato de licencia de código abierto también abarca Anaconda y herramientas relacionadas, además de algunas nuevas bibliotecas de Python del equipo de desarrollo de Microsoft.
Nota
Si el equipo que está usando no tiene acceso a Internet, puede pausar la instalación en este punto y descargar los instaladores por separado. Para obtener más información, consulte Instalación de componentes de aprendizaje automático sin acceso a Internet.
En la página Listo para instalar, confirme que estas selecciones se han realizado y seleccione Instalar:
- Servicios del Motor de Base de Datos
- servicios de Machine Learning (en base de datos)
- R, Python o ambos
Tome nota de la ubicación de la carpeta en la ruta de acceso
..\Setup Bootstrap\Logdonde se almacenan los archivos de configuración. Una vez que se haya completado la instalación, podrá revisar los componentes instalados en el archivo de resumen.Cuando finalice la instalación, si el programa indica que se reinicie el equipo, hágalo. Es importante leer el mensaje del Asistente para la instalación tras finalizar el programa de instalación. Para obtener más información, consulte View y lea SQL Server archivos de registro de instalación.
En la página Consentimiento para instalar Microsoft R Open, seleccione Aceptar>Siguiente. Este contrato de licencia cubre Microsoft R Open, que incluye una distribución de las herramientas y paquetes base de R de código abierto. Además, incluye proveedores de conectividad y paquetes de R mejorados del equipo de desarrollo de Microsoft.
En la página Consent to Install Python, seleccione Accept>Next. El Python contrato de licencia de código abierto también abarca Anaconda y herramientas relacionadas, además de algunas nuevas bibliotecas de Python del equipo de desarrollo de Microsoft.
En la página Listo para instalar, confirme que estas selecciones se han realizado y seleccione Instalar:
- Servicios de Motor de Base de Datos
- servicios de Machine Learning (en base de datos)
- R, Python o ambos
Tome nota de la ubicación de la carpeta en la ruta de acceso
..\Setup Bootstrap\Logdonde se almacenan los archivos de configuración. Una vez que se haya completado la instalación, podrá revisar los componentes instalados en el archivo de resumen.Cuando finalice la instalación, si el programa indica que se reinicie el equipo, hágalo. Es importante leer el mensaje del Asistente para la instalación tras finalizar el programa de instalación. Para obtener más información, consulte View y lea SQL Server archivos de registro de instalación.
Establecimiento de variables de entorno
Solo de cara a la integración de características de R, conviene establecer la variable de entorno MKL_CBWR para garantizar una salida coherente de los cálculos de la biblioteca Math Kernel Library (MKL) de Intel:
En Control Panel, seleccione System and Security>System>Advanced System Settings>Environment Variables.
Cree un usuario o una variable del sistema:
- Establezca el nombre de la variable en
MKL_CBWR. - Establezca el valor de la variable en
AUTO.
- Establezca el nombre de la variable en
Este paso requiere el reinicio del servidor. Si va a habilitar la ejecución de scripts, puede posponer el reinicio hasta que se realice todo el trabajo de configuración.
Habilitación de la ejecución de scripts
Use SQL Server Management Studio (SSMS) para conectarse a la instancia en la que instaló SQL Server Machine Learning Services.
Seleccione Nueva consulta para abrir una ventana de consulta y, luego, ejecute el comando siguiente:
EXEC sp_configureEl valor de la propiedad
external scripts enableddebería ser0en este momento. La característica está desactivada de forma predeterminada. Para activarlo para que pueda ejecutar scripts de R o Python, ejecute la siguiente instrucción:EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDESi ya ha habilitado la característica para el lenguaje R, no es necesario ejecutar
RECONFIGUREuna segunda vez para Python. La plataforma de extensibilidad subyacente admite ambos lenguajes.
Reinicie el servicio.
Después de que la instalación se haya completado, reinicie el motor de base de datos. Al reiniciar el servicio también se reinicia automáticamente el servicio SQL Server Launchpad relacionado.
Puede reiniciar el servicio mediante cualquiera de estos métodos:
- Haga clic con el botón derecho en la instancia en Object Explorer de SSMS y seleccione Restart.
- Elemento Services Microsoft Management Console (MMC) en Control Panel
- SQL Server Configuration Manager
Comprobar la instalación
Haga lo siguiente para comprobar que se están ejecutando todos los componentes que se usan para iniciar los scripts externos:
En SQL Server Management Studio, abra una nueva ventana de consulta y ejecute el siguiente comando:
EXECUTE sp_configure 'external scripts enabled'run_valuese establece en1.Abra el elemento Services del panel de control o el SQL Server Configuration Manager y compruebe que el servicio SQL Server Launchpad está en ejecución. Debe tener un servicio para cada instancia del motor de base de datos que tenga R o Python instalado. Para obtener más información sobre el servicio, consulte Extensibility architecture in SQL Server Machine Learning Services.
Si Launchpad se está ejecutando, puede ejecutar scripts de Python y R sencillos para comprobar que los entornos de ejecución de scripting externos pueden comunicarse con SQL Server.
Abra una nueva ventana Query en SQL Server Management Studio y ejecute un script como:
Para R:
EXEC sp_execute_external_script @language =N'R', @script=N' OutputDataSet <- InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GOPara Python:
EXEC sp_execute_external_script @language =N'Python', @script=N' OutputDataSet = InputDataSet; ', @input_data_1 =N'SELECT 1 AS hello' WITH RESULT SETS (([hello] int not null)); GO
La primera vez que se carga el tiempo de ejecución del script externo, el script puede tardar un poco en ejecutarse. Los resultados deben tener un aspecto similar al siguiente:
hola 1
Nota
Las columnas o encabezados usados en el script de Python no se devuelven automáticamente. Para agregar nombres de columna para la salida, debe especificar el esquema para el conjunto de datos devuelto. Para ello, use el parámetro WITH RESULTS del procedimiento almacenado, asigne un nombre a las columnas y especifique el tipo de datos SQL.
Por ejemplo, puede agregar la línea siguiente para generar un nombre de columna arbitrario: WITH RESULT SETS ((Col1 AS int)).
Aplicación de actualizaciones
Instalación existente
Si ha agregado Machine Learning Services a una instancia de SQL Server existente y ha aplicado previamente una actualización acumulativa (CU), las versiones del motor de base de datos y la característica Machine Learning Services pueden ser diferentes. Esta diferencia podría dar lugar a errores o comportamientos inesperados porque launchpad.exe y sqlservr.exe tienen versiones diferentes.
Siga estos pasos para llevar Machine Learning Services a la misma versión que el motor de base de datos:
Determine la actualización acumulativa que posee el motor de base de datos. Ejecute esta instrucción T-SQL:
SELECT @@VERSIONEste es un ejemplo de salida de SQL Server 2019 CU 8:
Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64) Nov 2 2020 18:35:09 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)Para obtener más información, vea Determine el nivel de versión, edición y actualización de SQL Server y sus componentes.
Si es necesario, descargue la actualización acumulativa que ha instalado para el motor de base de datos.
Ejecute la instalación de la actualización acumulativa y siga las instrucciones para instalarla de nuevo para Machine Learning Services. Seleccione la instancia existente en la que está instalado Machine Learning Services. El estado de actualización mostrará Incompletely Installed (Instalación incompleta) en la página Selección de características.
Seleccione Siguiente y continúe con la instalación.
Nueva instalación
Si instala Machine Learning Services con una nueva instalación del motor de base de datos de SQL Server, se recomienda aplicar la actualización acumulativa más reciente tanto al motor de base de datos como a los componentes de machine learning.
En los dispositivos conectados a Internet, las actualizaciones acumulativas normalmente se aplican a través de Windows Update. También puede usar los pasos siguientes para las actualizaciones controladas. Al aplicar la actualización para el motor de base de datos, el programa de instalación extrae las actualizaciones acumulativas de las características de Python o R instaladas en la misma instancia.
Los servidores desconectados requieren pasos adicionales. Para obtener más información, consulte Instalación en equipos sin acceso a Internet > Aplicación de actualizaciones acumulativas.
Comience con una instancia de línea base ya instalada: SQL Server versión inicial.
Seleccione la actualización acumulativa más reciente. Se descarga un ejecutable que se extrae automáticamente.
Ejecute el programa de instalación y acepte los términos de licencia.
En la página Selección de características, revise las características para las que se aplican las actualizaciones acumulativas. Debería ver todas las características instaladas para la instancia actual, incluidas las características de aprendizaje automático. El programa de instalación descarga los archivos CAB que son necesarios para actualizar todas las características.
Continúe con el asistente. Acepte los términos de licencia para las distribuciones de R y Python.
Configuración adicional
Si el paso de comprobación del script externo se realizó correctamente, puede ejecutar comandos de R o Python desde SQL Server Management Studio, Visual Studio Code o cualquier otro cliente que pueda enviar instrucciones T-SQL al servidor.
Si recibió un error al ejecutar el comando, es posible que tenga que realizar configuraciones adicionales en el servicio o la base de datos. En el nivel de instancia, las configuraciones adicionales podrían incluir:
- Configurar un firewall para SQL Server Machine Learning Services
- Habilitación de protocolos de red adicionales
- Habilitación de conexiones remotas
- Creación de un inicio de sesión para SQLRUserGroup
- Administración de cuotas de disco para impedir que los scripts externos ejecuten tareas que agoten el espacio en disco
En SQL Server 2019 en Windows, el mecanismo de aislamiento ha cambiado. Este mecanismo afecta a SQLRUserGroup, las reglas de firewall, los permisos de archivo y la autenticación implícita. Para obtener más información, consulte Cambios en el aislamiento para los servicios de aprendizaje automático.
En la base de datos, puede que necesite actualizaciones de configuración. Para obtener más información, consulte Permisos de usuarios de SQL Server Machine Learning Services.
Nota
Si se requiere la configuración adicional depende del esquema de seguridad, donde instaló SQL Server y cómo espera que los usuarios se conecten a la base de datos y ejecuten scripts externos.
Optimizaciones sugeridas
Ahora que todo funciona, es posible que también quiera optimizar el servidor para admitir el aprendizaje automático o instalar un modelo de aprendizaje automático previamente entrenado.
Adición de más cuentas profesionales
Si prevé que muchos usuarios ejecutarán scripts al mismo tiempo, puede aumentar el número de cuentas profesionales que están asignadas al servicio Launchpad. Para obtener más información, consulte Escalar la ejecución concurrente de scripts externos en SQL Server Machine Learning Services.
Optimización del servidor para la ejecución de scripts
La configuración predeterminada de SQL Server configuración está pensada para optimizar el equilibrio del servidor para una variedad de otros servicios y aplicaciones.
En la configuración predeterminada, los recursos para el aprendizaje automático están restringidos a veces, especialmente en operaciones que usan mucha memoria.
Para asegurarse de que los trabajos de aprendizaje automático tienen prioridad y se usan correctamente, se recomienda usar SQL Server Resource Governor para configurar un grupo de recursos externo. También puede cambiar la cantidad de memoria asignada al motor de base de datos de SQL Server o aumentar el número de cuentas que se ejecutan en el servicio SQL Server Launchpad.
Para configurar un grupo de recursos para la administración de recursos externos, vea Creación de un grupo de recursos externos.
Para cambiar la cantidad de memoria reservada para la base de datos, vea Opciones de configuración de memoria del servidor.
Para cambiar el número de cuentas de R que SQL Server Launchpad puede iniciar, consulte Escalar la ejecución simultánea de scripts externos en SQL Server Machine Learning Services.
Si usa Standard Edition y no tiene Resource Governor, puede usar vistas de administración dinámica, SQL Server eventos extendidos y supervisión de eventos Windows para ayudar a administrar los recursos del servidor.
Instalación de paquetes de Python y R adicionales
Las soluciones de Python y R que crea para SQL Server pueden llamar a:
- Funciones básicas.
- Funciones de los paquetes propietarios instalados con SQL Server.
- Paquetes de terceros compatibles con la versión de Python de código abierto y R que SQL Server instala.
Los paquetes que desea usar desde SQL Server deben instalarse en la biblioteca predeterminada que usa la instancia. Si tiene una instalación independiente de Python o R en el equipo, o si ha instalado paquetes en bibliotecas de usuario, no puede usar esos paquetes desde T-SQL.
Para instalar y administrar paquetes adicionales, puede configurar grupos de usuarios para compartir paquetes en cada nivel de base de datos, o bien configurar roles de base de datos para permitir que los usuarios instalen sus propios paquetes. Para obtener más información, consulte Instalación de nuevos paquetes de R.
Contenido relacionado
- ¿Qué es SQL Server Machine Learning Services?
- Install SQL Server 2022 Machine Learning Services en Windows
- Python Tutorial: Implementación de un modelo de regresión lineal con el aprendizaje automático de SQL
- tutorial de Python: Clasificación de clientes mediante clústeres k-means con aprendizaje automático de SQL
- Inicio rápido: Ejecución de scripts de R sencillos con aprendizaje automático de SQL
- Tutorial de R: Predicción de tarifas de taxi de Nueva York con clasificación binaria