Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
Importante
Il supporto per Machine Learning Server (noto in precedenza come R Server) è terminato il 1° luglio 2022. Per altre informazioni, vedere Informazioni su Machine Learning Server
Questo articolo descrive come usare il processo di installazione denominato binding per aggiornare i runtime di R o Python in SQL Server 2016 R Services o SQL Server 2017 Machine Learning Services. È possibile ottenere versioni più recenti di Python e R con il binding a Microsoft Machine Learning Server.
Importante
Questo articolo descrive un vecchio metodo di aggiornamento dei runtime di R e Python, denominato binding. Se è stato installato l'aggiornamento cumulativo (CU) 14 o versione successiva per SQL Server 2016 Services Pack (SP) 2 o l'aggiornamento cumulativo (CU) 22 o versione successiva per SQL Server 2017, vedere come modificare il runtime predefinito del linguaggio R o Python impostandolo su una versione successiva.
Cos'è il binding?
Il binding è un processo di installazione che sostituisce il contenuto delle cartelle R_SERVICES e PYTHON_SERVICES con i file eseguibili, le librerie e gli strumenti più recenti di Microsoft Machine Learning Server.
I componenti caricati inclusi nel modello di manutenzione sono stati modificati. Gli aggiornamenti del servizio corrispondono alla sequenza temporale del supporto per Microsoft R Server e Machine Learning Server nel ciclo di vita moderno.
Fatta eccezione per le versioni dei componenti e degli aggiornamenti di manutenzione, il binding non modifica le caratteristiche di base dell'installazione:
- L'integrazione di Python e R fa ancora parte di un'istanza del motore di database.
- Le licenze sono invariate (nessun costo aggiuntivo associato al binding).
- I criteri di supporto di SQL Server vengono mantenuti per il motore di database.
La parte restante di questo articolo illustra il meccanismo di binding e ne spiega il funzionamento per ogni versione di SQL Server.
Nota
Questo meccanismo si applica solo alle istanze nel database associate a istanze di SQL Server. In questo caso il binding non è necessario per un'installazione autonoma.
Considerazioni sul binding per SQL Server 2016
Per i clienti di R Services per SQL Server 2016 il binding offre quanto segue:
- Pacchetti R aggiornati.
- Nuovi pacchetti che non fanno parte dell'installazione originale (MicrosoftML)
- Modelli di Machine Learning pre-addestrati per il sentiment analysis e il rilevamento delle immagini.
Tutti i binding possono essere aggiornati ulteriormente a ogni nuova versione principale e secondaria di Microsoft Machine Learning Server.
Mappa delle versioni
Le tabelle seguenti sono mappe delle versioni. Ogni mappa illustra le versioni del pacchetto nelle varie release. È possibile esaminare i percorsi di aggiornamento quando si esegue il binding a Microsoft Machine Learning Server (noto in precedenza come R Server, prima dell'aggiunta del supporto Python a partire da Machine Learning Server 9.2.1).
Il binding non garantisce che sia disponibile la versione più recente di R o Anaconda. Quando si esegue il binding a Microsoft Machine Learning Server si ottiene la versione di R o Python installata con il programma di installazione, che potrebbe non essere quella più recente disponibile sul Web.
| Componente | Versione iniziale | R Server 9.0.1 | R Server 9.1 | Server di Machine Learning 9.2.1 | Server di Machine Learning 9.3 | Server di Machine Learning 9.4.7 |
|---|---|---|---|---|---|---|
| Microsoft R Open (MRO) su R | R 3.2.2 | R 3.3.2 | R 3.3.3 | R 3.4.1 | R 3.4.3 | R 3.5.2 |
| RevoScaleR | 8.0.3 | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
| MicrosoftML | n.d. | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
| modelli preaddestrati | n.d. | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
| sqlrutils | n.d. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
| olapR | n.d. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
Machine Learning Services per SQL Server 2017
| Componente | Versione iniziale | Server di Machine Learning 9.3 | Server di Machine Learning 9.4.7 |
|---|---|---|---|
| Microsoft R Open (MRO) su R | R 3.3.3 | R 3.4.3 | R 3.5.2 |
| RevoScaleR | 9.2 | 9.3 | 9.4.7 |
| MicrosoftML | 9.2 | 9.3 | 9.4.7 |
| sqlrutils | 1.0 | 1.0 | 1.0 |
| olapR | 1.0 | 1.0 | 1.0 |
| Anaconda 4.2 su Python 3.5 | 4.2/3.5.2 | 4.2/3.5.2 | |
| revoscalepy | 9.2 | 9.3 | 9.4.7 |
| MicrosoftML | 9.2 | 9.3 | 9.4.7 |
| modelli preaddestrati | 9.2 | 9.3 | 9.4.7 |
Come funziona l'aggiornamento dei componenti
I file eseguibili, Python e le librerie R vengono aggiornati quando si esegue il binding di un'installazione esistente di Python e R a Machine Learning Server.
Il binding viene eseguito dal programma di installazione di Microsoft Machine Learning Server quando si esegue il programma di installazione in un'istanza esistente del motore di database SQL Server con l'integrazione di Python o R.
Il programma di installazione rileva le funzionalità esistenti e richiede di eseguire nuovamente il binding a Machine Learning Server.
Durante il binding il contenuto di C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES e \PYTHON_SERVICES viene sovrascritto con i file eseguibili e le librerie più recenti di C:\Program Files\Microsoft\ML Server\R_SERVER e \PYTHON_SERVER.
Il binding si applica solo alle funzionalità Python e R. I pacchetti open source per Python e R sono costituiti da:
- Anaconda
- Microsoft R Open
- Pacchetti proprietari RevoScaleR
- Revoscalepy
Il binding non modifica il modello di supporto per l'istanza del motore di database o la versione di SQL Server.
Il binding è reversibile. È possibile ripristinare il servizio di SQL Server disassociando l'istanza e riparando l'istanza del motore di database di SQL Server.
Connettersi al Server di Machine Learning tramite il programma di installazione
Segui i passaggi per associare SQL Server a Microsoft Machine Learning Server usando il programma di installazione.
In SSMS eseguire
SELECT @@versionper verificare che il server soddisfi i requisiti minimi di build.Per SQL Server 2016 R Services, il valore minimo è Service Pack 1 con CU3.
Controllare le versioni esistenti dei pacchetti R di base e RevoScaleR per verificare che siano minori di quelle con cui si prevede di sostituirle.
EXECUTE sp_execute_external_script @language=N'R' ,@script = N'str(OutputDataSet); packagematrix <- installed.packages(); Name <- packagematrix[,1]; Version <- packagematrix[,3]; OutputDataSet <- data.frame(Name, Version);' , @input_data_1 = N'' WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))Chiudere SSMS e tutti gli altri strumenti con una connessione aperta a SQL Server. Il binding sovrascrive i file di programma. Se SQL Server ha sessioni aperte, il binding avrà esito negativo con codice di errore 6.
Scaricare Microsoft Machine Learning Server nel computer in cui è presente l'istanza da aggiornare. È consigliabile scaricare la versione più recente.
Decomprimere la cartella e avviare ServerSetup.exe, che si trova in MLSWIN93.
In Configure the installation (Configurare l'installazione) verificare i componenti da aggiornare ed esaminare l'elenco delle istanze compatibili.
Nella pagina License agreement (Contratto di licenza) selezionare I accept these terms (Accetto le condizioni) per accettare le condizioni di licenza per Machine Learning Server.
Nelle pagine successive fornire il proprio consenso alle condizioni di licenza aggiuntive per tutti i componenti open source selezionati, ad esempio Microsoft R Open o la distribuzione Anaconda di Python.
Nella pagina Almost there (Quasi fatto), annotare la cartella di installazione. La cartella predefinita è \Programmi\Microsoft\ML Server.
Se si vuole modificare la cartella di installazione, selezionare Advanced (Avanzate) per tornare alla prima pagina della procedura guidata. In tal caso è tuttavia necessario ripetere tutte le selezioni precedenti.
Se l'aggiornamento non riesce, controllare i codici di errore di SqlBindR per altre informazioni.
Binding offline (senza accesso a Internet)
Per i sistemi senza connettività Internet, è possibile scaricare il programma di installazione e i file con estensione cab in un computer connesso a Internet e quindi trasferire i file nel server isolato.
Il programma di installazione (ServerSetup.exe) include i pacchetti Microsoft (RevoScaleR, MicrosoftML, olapR, sqlRUtils). I file con estensione cab includono altri componenti di base. Il file CAB "SRO", ad esempio, fornisce R Open, la distribuzione Microsoft di R open source.
Le istruzioni seguenti illustrano come posizionare i file per un'installazione offline.
Scaricare il programma di installazione di MLSWIN93. Il programma viene scaricato come singolo file compresso. È consigliabile usare la versione più recente, ma è possibile installare anche versioni precedenti.
Scarica i file .cab. Di seguito sono indicati i collegamenti per la versione 9.3. Se sono necessarie versioni precedenti, è possibile trovare altri collegamenti in R Server 9.1. Tenere presente che Python/Anaconda può essere aggiunto solo a un'istanza di Machine Learning Services per SQL Server. Sono disponibili modelli pre-addestrati per entrambi i linguaggi Python e R; il file .cab fornisce modelli nei linguaggi che stai utilizzando.
Funzionalità Scarica R SRO_3.4.3.0_1033.cab Pitone SPO_9.3.0.0_1033.cab Modelli pre-addestrati MLM_9.3.0.0_1033.cab Trasferire i file con estensione zip e cab nel server di destinazione.
Nel server digitare
%temp%nel comando Esegui per ottenere il percorso fisico della directory temp. Il percorso fisico varia a seconda del computer usato, ma è in genereC:\Users\<your-user-name>\AppData\Local\Temp.Inserire i file con estensione cab nella cartella %temp%.
Decomprimere il programma di installazione.
Eseguire ServerSetup.exe e seguire le istruzioni visualizzate per completare l'installazione.
Operazioni da riga di comando
Suggerimento
Non riesci a trovare SqlBindR? Probabilmente non hai eseguito il Setup. SqlBindR è disponibile solo dopo l'esecuzione del programma di installazione di Machine Learning Server.
Aprire un prompt dei comandi come amministratore e passare alla cartella che contiene sqlbindr.exe. Il percorso predefinito è C:\Programmi\Microsoft\MLServer\Setup
Digitare il comando seguente per visualizzare un elenco delle istanze disponibili:
SqlBindR.exe /listPrendere nota del nome completo dell'istanza come indicato. Ad esempio, il nome dell'istanza potrebbe essere MSSQL14.MSSQLSERVER per un'istanza predefinita o qualcosa come SERVERNAME.MYNAMEDINSTANCE.
Eseguire il comando SqlBindR.exe con l'argomento /bind. Specificare il nome dell'istanza da aggiornare, usando il nome dell'istanza restituito nel passaggio precedente.
Ad esempio, per aggiornare l'istanza predefinita, digitare:
SqlBindR.exe /bind MSSQL14.MSSQLSERVERAl termine dell'aggiornamento, riavviare il servizio Launchpad associato a qualsiasi istanza modificata.
Ripristinare o annullare il binding di un'istanza
È possibile annullare un'istanza con binding e ripristinare un'installazione iniziale dei componenti Python e R, come configurata dal programma di installazione di SQL Server. Il processo di ripristino del modello di manutenzione di SQL Server prevede tre passaggi.
- Passaggio 1: Annullare l'associazione da Microsoft Machine Learning Server
- Passaggio 2: Ripristinare lo stato originale dell'istanza
- Passaggio 3: Reinstallare i pacchetti aggiunti all'installazione
Passaggio 1: Scollegare
Per eseguire il rollback del binding sono disponibili due opzioni: eseguire nuovamente il programma di installazione o usare l'utilità della riga di comando SqlBindR.
Dissociare tramite la configurazione
- Trova il programma di installazione per Machine Learning Server. Se il programma di installazione è stato rimosso, può essere necessario scaricarlo di nuovo o copiarlo da un altro computer.
- Assicurarsi di eseguire il programma di installazione nel computer in cui è presente l'istanza di cui si vuole annullare il binding.
- Il programma di installazione identifica le istanze locali candidate per l'annullamento del binding.
- Deselezionare la casella di controllo accanto all'istanza di cui si vuole ripristinare la configurazione originale.
- Accettare tutti i contratti di licenza.
- Selezionare Fine. L'esecuzione del processo richiede alcuni minuti.
Dissociare utilizzando la riga di comando
Aprire un prompt dei comandi e passare alla cartella contenente sqlbindr.exe, come descritto nella sezione precedente.
Eseguire il comando SqlBindR.exe con l'argomento /unbind e specificare l'istanza.
Il comando seguente, ad esempio, ripristina l'istanza predefinita:
SqlBindR.exe /unbind MSSQL14.MSSQLSERVER
Passaggio 2: Riparare l'istanza di SQL Server
Eseguire il programma di installazione di SQL Server per ripristinare l'istanza del motore di database con le funzionalità Python e R. Gli aggiornamenti preesistenti vengono conservati. Il passaggio successivo si applica nel caso in cui non sia stato eseguito un aggiornamento per gli aggiornamenti di manutenzione per i pacchetti Python e R.
Soluzione alternativa: disinstallare e reinstallare completamente l'istanza del motore di database e quindi applicare tutti gli aggiornamenti di manutenzione.
Passaggio 3: Aggiungere eventuali pacchetti di terze parti
È possibile che siano stati aggiunti altri pacchetti open source o di terze parti alla libreria di pacchetti. Poiché l'annullamento del binding cambia il percorso della libreria di pacchetti predefinita, è necessario reinstallare i pacchetti nella libreria effettivamente usata da Python e R. Per altre informazioni, vedere Informazioni sui pacchetti R e le relative istruzioni di installazione e Informazioni sui pacchetti Python e le relative istruzioni di installazione.
Sintassi del comando SqlBindR.exe
Utilizzo
sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]
Parametri
| Nome | Descrizione |
|---|---|
| elenco | Visualizza un elenco di tutti gli ID delle istanze di SQL Server nel computer corrente |
| legare | Aggiorna l'istanza di SQL Server specificata alla versione più recente di R Server e fa in modo che all'istanza vengano applicati automaticamente gli aggiornamenti futuri di R Server |
| disfare | Disinstalla la versione più recente di R Server dall'istanza di SQL Server specificata e impedisce l'applicazione degli aggiornamenti futuri di R Server all'istanza |
Errori di binding
Il programma di installazione di Machine Learning Server e l'utilità SqlBindR restituiscono entrambi i codici di errore e i messaggi seguenti.
| Codice di errore | Messaggio | Dettagli |
|---|---|---|
| Errore di binding 0 | OK (Successo) (Operazione riuscita) | Binding completato senza errori. |
| Errore di collegamento 1 | Invalid arguments (Argomenti non validi) | Errore di sintassi. |
| Errore di binding 2 | Azione non valida | Errore di sintassi. |
| Errore di binding 3 | Invalid instance (Istanza non valida) | È presente un'istanza, ma non è valida per il binding. |
| Errore di binding 4 | Not bindable (Istanza non associabile) | |
| Errore di binding 5 | Già associata | È stato eseguito il comando bind , ma l'istanza specificata è già associata. |
| Errore di binding 6 | Bind failed (Binding non riuscito) | Si è verificato un errore durante il scollegamento dell'istanza. Questo errore può verificarsi se si esegue il programma di installazione di Machine Learning Server senza selezionare alcuna funzionalità. Per il binding è necessario selezionare un'istanza di MSSQL e i componenti Python e R, purché l'istanza sia SQL Server 2017. Questo errore si verifica anche nel caso in cui SqlBindR non riesca a scrivere nella cartella Programmi. Il problema può essere dovuto a sessioni o handle aperti a SQL Server. Se viene restituito questo errore, riavviare il computer e ripetere i passaggi di configurazione prima di avviare nuove sessioni. |
| Errore di binding 7 | Not bound (Istanza non associata) | Nell'istanza del motore di database è presente R Services o Machine Learning Services per SQL Server. L'istanza non è associata a Microsoft Machine Learning Server. |
| Errore di binding 8 | Annullamento del collegamento non riuscito | Si è verificato un errore durante il scollegamento dell'istanza. |
| Errore di associazione 9 | No instances found (Non è stata trovata alcuna istanza) | Non sono state trovate istanze del motore di database su questo computer. |
Problemi noti
In questa sezione sono elencati i problemi noti relativi all'uso dell'utilità SqlBindR.exe o agli aggiornamenti di Machine Learning Server che possono avere effetto sulle istanze di SQL Server.
Ripristino dei pacchetti installati in precedenza
SqlBindR.exe non è in grado di ripristinare i pacchetti originali o i componenti R con l'aggiornamento a Microsoft R Server 9.0.1. Usare l'operazione di ripristino di SQL Server per l'istanza e applicare tutte le versioni del servizio. Riavvia l'istanza.
La versione successiva di SqlBindR ripristina automaticamente le funzionalità di R originali, eliminando la necessità di reinstallare i componenti R o di riapplicare patch al server. È tuttavia necessario installare gli eventuali aggiornamenti dei pacchetti R aggiunti dopo l'installazione iniziale.
Usare i comandi R per sincronizzare i pacchetti installati con i file system usando i record del database. Per altre informazioni, vedere Gestione dei pacchetti R per SQL Server.
Problemi con la sovrascrittura del file sqlbinr.ini in SQL Server
Scenario: questo problema si verifica con il binding di Machine Learning Server 9.4.7 a SQL Server 2017. Quando Python viene aggiornato e vincolato oppure quando si esegue l'aggiornamento a un nuovo Cumulative Update (CU), il sistema non riconosce che Python è vincolato e sovrascrive i file. Non esiste un problema noto con R.
Come soluzione alternativa, crea un file sqlbindr.ini nella directory PYTHON_SERVICES che non sia vuoto. Il contenuto non influisce sulla modalità di funzionamento del file.
Creare un file sqlbindr.ini contenente 9.4.7.82 e salvarlo in questa posizione:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
Problemi relativi a più aggiornamenti di SQL Server
Scenario: istanza di SQL Server 2016 R Services precedentemente aggiornata alla versione 9.0.1. Nuovo programma di installazione eseguito per Microsoft R Server 9.1.0. Il programma di installazione visualizza un elenco di tutte le istanze valide. Per impostazione predefinita, il programma di installazione seleziona le istanze precedentemente associate. Se si continua, le istanze precedentemente vincolate vengono slegate. Di conseguenza, l'installazione precedente della versione 9.0.1 viene rimossa con tutti i pacchetti correlati, ma la nuova versione di Microsoft R Server (9.1.0) non viene installata.
Come soluzione alternativa, è possibile modificare l'installazione esistente di R Server nel modo seguente:
- Nel Pannello di controllo, apri Aggiungi o Rimuovi Programmi.
- Individuare Microsoft R Server e selezionare Cambia/Modifica.
- All'avvio del programma di installazione, selezionare le istanze per cui eseguire il binding alla versione 9.1.0.
Microsoft Machine Learning Server 9.2.1 e 9.3 non presentano questo problema.
La creazione o la rimozione del binding lascia molteplici cartelle temporanee.
Rimuovere le cartelle temporanee al termine dell'installazione.
Nota
Attendere il completamento dell'installazione. Può essere necessario molto tempo per rimuovere le librerie R associate a una versione e quindi aggiungere le nuove librerie R. Al termine dell'operazione, le cartelle temporanee vengono rimosse.
Vedi anche
- Modificare la versione predefinita del runtime dei linguaggi R o Python
- Installare Machine Learning Server per Windows (con connessione Internet)
- Installare Machine Learning Server per Windows (offline)
- Problemi noti di Machine Learning Server
- Annunci di funzionalità della versione precedente di R Server
- Funzionalità deprecate, non più supportate o modificate