Condividi tramite


Installare l'estensione del linguaggio .NET di SQL Server su Windows

Si applica a: SQL Server 2019 (15.x) e versioni successive

Informazioni su come installare il componente dell'estensione del linguaggio .NET (utilizzato da C#) per SQL Server su Windows. L'estensione per il linguaggio .NET è inclusa nelle estensioni del linguaggio di SQL Server.

Nota

Questo articolo riguarda l'installazione dell'estensione del linguaggio .NET per SQL Server in Windows. Linux non è supportato.

Prerequisiti

Nota

Le funzionalità e le opzioni di installazione variano a seconda della versione di SQL Server. Usa l'elenco a discesa del selettore di versione per scegliere la versione appropriata di SQL Server.

  • Per installare il supporto per l'estensione del linguaggio .NET, è necessario il programma di installazione di SQL Server.

  • L'estensione del linguaggio .NET supporta runtime .NET 6 e versioni successive ed è supportata solo in Windows.

  • È necessaria un'istanza del motore di database. Le funzionalità dell'estensione del linguaggio .NET non possono essere installate da sole, ma possono essere aggiunte in modo incrementale a un'istanza esistente.

  • Per assicurare la continuità aziendale, per le estensioni del linguaggio è disponibile il supporto di Gruppi di disponibilità Always On. È necessario installare le estensioni del linguaggio e configurare i pacchetti in ogni nodo. L'installazione dell'estensione del linguaggio .NET è supportata anche in un'istanza del cluster di failover in SQL Server.

  • Non installare le estensioni del linguaggio di SQL Server o l'estensione del linguaggio .NET in un controller di dominio. La parte del programma di installazione relativa alle estensioni del linguaggio avrà esito negativo.

  • Le estensioni del linguaggio e Machine Learning Services vengono installati per impostazione predefinita nei cluster Big Data di SQL Server. Se si usano cluster Big Data, non è necessario seguire la procedura descritta in questo articolo. Per ulteriori informazioni, eseguire script Python e R con i servizi di Machine Learning in un cluster Big Data SQL Server 2019

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 per l'utilizzo di codice esterno e l'aggiunta degli account necessari affinché SQL Server esegua il codice C# per conto dell'utente. Per completare le modifiche alla configurazione è in genere necessario riavviare l'istanza o riavviare il servizio Launchpad.

Runtime .NET

Il supporto a lungo termine (LTS) di .NET 6 è il runtime supportato meno recente. È possibile scaricare il runtime .NET per Windows. Linux non è supportato.

Se si vuole usare la versione LTS più recente del runtime .NET, è necessario ricompilare l'estensione del linguaggio .NET.

Ottenere il supporto di installazione

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

  • SQL Server edizioni Enterprise, Standard e Express. Queste edizioni sono concesse in licenza per l'uso in produzione. Per Enterprise Edition e Standard Edition, contattare il fornitore software di fiducia 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.

Esecuzione del programma di installazione

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

  1. Avviare l'Installazione guidata di SQL Server.

  2. Nella scheda Installazione selezionare Nuova installazione autonoma di SQL Server o aggiunta di funzionalità a un'installazione esistente.

  3. Nella pagina Selezione funzionalità selezionare queste opzioni:

    Servizi motore di database: per usare le estensioni del linguaggio con SQL Server, è necessario installare un'istanza del motore di database. È possibile usare un'istanza predefinita oppure un'istanza denominata.

    Servizi di Machine Learning ed estensioni del linguaggio: questa opzione installa il componente Estensioni del linguaggio che supporta l'esecuzione del codice C#.

    Screenshot delle funzionalità dell'istanza.

  4. Nella pagina Inizio installazione verificare che le opzioni selezionate siano incluse e selezionare Installa.

    • Servizi motore di database
    • Machine Learning Services ed estensioni del linguaggio

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

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

Registrare l'estensione del linguaggio

  1. Seguire questi passaggi per scaricare e registrare l'estensione del linguaggio .NET, utilizzata per eseguire il codice C#.

    1. Scaricare il file dotnet-core-CSharp-lang-extension-windows-release.zip dall'estensione del linguaggio.NET per il repository GitHub di SQL Server. Scaricare la versione più recente del file dotnet-core-CSharp-lang-extension-windows-release.zip per Windows. Se si preferisce usare un runtime .NET più recente, è necessario compilare dotnet-core-CSharp-lang-extension dal codice sorgente di GitHub.

    2. Utilizzare SQL Server Management Studio (SSMS) o Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando Transact-SQL (T-SQL) seguente per registrare l'estensione del linguaggio .NET con CREATE EXTERNAL LANGUAGE.

    3. Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (dotnet-core-CSharp-lang-extension-windows-release.zip).

    CREATE EXTERNAL LANGUAGE [dotnet]
    FROM (CONTENT = N'C:\path\to\dotnet-core-CSharp-lang-extension-windows-release.zip',
        FILE_NAME = 'dotnetextension.dll');
    GO
    
  2. Riavviare Launchpad.

    1. Aprire Gestione configurazione SQL Server.

    2. In Servizi di SQL Server fare clic con il pulsante destro del mouse su Launchpad di SQL Server e selezionare Riavvia.

Riavvia il servizio

Al termine dell'installazione, riavviare il motore di database prima di continuare con il passaggio successivo, abilitando l'esecuzione degli script.

Il riavvio del servizio ha l'effetto di riavviare automaticamente anche il servizio Launchpad di SQL Server correlato.

Per riavviare il servizio è possibile eseguire il comando Riavvia del menu di scelta rapida per l'istanza in SSMS oppure usare il pannello Servizi del Pannello di controllo o Gestione configurazione SQL Server.

Abilitare l'esecuzione di script

  1. Aprire SQL Server Management Studio. Connettersi all'istanza di in cui sono state installate le estensioni del linguaggio, fare clic su Nuova query per aprire una finestra di query ed eseguire questo comando:

    EXEC sp_configure;
    

    La funzionalità è disattivata (value = 0) per impostazione predefinita e deve essere abilitata esplicitamente da un amministratore affinché sia possibile eseguire il codice C#.

  2. Per abilitare la funzionalità per script esterni, eseguire l'istruzione seguente:

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

    Se questa funzionalità è già stata abilitata per i servizi di Machine Learning, non ripetere la configurazione per le estensioni del linguaggio. La piattaforma di estendibilità sottostante supporta entrambi.

Registrare il linguaggio esterno

Per ogni database in cui si vogliono usare le estensioni del linguaggio, è necessario registrare il linguaggio esterno con CREATE EXTERNAL LANGUAGE.

L'esempio seguente aggiunge un linguaggio esterno denominato dotnet a un database in SQL Server in Windows.

CREATE EXTERNAL LANGUAGE [dotnet]
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'dotnetextension.dll');
GO

Per altre informazioni, vedere CREATE EXTERNAL LANGUAGE.

Verifica l'installazione

Verificare lo stato di installazione dell'istanza nei log di installazione.

Usare la procedura seguente per verificare che tutti i componenti usati per avviare lo script esterno siano in esecuzione.

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

    EXEC sp_configure 'external scripts enabled';
    

    Il run_value è impostato su 1.

  2. Aprire il pannello Servizi o Gestione configurazione SQL Server e verificare che il servizio Launchpad di SQL Server sia in esecuzione. Dovrebbe essere in esecuzione un servizio per ogni istanza del motore di database in cui sono installate le estensioni del linguaggio. Per ulteriori informazioni sul servizio, vedere Architettura di estendibilità nelle estensioni del linguaggio di SQL Server.

Configurazione aggiuntiva

Se la procedura di verifica ha avuto esito positivo, è possibile eseguire il codice C# da SQL Server Management Studio, Azure Data Studio, Visual Studio Code o qualsiasi altro client in grado di inviare istruzioni T-SQL al server.

Se durante l'esecuzione del comando è stato restituito un errore, rivedere i passaggi di configurazione aggiuntivi in questa sezione. Potrebbe essere necessario eseguire specifiche configurazioni aggiuntive per il servizio o il database.

A livello di istanza, la configurazione aggiuntiva può includere:

Nel database potrebbero essere necessari gli aggiornamenti di configurazione seguenti:

Nota

La necessità di una configurazione aggiuntiva dipende dallo schema di sicurezza, dal percorso in cui è stato installato SQL Server e dalla modalità presumibilmente adottata dagli utenti per connettersi al database ed eseguire script esterni.

Ottimizzazioni suggerite

Ora che tutto il sistema funziona, può essere necessario ottimizzare il server per supportare l'estensione del linguaggio .NET.

Ottimizzare il server per l'estensione del linguaggio .NET

Le impostazioni predefinite per il programma di installazione di SQL Server consentono di ottimizzare il bilanciamento del server per un'ampia gamma di servizi supportati dal motore di database, che possono includere processi di estrazione, trasformazione e caricamento (ETL), creazione di report, controllo e applicazioni che usano dati di SQL Server. Di conseguenza, con le impostazioni predefinite, talvolta alle risorse per le estensioni del linguaggio vengono applicate restrizioni o limitazioni, in particolare nel caso di operazioni che richiedono molta memoria.

Per assicurarsi che i processi delle estensioni del linguaggio siano considerati prioritari e dispongano delle risorse appropriate, è consigliabile usare la funzionalità Resource Governor di SQL Server per configurare un pool di risorse esterne. Può inoltre essere opportuno modificare la quantità di memoria allocata al motore di database o aumentare il numero di account eseguiti con il servizio Launchpad di SQL Server.

Se si usa l'edizione Standard e non è disponibile Resource Governor, per gestire le risorse del server è possibile usare le viste a gestione dinamica (DMV) e gli eventi estesi, oltre che il monitoraggio degli eventi di Windows.

Passaggio successivo

Gli sviluppatori C# possono iniziare con alcuni semplici esempi e apprendere le nozioni di base sul funzionamento di C# con SQL Server. Per il passaggio successivo, vedere il collegamento seguente: