Note sulla versione per SQL Server 2022 (anteprima 16.x) in Linux

Si applica a: SQL Server 2022 Preview e versioni successive (solo Linux) Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)

Le note sulla versione seguenti si applicano all'anteprima CTP (Public Community Technology Preview) di SQL Server 2022 (16.x) Preview in esecuzione in Linux.

Suggerimento

Per informazioni sulle nuove funzionalità di Linux in SQL Server anteprima 2022 (16.x), vedere Novità di SQL Server anteprima 2022.

Piattaforme supportate

Piattaforma File system Guida all'installazione Recupero
Red Hat Enterprise Linux 8.0 - 8.5 Server XFS o EXT4 Guida all'installazione Scaricare RHEL 8.0
Ubuntu 20.04 LTS XFS o EXT4 Guida all'installazione Ottenere Ubuntu 20.04
Motore Docker 1.8+ in Linux N/D Guida all'installazione Scaricare Docker

SUSE Linux Enterprise Server (SLES) non è supportato per CTP 2.1 e seguirà in una versione successiva.

Suggerimento

Per altre informazioni, vedere i requisiti di sistema per SQL Server in Linux. Per i criteri di supporto più recenti per SQL Server, vedere i criteri di supporto tecnico per Microsoft SQL Server.

Strumenti

La maggior parte degli strumenti client esistenti per SQL Server può essere facilmente usata per SQL Server in esecuzione in Linux. Per usare in modo efficiente alcuni strumenti in Linux, potrebbe essere richiesta una versione specifica. Per un elenco completo di strumenti di SQL Server, vedere Strumenti e utilità SQL per SQL Server.

Come installare gli aggiornamenti

Se è stato configurato il repository di anteprima (mssql-server-preview), si otterrà il CTP pubblico più recente di SQL Server pacchetti quando si eseguono nuove installazioni. Se sono necessarie immagini del contenitore Docker, vedere le immagini ufficiali per Microsoft SQL Server in Linux per il motore Docker.

Se si aggiornano i pacchetti di SQL Server esistenti, eseguire il comando di aggiornamento appropriato per ogni pacchetto per ottenere il CTP pubblico più recente. Per istruzioni dettagliate sull'aggiornamento per ogni pacchetto, vedere le guide all'installazione seguenti:

CTP 2.1 (luglio 2022)

SQL Server 2022 CTP 2.1 (16.0.700.4) Pacchetti e contenitori Linux, nonché Immagini di Azure, saranno disponibili presto nei percorsi di rilascio correnti.

CTP 2.0 (maggio 2022)

Nella sezione seguente vengono fornite posizioni dei pacchetti e problemi noti per la prima anteprima della tecnologia della community pubblica (CTP). Per altre informazioni sulle nuove funzionalità SQL Server 2022 (16.x) Preview in esecuzione in Linux, vedere Novità di SQL Server 2022 Preview.

Dettagli del pacchetto

Per le installazioni manuali o offline dei pacchetti, è possibile scaricare i pacchetti RPM e Debian per le distribuzioni supportate più recenti, con le informazioni riportate nella tabella seguente.

Importante

SUSE Linux Enterprise Server (SLES) non è supportato per SQL Server 2022 (16.x) Preview in Linux CTP 2.0.

Pacchetto Versione pacchetto Download
Pacchetti RHEL 8.x RPM 16.0.600.9-2 Pacchetto
RPM del motore di database Pacchetto
RPM a disponibilità elevata Pacchetto
RPM ricerca full-text Pacchetto
RPM di estendibilità Pacchetto
RPM di estendibilità JavaPacchetto RPM PolyBase
Pacchetti Debian ubuntu 20.04 16.0.600.9-2 Pacchetto
Debian del motore di database Pacchetto
Debian a disponibilità elevata Pacchetto
Debian ricerca full-text Pacchetto
Debian di estendibilità Pacchetto
Debian di estendibilità JavaPacchetto Debian PolyBase

Problemi noti

Le sezioni seguenti descrivono i problemi noti relativi all'anteprima di SQL Server 2022 (16.x) in Linux.

