Condividi tramite


Installare SQL Server Machine Learning Services (Python e R) in Windows

Applica a: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

Questo articolo illustra come installare SQL Server Machine Learning Services in Windows. È possibile usare Machine Learning Services per eseguire script Python e R nel database.

Importante

Queste istruzioni si applicano a SQL Server 2016 (13.x), SQL Server 2017 (14.x) e SQL Server 2019 (15.x). Per SQL Server 2022 (16.x), vedere Installare SQL Server 2022 Machine Learning Services in Windows.

Informazioni di riferimento sulla versione di Python e R

La tabella seguente illustra le versioni di runtime Python e R incluse in ogni versione SQL Server. Utilizzare questa tabella per determinare le versioni della lingua disponibili per l'istanza di SQL Server.

versione di SQL Server versione di Python Versione R
SQL Server 2016 (13.x) N/D (solo R) 3.2.2
SQL Server 2017 (14.x) RTM - CU21 3.5.2 3.3.3
SQL Server 2017 (14.x) CU22 e versioni successive 3.5.2 e 3.7.2 3.3.3 e 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 partire da SQL Server 2022 (16.x), i runtime per R, Python e Java non vengono più installati con il Setup di SQL Server. Installare invece i runtime e i pacchetti personalizzati desiderati. Per altre informazioni, vedere Installare SQL Server 2022 Machine Learning Services on Windows.

Per altre informazioni su tutte le versioni supportate, vedere Eche è SQL Server Machine Learning Services?

Elenco di controllo per la preinstallazione

  • È necessaria un'istanza del motore di database. Non è possibile installare solo le funzionalità di Python o R, anche se è possibile aggiungerle in modo incrementale a un'istanza autonoma esistente.

  • Per la continuità aziendale, Always On availability groups sono supportati per i Servizi di Machine Learning. Installare Machine Learning Services e configurare i pacchetti in ogni nodo.

  • L'installazione di Machine Learning Services non è supportata in un'istanza di Always On failover cluster in SQL Server 2017. È supportato con SQL Server 2019 e versioni successive. È necessario installare Machine Learning Services durante l'installazione e non è possibile aggiungere funzionalità a un'istanza del cluster di failover esistente dopo l'installazione.

  • Non installare Machine Learning Services su un controller di dominio. La parte Machine Learning Services dell'installazione avrà esito negativo.

  • Non installare le funzionalità Shared Features>Machine Learning Server (Standalone) nello stesso computer che esegue un'istanza del database. Un server autonomo entrerebbe in competizione per le stesse risorse, riducendo le prestazioni di entrambe le installazioni.

  • L'installazione side-by-side con altre versioni di Python e R è supportata, ma non è consigliabile. È supportato perché l'istanza di SQL Server usa le proprie copie delle distribuzioni R e Anaconda open source. Non è consigliabile perché l'esecuzione di codice che usa Python e R in un computer esterno SQL Server può causare problemi:

    • L'uso di una libreria diversa e di file eseguibili diversi creerà risultati incoerenti a ciò che si sta eseguendo in SQL Server.
    • SQL Server non è possibile gestire script R e Python eseguiti in librerie esterne, causando conflitti di risorse.

Nota

Machine Learning Services è installato per impostazione predefinita in SQL Server cluster Big Data. Non è necessario seguire la procedura descritta in questo articolo se si usa un cluster Big Data. Per altre informazioni, vedere Use Machine Learning Services (Python e R) in cluster Big Data.

Importante

Al termine dell'installazione, assicurarsi di completare i passaggi di post-configurazione descritti in questo articolo, Questi passaggi includono l'abilitazione di SQL Server all'uso di script esterni e l'aggiunta di account necessari per SQL Server per eseguire processi R e Python per conto dell'utente. Per completare le modifiche alla configurazione è in genere necessario riavviare l'istanza o il servizio Launchpad.

Ottieni il media di installazione

Il percorso di download per SQL Server dipende dall'edizione:

  • SQL Server Edizioni Enterprise, Standard ed Express. Queste edizioni sono concesse in licenza per l'uso in produzione. Per le edizioni Enterprise e Standard, contattare il proprio fornitore di software per richiedere il supporto di installazione. È possibile trovare informazioni sull'acquisto e una directory per i partner Microsoft nel sito Web Microsoft per gli acquisti.

  • L'edizione gratuita più recente.

Per altre informazioni sulle edizioni di SQL Server che supportano l'integrazione di Python e R con Machine Learning Services, vedere Editions e le funzionalità supportate di SQL Server 2017.

Per altre informazioni sulle edizioni di SQL Server che supportano l'integrazione di Python e R con Machine Learning Services, vedere Editions e le funzionalità supportate di SQL Server 2019.

Eseguire l'installazione.

Per le installazioni locali, è necessario eseguire il programma di installazione come amministratore. Se si installa SQL Server da una condivisione remota, è necessario usare un account di dominio con autorizzazioni di lettura ed esecuzione per la condivisione remota.

  1. Avviare l'installazione guidata per SQL Server.

  2. Nella scheda Installazione selezionare una nuova installazione autonoma di SQL Server o per aggiungere funzionalità a un'installazione esistente.

    Screenshot che mostra l'opzione per la creazione di un'installazione autonoma SQL Server o l'aggiunta di funzionalità a un'installazione esistente.

    Screenshot che mostra l'opzione per l'uso di una nuova installazione autonoma SQL Server o l'aggiunta di funzionalità a un'installazione esistente.

  3. Nella pagina Selezione funzionalità selezionare queste opzioni:

    • motore di database Services

      Per usare R e Python con SQL Server, è necessario installare un'istanza del motore di database. È possibile usare un'istanza predefinita oppure un'istanza denominata.

    • Machine Learning Services (In-Database)

      Questa opzione installa i servizi di database che supportano R e Python l'esecuzione di script.

    • motore di database Services

      Per usare R o Python con SQL Server, è necessario installare un'istanza del motore di database. È possibile usare un'istanza predefinita oppure un'istanza denominata.

    • Machine Learning Services and Language Extension

      Questa opzione installa i servizi di database che supportano R e Python l'esecuzione di script.

    • R

      Selezionare questa opzione per aggiungere i pacchetti Microsoft R, l'interprete e la distribuzione di R open source.

    • Python

      Selezionare questa opzione per aggiungere i pacchetti di Microsoft Python, l'eseguibile Python e selezionare le librerie dalla distribuzione di Anaconda. Per la versione Python specifica inclusa nella versione SQL Server, vedere Python e informazioni di riferimento sulla versione R.

    Per informazioni sull'installazione e l'uso di Java, vedere Installare l'estensione del linguaggio SQL Server Java in Windows.

    Screenshot che mostra le opzioni di funzionalità per R e Python.

    Screenshot che mostra la selezione delle opzioni di funzionalità per R e Python.

    Nota

    Non selezionare l'opzione Machine Learning Server (Standalone) in Shared Features. Questa opzione è destinata all'uso in un computer separato.

  1. Nella pagina Consenso per installare Microsoft R Open selezionare AccettaAvanti.

    Il contratto di licenza copre:

    • Microsoft R Open.
    • Pacchetti e strumenti di base R Open Source.
    • Pacchetti R avanzati e provider di connettività del team di sviluppo Microsoft.
  2. Nella pagina Consent per installare Python selezionare Accept>Next. Il contratto di licenza open source Python include anche Anaconda e gli strumenti correlati, oltre ad alcune nuove librerie Python del team di sviluppo Microsoft.

    Nota

    Se il computer in uso non ha accesso a Internet, è possibile sospendere l'installazione a questo punto e scaricare i programmi di installazione separatamente. Per altre informazioni, vedere Installare i componenti di Machine Learning in computer senza accesso a Internet.

  3. Nella pagina Inizio installazione, verificare che le opzioni selezionate siano incluse e selezionare Installa:

    • Servizi Motore di Database
    • Servizi di Machine Learning (in-database)
    • R, Python o entrambi

    Si noti la posizione della cartella nel percorso in cui sono archiviati i file di configurazione. Al termine dell'installazione, è possibile esaminare i componenti installati nel file di riepilogo.

  4. Dopo che l'installazione è completata, riavviare il computer, se richiesto. È importante leggere il messaggio visualizzato nell'Installazione guidata al termine dell'installazione. Per ulteriori informazioni, vedere e leggere il file di log di installazione di SQL Server.

  1. Nella pagina Consenso per installare Microsoft R Open selezionare AccettaAvanti. Questo contratto di licenza disciplina l'uso di Microsoft R Open, che include una distribuzione di pacchetti e strumenti R open source di base. Include inoltre pacchetti R avanzati e provider di connettività del team di sviluppo Microsoft.

  2. Nella pagina Consent per installare Python selezionare Accept>Next. Il contratto di licenza open source Python include anche Anaconda e gli strumenti correlati, oltre ad alcune nuove librerie Python del team di sviluppo Microsoft.

  3. Nella pagina Inizio installazione, verificare che le opzioni selezionate siano incluse e selezionare Installa:

    • Servizi Motore di Database
    • Machine Learning Services (servizi all'interno del database)
    • R, Python o entrambi

    Si noti la posizione della cartella nel percorso in cui sono archiviati i file di configurazione. Al termine dell'installazione, è possibile esaminare i componenti installati nel file di riepilogo.

  4. Dopo che l'installazione è completata, riavviare il computer, se richiesto. È importante leggere il messaggio visualizzato nell'Installazione guidata al termine dell'installazione. Per altre informazioni, vedere Visualizzare e leggere i file di log del programma di installazione di SQL Server.

Impostare le variabili di ambiente

Per integrare solo le funzionalità di R, è necessario impostare la variabile di ambiente per avere la certezza di ottenere un output coerente dai calcoli di Intel Math Kernel Library (MKL).

  1. In Pannello di controllo, selezionare System and Security>System>Advanced System Settings>Environment Variables.

  2. Creare una nuova variabile dell'utente o di sistema:

    • Impostare il nome della variabile su .
    • Impostare come valore della variabile.

Per questo passaggio è necessario riavviare il server. Se si intende abilitare l'esecuzione di script, è possibile sospendere il riavvio fino a quando non sono state completate tutte le operazioni di configurazione.

Abilitare l'esecuzione di script

  1. Usare SQL Server Management Studio (SSMS) per connettersi all'istanza in cui è stato installato SQL Server Machine Learning Services.

  2. Selezionare Nuova query per aprire una finestra di query e quindi eseguire il comando seguente:

    EXEC sp_configure
    
  3. A questo punto, il valore della proprietà deve essere . La funzionalità è disattivata per impostazione predefinita. Per attivarlo in modo da poter eseguire script R o Python, eseguire l'istruzione seguente:

    EXEC sp_configure  'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    

    Se è già stata abilitata la funzionalità per il linguaggio R, non è necessario eseguire RECONFIGURE una seconda volta per Python. La piattaforma di estendibilità sottostante supporta entrambi i linguaggi.

Riavvia il servizio

Al termine dell'installazione riavviare il motore di database. Il riavvio del servizio riavvia automaticamente anche il servizio Launchpad correlato SQL Server.

È possibile riavviare il servizio usando uno di questi metodi:

  • Fare clic con il pulsante destro del mouse sull'istanza in Esplora oggetti in SSMS e selezionare il comando Restart
  • Elemento Servizi della Console Gestione Microsoft (MMC) nel Pannello di controllo
  • Gestione configurazione SQL Server

Verifica l'installazione

Usare la procedura seguente per verificare che tutti i componenti usati per avviare gli script esterni siano in esecuzione:

  1. In SQL Server Management Studio aprire una nuova finestra di query ed eseguire il comando seguente:

    EXECUTE sp_configure  'external scripts enabled'
    

    Dopodiché, è impostato su .

  2. Aprire l'elemento Services o Gestione configurazione SQL Server del pannello di controllo e verificare che il servizio SQL Server Launchpad sia in esecuzione. È necessario disporre di un servizio per ogni istanza del motore di database con R o Python installato. Per altre informazioni sul servizio, vedere Architettura di estensibilità in SQL Server Machine Learning Services.

  3. Se Launchpad è in esecuzione, è possibile eseguire semplici script Python e R per verificare che i runtime di scripting esterni possano comunicare con SQL Server.

    Aprire una nuova finestra Query in SQL Server Management Studio e quindi eseguire uno script come:

    • Per 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));
      GO
      
    • Per 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 prima volta che viene caricato il runtime di uno script esterno, l'esecuzione dello script può richiedere un po' di tempo. I risultati saranno simili ai seguenti:

    ciao
    1

