SQL Server su container Linux

Si applica a:SQL Server su Linux

I contenitori offrono un modo leggero e portatile per eseguire SQL Server in Linux. Rispetto alle macchine virtuali, i contenitori iniziano più velocemente e semplificano la gestione del ciclo di vita, garantendo comunque l'isolamento per i carichi di lavoro del database.

Perché usare i contenitori

I contenitori condividono il sistema operativo host invece di eseguire un sistema operativo guest completo, riducendo il sovraccarico e consentendo un provisioning più rapido. In host Linux è possibile eseguire SQL Server 2017 (14.x) o versioni successive come contenitori. È possibile eseguire questi contenitori usando Docker o altri runtime di contenitori supportati, autonomi o gestiti da un agente di orchestrazione.

I contenitori sono particolarmente adatti per scenari che richiedono una distribuzione rapida, coerenza tra ambienti e operazioni semplificate:

  • I contenitori si avviano e si scalano più velocemente rispetto alle macchine virtuali.
  • Un singolo sistema operativo host riduce il sovraccarico amministrativo.
  • Le immagini identiche producono distribuzioni coerenti tra sviluppo, test e produzione.
  • Un footprint più piccolo consente una maggiore densità nell'infrastruttura condivisa.

I casi d'uso comuni includono sviluppo e test, pipeline CI/CD e architetture native del cloud o scalabili.

Get started

Per iniziare a usare i contenitori SQL Server in Linux, vedere le risorse seguenti:

Installare e configurare

Sicurezza e autenticazione

Disponibilità elevata

Orchestrazione

Per le distribuzioni di produzione, usare un agente di orchestrazione, ad esempio Kubernetes, Servizio Azure Kubernetes (AKS) o Red Hat OpenShift per gestire i contenitori. Gli orchestratori gestiscono la pianificazione, il ridimensionamento, il monitoraggio dello stato di integrità e il ripristino.

Microsoft fornisce indicazioni e strumenti per l'esecuzione di contenitori SQL Server in Kubernetes, incluse le immagini del contenitore supportate e gli esempi di distribuzione.

Considerazioni sull'archiviazione

I database in esecuzione nei contenitori necessitano di un archivio permanente esistente al di fuori del ciclo di vita del contenitore. In Kubernetes si usano in genere volumi persistenti e attestazioni di volume permanente per fornire questa risorsa di archiviazione.

Una distribuzione tipica include:

  • Volume permanente per archiviare i file di database.
  • Una distribuzione o uno StatefulSet che utilizza l'immagine del contenitore Microsoft SQL Server Linux.
  • Un servizio o un servizio di bilanciamento del carico che fornisce un accesso di rete stabile.

Con questa configurazione, l'agente di orchestrazione può riavviare o sostituire automaticamente i contenitori in caso di errore di un nodo e i dati vengono mantenuti.