Generale

  • La lunghezza del nome host in cui è installata SQL Server deve essere di 15 caratteri o minore.

    • Risoluzione: Modificare il nome in /etc/hostname un valore di 15 caratteri lungo o minore.
  • Impostando manualmente il tempo di sistema indietro nel tempo, SQL Server interromperà l'aggiornamento del tempo di sistema interno entro SQL Server.

    • Risoluzione: riavviare SQL Server.
  • Sono supportate solo le installazioni a istanza singola.

    • Soluzione: Se si vuole avere più di un'istanza in un determinato host, è consigliabile usare le macchine virtuali o i contenitori Docker.
  • Gestione configurazione SQL Server non è possibile connettersi a SQL Server in Linux.

  • La lingua predefinita dell'account di accesso sa è l'inglese.

    • Risoluzione: modificare la lingua dell'account di accesso sa con l'istruzione ALTER LOGIN .
  • Il provider OLEDB registra l'avviso seguente: Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this is not an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support.

    • Soluzione: Non è richiesta alcuna azione. Il provider OLEDB viene firmato con SHA256. Il motore di database di SQL Server non convalida correttamente il file .dll firmato.

Database

  • Il master database non può essere spostato con l'utilità mssql-conf . È possibile spostare altri database di sistema con mssql-conf.

  • Quando si ripristina un database sottoposto a backup in SQL Server in Windows, è necessario usare la WITH MOVE clausola nell'istruzione Transact-SQL.

  • Alcuni algoritmi (suite di crittografia) per Transport Layer Security (TLS) non funzionano correttamente con SQL Server in Linux. Ciò comporta errori di connessione quando si tenta di connettersi a SQL Server e i problemi di stabilire connessioni tra repliche in gruppi di disponibilità elevata.

    • Risoluzione: Modificare lo mssql.conf script di configurazione per SQL Server in Linux per disabilitare i pacchetti di crittografia problematici, eseguendo le operazioni seguenti:

      1. Aggiungere quanto segue a /var/opt/mssql/mssql.conf.

        [network]
        tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHA
        

        Nota

        Nel codice precedente ! nega l'espressione. Questo indica a OpenSSL di non usare il pacchetto di crittografia seguente.

      2. Riavviare SQL Server con il comando seguente.

        sudo systemctl restart mssql-server
        
  • SQL Server database 2014 (12.x) in Windows che usano OLTP in memoria non può essere ripristinato in SQL Server in Linux. Per ripristinare un database SQL Server 2014 (12.x) che usa OLTP in memoria, aggiornare prima i database a una versione più recente di SQL Server in Windows, prima di spostarli in SQL Server in Linux, tramite backup/ripristino o scollegamento/collegamento.

  • L'autorizzazione ADMINISTER BULK OPERATIONS utente non è supportata in Linux in questo momento.

Rete

Le funzionalità che coinvolgono connessioni TCP in uscita dal sqlservr processo, ad esempio server collegati, PolyBase o gruppi di disponibilità, potrebbero non funzionare se vengono soddisfatte entrambe le condizioni seguenti:

  1. Il server di destinazione è specificato come nome host e non come indirizzo IP.

  2. L'istanza di origine ha IPv6 disabilitato nel kernel. Per verificare se il sistema ha IPv6 abilitato nel kernel, è necessario che vengano superati tutti i test seguenti:

    • cat /proc/cmdline visualizzerà la riga di comando di avvio del kernel corrente. L'output non deve contenere ipv6.disable=1.
    • La /proc/sys/net/ipv6/ directory deve esistere.
    • Programma C che chiama socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) deve avere esito positivo: la chiamata di sistema deve restituire un oggetto fd != -1 e non avere esito negativo con EAFNOSUPPORT.

L'errore esatto dipende dalla funzionalità. Per i server collegati, viene presentato come errore di timeout di accesso. Per i gruppi di disponibilità, il ALTER AVAILABILITY GROUP JOIN DDL nel database secondario avrà esito negativo dopo 5 minuti con un download configuration timeout errore.

Per ovviare al problema, effettuare una delle seguenti operazioni:

  1. Usare indirizzi IP anziché nomi host per specificare la destinazione della connessione TCP.

  2. Abilitare IPv6 nel kernel rimuovendo ipv6.disable=1 dalla riga di comando di avvio. Il modo per eseguire questa operazione dipende dalla distribuzione di Linux e dal bootloader, ad esempio grub. Se si vuole disabilitare IPv6, è comunque possibile disabilitarlo impostando net.ipv6.conf.all.disable_ipv6 = 1 nella sysctl configurazione (ad esempio, /etc/sysctl.conf). Ciò impedirà comunque che la scheda di rete del sistema ottenga un indirizzo IPv6, ma consenta il funzionamento delle sqlservr funzionalità.