Nota

Le colonne o le intestazioni usate nello script Python non vengono restituite automaticamente. Per aggiungere nomi di colonna per l'output, è necessario specificare lo schema per il set di dati restituito. A tale scopo, usare il parametro della stored procedure, assegnando un nome alle colonne e specificando il tipo di dati SQL.

È ad esempio possibile aggiungere la riga seguente per generare un nome di colonna arbitrario: .

Applica aggiornamenti

Installazione esistente

Se sono stati aggiunti Machine Learning Services a un'istanza di SQL Server esistente e sono stati applicati in precedenza un aggiornamento cumulativo (CU), le versioni del motore di database e la funzionalità Machine Learning Services potrebbero essere diverse. Questa differenza può comportare un comportamento o errori imprevisti perché e hanno versioni diverse.

Seguire questa procedura per portare i servizi Machine Learning alla stessa versione del motore di database:

  1. Determinare l'aggiornamento cumulativo (CU) effettuato per il motore di database. Eseguire questa istruzione T-SQL:

    SELECT @@VERSION
    

    Ecco un esempio di output di 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)
    

    Per altre informazioni, vedere Determine della versione, dell'edizione e del livello di aggiornamento di SQL Server e dei relativi componenti.

  2. Se necessario, scaricare l'aggiornamento cumulativo installato per il motore di database.

  3. Eseguire l'installazione dell'aggiornamento cumulativo e seguire le istruzioni per installarlo di nuovo per Machine Learning Services. Selezionare l'istanza esistente in cui è installato Machine Learning Services. Lo stato dell'aggiornamento mostra Installato in modo incompleto nella pagina Selezione delle funzionalità.

  4. Seleziona Avanti per continuare l'installazione.

Nuova installazione

Se si installa Machine Learning Services con una nuova installazione del motore di database SQL Server, è consigliabile applicare l'aggiornamento cumulativo più recente sia al motore di database che ai componenti machine learning.

Nei dispositivi connessi a Internet, gli aggiornamenti cumulativi vengono in genere applicati tramite Windows Update. Tuttavia, è anche possibile usare i passaggi seguenti per gli aggiornamenti controllati. Quando si applica l'aggiornamento per il motore di database, il programma di installazione scarica gli aggiornamenti cumulativi per tutte le funzionalità di Python o R installate sulla stessa istanza.

I server che non sono connessi a Internet richiedono alcuni passaggi aggiuntivi. Per altre informazioni, vedere Installare in computer senza accesso a Internet Applicare aggiornamenti cumulativi.

  1. Iniziare con un'istanza di base già installata: SQL Server versione iniziale.

  2. Passare all'elenco degli aggiornamenti per Microsoft SQL Server.

  3. Selezionare l'aggiornamento cumulativo più recente. L'eseguibile viene scaricato ed estratto automaticamente.

  4. Eseguire la configurazione e accettare i termini della licenza.

  5. Nella pagina Selezione delle funzionalità, esaminare le funzionalità per le quali vengono applicati gli aggiornamenti cumulativi. Dovrebbero essere visualizzate tutte le funzionalità installate per l'istanza corrente, incluse quelle di Machine Learning. Il programma di installazione scarica i file CAB necessari per aggiornare tutte le funzionalità.

    Screenshot che mostra un riepilogo delle funzionalità installate.

  6. Continuare la procedura guidata. Accettare le condizioni di licenza per le distribuzioni R e Python.

Configurazione aggiuntiva

Se il passaggio di verifica dello script esterno ha avuto esito positivo, è possibile eseguire comandi R o Python da SQL Server Management Studio, Visual Studio Code o qualsiasi altro client in grado di inviare istruzioni T-SQL al server.

Se si verifica un errore durante l'esecuzione del comando, potrebbe essere necessario eseguire configurazioni aggiuntive per il servizio o il database. A livello di istanza, le configurazioni aggiuntive possono includere:

Nel SQL Server 2019 Windows il meccanismo di isolamento è cambiato. Questo meccanismo ha effetto su SQLRUserGroup, sulle regole del firewall, sulle autorizzazioni per i file e sull'autenticazione implicita. Per ulteriori informazioni, vedere le modifiche di isolamento per i servizi di Machine Learning.

Nel database potrebbero essere necessari degli aggiornamenti di configurazione. Per ulteriori informazioni, vedere Concedere permessi agli utenti per SQL Server Machine Learning Services.

Nota

L'eventuale configurazione aggiuntiva necessaria dipende dallo schema di sicurezza, dalla posizione in cui è installato SQL Server e dal modo in cui gli utenti si aspettano di connettersi al database ed eseguire script esterni.

Ottimizzazioni suggerite

Ora che tutto funziona, è anche possibile ottimizzare il server per supportare Machine Learning o installare un modello di Machine Learning con training preliminare.

Aggiungere altri account utente di lavoro

Se si prevede che molti utenti eseguano script contemporaneamente, è possibile aumentare il numero di account di lavoro assegnati al servizio Launchpad. Per altre informazioni, vedere Scale concurrent execution of external scripts in SQL Server Machine Learning Services.

Ottimizzare il server per l'esecuzione di script

Le impostazioni predefinite per SQL Server configurazione sono destinate a ottimizzare il bilanciamento del server per un'ampia gamma di altri servizi e applicazioni.

Con le impostazioni predefinite, alle risorse per il Machine Learning vengono applicate talvolta restrizioni o limitazioni, in particolare nel caso di operazioni che richiedono molta memoria.

Per assicurarsi che i processi di Machine Learning siano classificati in ordine di priorità e con risorse appropriati, è consigliabile usare SQL Server Resource Governor per configurare un pool di risorse esterne. È anche possibile modificare la quantità di memoria allocata al motore di database SQL Server oppure aumentare il numero di account eseguiti nel servizio Launchpad SQL Server.

Se si usa Standard Edition e non si dispone di Resource Governor, è possibile usare le viste a gestione dinamica, gli eventi estesi SQL Server e il monitoraggio degli eventi Windows per gestire le risorse del server.

Installare pacchetti R e Python aggiuntivi

Le soluzioni Python e R create per SQL Server possono chiamare:

  • Funzioni di base
  • Funzioni dei pacchetti proprietari installati con SQL Server.
  • Pacchetti di terze parti compatibili con la versione open source di Python e R installati da SQL Server.

I pacchetti da usare da SQL Server devono essere installati nella libreria predefinita usata dall'istanza. Se si dispone di un'installazione separata di Python o R nel computer o se sono stati installati pacchetti nelle librerie utente, non è possibile usare tali pacchetti da T-SQL.

Per installare e gestire pacchetti aggiuntivi, è possibile configurare gruppi di utenti per condividere i pacchetti a livello di singolo database oppure configurare ruoli di database per consentire agli utenti di installare i propri pacchetti. Per altre informazioni, vedere Installare nuovi pacchetti R.