(1) SQL Serverの無償版(Express版)の制限について
(1-1) 無償版(Express版)の主な制限について
(1-2) Enterprise版やStandard版との比較
(1-3) 比較項目の補足説明
(1) SQL Serverの無償版(Express版)の制限について
SQL Serverの無償エディションである「Express版」について「Enterprise版」や「Standard版」と比較した際の制限事項について記載します。
(1-1) 無償版(Express版)の主な制限について
(表)Express版の代表的な制約事項
特にデータベースの容量が10GBに制限されている点など、大きな制約事項があります。
【CPU系】 | 以下のいずれか少ない方 ①1ソケット ②4コア |
【メモリ】 | 1.4GBの制限あり |
【ストレージ系】 | 10GBの制限あり |
【運用系】 | SQL Server Agentが使用不可 (※ジョブスケジューラ機能など) |
【セキュリティ系】 データベースの暗号化 |
×(なし) |
【災対・可用性】 AlwaysOn可用性グループ =AlwaysOn Availability Group |
×(なし) |
(1-2) Enterprise版やStandard版との比較
上記の通り、Express版に大きな制約がありますが、参考までに上位のStandard版やEnterprise版との、より詳細な比較表も掲載します。
(表)
比較項目 | Enterprize (法人向け) |
Standard | Express Edition |
【料金】 | 有償 | 有償 | 無償 |
【運用系】 SQL Server Agent機能 |
○(あり) | ○(あり) | ×(なし) |
【CPU系】 計算容量制限(インスタンス当たり) =Max Compute Capacity |
OSの上限まで | 以下のいずれか少ない方 ①4ソケット ②24コア |
以下のいずれか少ない方 ①1ソケット ②4コア |
【メモリ系】 最大バッファプールメモリ =Max Buffer Pool Memory |
OSの上限まで | 128GB | 1410MB |
【メモリ系】 最大カラムストアキャッシュ =Maximum Columnstore segment cache per instance |
無制限 | 32GB | 352MB |
【メモリ系】 最大メモリ最適化テーブルのデータサイズ =Max Memory-Optimized Data Size |
無制限 | 32GB | 352MB |
【メモリ系】 バッファプール拡張 =Buffer Pool Extension |
○(あり) | ○(あり) | ×(なし) |
【リソース管理系】 リソースがバナー =Resource Governer |
○(あり) | ×(なし) | ×(なし) |
【ストレージ系】 データベース容量制限 |
524PB =524,000TB =524,000,000GB |
524PB =524,000TB =524,000,000GB |
10GB |
【セキュリティ系】 データベースの暗号化 |
○(あり) | ○(あり) | ×(なし) |
【災対・可用性】 ログ配布 =Log Shipping |
○(あり) | ○(あり) | ×(なし) |
【災対・可用性】 ミラーリング =Mirroring |
○(あり) | ○(あり) | ×(なし) ※2019版は○(あり) |
【災対・可用性】 AlwaysOn可用性グループ =AlwaysOn Availability Group |
○(あり) | △(一部あり) ⇒(※注1) |
×(なし) |
【災対・可用性】 ピア ツー ピア レプリケーション =Peer-to-Peer – Transactional Replication |
○(あり) | ×(なし) | ×(なし) |
【便利系】 フルテキスト検索 =Full Text Search |
○(あり) | ○(あり) | ×(なし) |
(※注1)
Standard版の場合はSQLServer 2016 Standard Editionより導入された「AlwaysOn BAG(基本可用性グループ)」機能が利用可能です。これはEnterprise版の「AlwaysOn AG(可用性グループ)」を制限付きで利用できるものになります。制約の例として、例えば「可用性グループに含められる対象DBが1つのみ(グループ:DB=1:1対応)」といったものがあります。具体的な制約事項は以下のMicrosoftの公式ドキュメントをご参照頂けたらと思います。
(1-3) 比較項目の補足説明
上記の各比較項目の概要についても、表にまとめて整理します。
(表)
【運用系】 SQL Server Agent機能 |
ジョブをスケジューリングや、自動処理を担当するSQLServerのコンポーネントです。 Windowsのサービスとして実行されるため、OS起動と同時に起動させる事もできます。 |
【CPU系】 計算容量制限(インスタンス当たり) =Max Compute Capacity |
使用できるCPUコアやソケットを制限する機能です。 エディションが高度な程、制限が緩和されていきます。 |
【メモリ系】 最大バッファプールメモリ =Max Buffer Pool Memory |
データをメモリ上の「バッファキャッシュ」にキャッシュする際の上限容量です。 |
【メモリ系】 最大カラムストアキャッシュ =Maximum Columnstore segment cache per instance |
SQLServer2012より導入された新しいインデックスの機能です。従来のインデックスは行ベース(行単位でデータを保持する)だったのに対して、カラムストア(Column Store)では列ベース(列単位でデータを保持する)になっているのが特徴です。 「最大カラムストアキャッシュ」はカラムストアインデックスにおいて利用できる領域で、バッファプールとは別に確保されます。 |
【メモリ系】 最大メモリ最適化テーブルのデータサイズ =Max Memory-Optimized Data Size |
「メモリ最適化テーブル」はSQLServerが確保しているメモリ上にテーブルのデータを常駐させる事で、ディスクIOを減らして高速化するための機能で、その保持データ容量の上限値です。 |
【メモリ系】 バッファプール拡張 =Buffer Pool Extension |
バッファプールメモリを拡張するための機能で、SSDディスク上に拡張ファイルを作る事で、物理メモリの制限を超えて、バッファプールを拡張する事ができます。 |
【リソース管理系】 リソースがバナー =Resource Governer |
CPUやメモリやIOPS(1秒当たりのディスクIO)を制限する事でリソースの消費量を管理する機能です。 |
【災対・可用性】 ログ配布 =Log Shipping |
プライマリDBにてトランザクションログのバックアップを自動で取得し、セカンダリDB(1つ~複数)にコピー&適用する機能です。 |
【災対・可用性】 ミラーリング =Mirroring |
可用性(停止せずに稼働し続ける能力)の向上のための機能で、同期or非同期でプライマリインスタンス⇒ミラーインスタンスへのミラーリング(≒遠隔地コピー)を行います。 ただし、近年では上位機能である「AlwaysOn可用性グループ」の利用が推奨されているため、Microsoftもそちらを使うように推奨しています。 |
【災対・可用性】 AlwaysOn可用性グループ =AlwaysOn Availability Group |
下記の記事を参照。 https://rainbow-engine.com/oracle-vs-sqlserver-redundancy/ |
【災対・可用性】 ピア ツー ピア レプリケーション =Peer-to-Peer – Transactional Replication |
複数のサーバーインスタンス間でデータの「レプリケーション」(データベースオブジェクトを複数コピーする)を行う事で可用性を高める機能です。 |
【便利系】 フルテキスト検索 =Full Text Search |
通常のSQLでは非常に時間が掛かり困難な「テキスト検索」をテーブルに対して実行する機能です。 |
AlwaysOn可用性グループ ですが、Standard版では制限があります。
対象DBが1つだけなど。
貴重なフィードバックを頂きありがとうございます。また確認およびご返信が遅れ申し訳ございませんでした。
本件、ご指摘頂いた通りStandard版のAlwaysOn可用性グループは制限付きでの利用が可能のため、「×」ではなく「△」に修正し、注釈にも補記をいたしました。
ご指摘頂きありがとうございました。