Linux コンテナー上の SQL Server

適用対象:Linux 上の SQL Server

コンテナーは、SQL Server on Linuxを実行するための軽量で移植可能な方法を提供します。 仮想マシン (VM) と比較して、コンテナーは高速に起動し、ライフサイクル管理を簡素化しながら、データベース ワークロードの分離を実現します。

コンテナーを使用する理由

コンテナーは、完全なゲスト OS を実行するのではなく、ホスト オペレーティング システム (OS) を共有します。これにより、オーバーヘッドが軽減され、プロビジョニングが高速化されます。 Linux ホストでは、SQL Server 2017 (14.x) 以降のバージョンをコンテナーとして実行できます。 これらのコンテナーは、Docker またはその他のサポートされているコンテナー ランタイム (スタンドアロンまたはオーケストレーターによって管理) を使用して実行できます。

コンテナーは、迅速なデプロイ、環境間の一貫性、および簡略化された操作を必要とするシナリオに適しています。

  • コンテナーの起動とスケーリングは、仮想マシンよりも高速です。
  • 1 つのホスト OS を使用すると、管理オーバーヘッドが削減されます。
  • 同じイメージを使用すると、開発、テスト、運用の間で一貫したデプロイが生成されます。
  • フットプリントを小さくすると、共有インフラストラクチャの密度が高くなります。

一般的なユース ケースには、開発とテスト、CI/CD パイプライン、クラウドネイティブまたはスケーラブルなアーキテクチャが含まれます。

概要

SQL Server on Linux コンテナーの操作を開始するには、次のリソースを参照してください。

インストールと構成

セキュリティと認証

高可用性

Orchestration

運用環境のデプロイでは、Kubernetes、Azure Kubernetes Service (AKS)、Red Hat OpenShift などのオーケストレーターを使用してコンテナーを管理します。 オーケストレーターは、スケジュール、スケーリング、正常性の監視、回復を処理します。

Microsoftでは、サポートされているコンテナー イメージやデプロイの例など、Kubernetes でSQL Serverコンテナーを実行するためのガイダンスとツールを提供します。

ストレージに関する考慮事項

コンテナーで実行されているデータベースには、コンテナー のライフサイクル外に存在する 永続的なストレージ が必要です。 Kubernetes では、通常、永続ボリュームと永続ボリューム要求 (PVC) を使用してこのストレージを提供します。

一般的なデプロイには、次のものが含まれます。

  • データベース ファイルを格納する永続ボリューム。
  • Microsoft SQL Server Linux コンテナーイメージを使用する展開または StatefulSet。
  • 安定したネットワーク アクセスを提供するサービスまたはロード バランサー。

この構成では、オーケストレーターは、ノードで障害が発生した場合にコンテナーを自動的に再起動または置換でき、データは保持されます。