TLS 1.3 non supportato

Sebbene TLS 1.3 sia supportato in SQL Server 2022 (16.x) Preview per Windows, è necessario usare TLS 1.2 in Linux.

File system di rete (NFS)

Se si usano condivisioni di rete NFS (Network File System, file system di rete) nell'ambiente di produzione, tenere presenti i requisiti di supporto seguenti:

  • Usare NFS versione 4.2 o successiva. Le versioni precedenti di NFS non supportano le funzionalità necessarie, ad esempio fallocate e la creazione di file sparse, comuni ai file system moderni.

  • Individuare solo le /var/opt/mssql directory nel montaggio NFS. Altri file, ad esempio i file binari di sistema SQL Server, non sono supportati.

  • Assicurarsi che i client NFS usino l'opzione nolock per il montaggio della condivisione remota.

Localizzazione

  • Se le impostazioni locali non sono in inglese (en_us) durante l'installazione, è necessario usare la codifica UTF-8 nella sessione/terminale bash. Se si usa la codifica ASCII, potrebbe essere visualizzato un errore simile al seguente:

    UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 8: ordinal not in range(128)
    

    Se non è possibile usare la codifica UTF-8, eseguire il programma di installazione usando la variabile di ambiente per specificare la MSSQL_LCID lingua scelta.

    sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setup
    
  • Quando si esegue mssql-conf setupe si esegue un'installazione non in lingua inglese di SQL Server, i caratteri estesi non corretti vengono visualizzati dopo il testo localizzato "Configuring SQL Server...". Invece, per le installazioni non basate sull'alfabeto latino, la frase potrebbe mancare completamente. La frase mancante dovrebbe corrispondere alla stringa localizzata seguente:

    The licensing PID was successfully processed. The new edition is [<Name> edition].

    Questa stringa viene restituita solo a scopo informativo e la successiva SQL Server aggiornamento cumulativo risolverà questo problema per tutte le lingue. Ciò non influisce sull'installazione corretta di SQL Server in alcun modo.

Non tutti i filtri sono disponibili con questa versione, inclusi i filtri per i documenti di Microsoft Office. Per un elenco di filtri supportati, vedere Installare la ricerca full-text di SQL Server in Linux.

SQL Server Integration Services (SSIS)

In questa versione il pacchetto mssql-server-is non è supportato in SUSE. È attualmente supportato in Ubuntu e in Red Hat Enterprise Linux (RHEL).

I pacchetti di Integration Services possono usare connessioni ODBC in Linux. Questa funzionalità è stata testata con i driver ODBC di SQL Server e MySQL, ma è previsto che funzioni anche con i driver ODBC Unicode che osservano la specifica ODBC. In fase di progettazione è possibile specificare un DSN o una stringa di connessione per la connessione ai dati ODBC. È anche possibile usare l'autenticazione di Windows. Per altre informazioni, vedere il post di blog che annuncia il supporto ODBC in Linux.

Le funzionalità seguenti non sono supportate in questa versione quando si eseguono pacchetti SSIS in Linux:

  • Database del catalogo di Integration Services
  • Esecuzione pianificata dei pacchetti tramite SQL Agent
  • Autenticazione di Windows
  • Componenti di terze parti
  • Change Data Capture (CDC)
  • Integration Services Scale Out
  • Feature Pack di Azure per SSIS
  • Supporto di Hadoop e HDFS
  • Microsoft Connector for SAP BW

Per un elenco dei componenti SSIS predefiniti attualmente non supportati o supportati con limitazioni, vedere Limitazioni e problemi noti per SSIS in Linux.

Per altre informazioni su SSIS in Linux, vedere gli articoli seguenti:

SQL Server Management Studio (SSMS)

Le limitazioni seguenti si applicano alle SQL Server Management Studio in Windows connesse a SQL Server in Linux.

  • I piani di manutenzione non sono supportati.

  • Le Data Warehouse di gestione (MDW) e l'agente di raccolta dati in SQL Server Management Studio non sono supportate.

  • SQL Server Management Studio componenti dell'interfaccia utente con opzioni di autenticazione di Windows o registro eventi di Windows non funzionano con Linux. È comunque possibile usare queste funzionalità con altre opzioni, ad esempio gli account di accesso SQL.

  • Non è possibile modificare il numero di file di log da conservare.

Vedi anche

Passaggi successivi

Per iniziare, vedere gli argomenti di avvio rapido seguenti: