SQL Server の最大容量仕様

次の各表に、SQL Server コンポーネントで定義される各種オブジェクトの最大サイズと最大数を示します。 各 SQL Server テクノロジの表に移動するには、それぞれのリンクをクリックしてください。

SQL Server データベース エンジン オブジェクト

SQL Server ユーティリティ オブジェクト

SQL Server データ層アプリケーション オブジェクト

SQL Server レプリケーション オブジェクト

データベース エンジン オブジェクト

次の表に、SQL Server データベースで定義される各種オブジェクト、または Transact-SQL ステートメントで参照される各種オブジェクトの最大サイズと最大数を示します。

SQL Server データベース エンジン オブジェクト

最大サイズ/最大数 SQL Server (32 ビット)

最大サイズ/最大数 SQL Server (64 ビット)

バッチ サイズ1

65,536 * ネットワーク パケット サイズ

65,536 * ネットワーク パケット サイズ

通常の string 列ごとのバイト数

8,000

8,000

GROUP BY、ORDER BY ごとのバイト数

8,060

8,060

インデックス キーごとのバイト数2

900

900

外部キーごとのバイト数

900

900

主キーごとのバイト数

900

900

行ごとのバイト数8

8,060

8,060

ストアド プロシージャのソース テキスト内のバイト数

バッチ サイズまたは 250 MB のいずれか小さい方

バッチ サイズまたは 250 MB のいずれか小さい方

varchar(max)、varbinary(max)、xml、text、または image 列ごとのバイト数

2^31-1

2^31-1

ntext または nvarchar(max) 列ごとの文字数

2^30-1

2^30-1

テーブルごとのクラスター化インデックス数

1

1

GROUP BY、ORDER BY の列数

バイト数のみによって制限されます。

バイト数のみによって制限されます。

GROUP BY WITH CUBE または WITH ROLLUP ステートメント内の列または式の数

10

10

インデックス キーごとの列数7

16

16

外部キーごとの列数

16

16

主キーごとの列数

16

16

幅の狭いテーブルごとの列数

1,024

1,024

幅の広いテーブルごとの列数

30,000

30,000

SELECT ステートメントごとの列数

4,096

4,096

INSERT ステートメントごとの列数

4096

4096

クライアントごとの接続数

構成した接続の最大値

構成した接続の最大値

データベース サイズ

524,272 テラバイト

524,272 テラバイト

SQL Server インスタンスごとのデータベース数

32,767

32,767

データベースごとのファイル グループ数

32,767

32,767

データベースごとのファイル数

32,767

32,767

ファイル サイズ (データ)

16 テラバイト

16 テラバイト

ファイル サイズ (ログ)

2 テラバイト

2 テラバイト

テーブルごとの外部キー テーブル参照数4

253

253

識別子長 (文字数)

128

128

コンピューターごとのインスタンス数

すべての SQL Server エディションでは、スタンドアロン サーバー上に 50 個のインスタンス。

SQL Server では、クラスター インストールのストレージ オプションとして共有クラスター ディスクを使用する場合、フェールオーバー クラスター上に 25 個のインスタンスがサポートされます。クラスター インストールのストレージ オプションとして SMB ファイル共有を選択する場合は、フェールオーバー クラスター上に 50 個のインスタンスがサポートされます。詳細については、「データ ファイルのストレージの種類」を参照してください。

スタンドアロン サーバー上に 50 個のインスタンス。

SQL Server では、クラスター インストールのストレージ オプションとして共有クラスター ディスクを使用する場合、フェールオーバー クラスター上に 25 個のインスタンスがサポートされます。クラスター インストールのストレージ オプションとして SMB ファイル共有を選択する場合は、フェールオーバー クラスター上に 50 個のインスタンスがサポートされます。詳細については、「データ ファイルのストレージの種類」を参照してください。

SQL ステートメントが含まれた文字列の長さ (バッチ サイズ)1

65,536 * ネットワーク パケット サイズ

65,536 * ネットワーク パケット サイズ

接続ごとのロック数

サーバーごとの最大ロック数

サーバーごとの最大ロック数

SQL Server のインスタンスごとのロック数5

最大 2,147,483,647

メモリのみによって制限されます。

ストアド プロシージャの入れ子レベル数6

32

32

入れ子にしたサブクエリの数

32

32

トリガーの入れ子レベル数

32

32

テーブルごとの非クラスター化インデックス数

999

999

GROUP BY 句に含まれる個別の式の数 (CUBE、ROLLUP、GROUPING SETS、WITH CUBE、または WITH ROLLUP のいずれかが存在する場合)

32

32

GROUP BY 句内の演算子によって生成されるグループ化セットの数

4,096

4,096

ストアド プロシージャごとのパラメーター数

2,100

2,100

ユーザー定義関数ごとのパラメーター数

2,100

2,100

テーブルごとの参照数

253

253

テーブルごとの行数

使用可能な記憶領域によって制限されます。

使用可能な記憶領域によって制限されます。

データベースごとのテーブル数3

データベース内のオブジェクト数によって制限されます。

データベース内のオブジェクト数によって制限されます。

パーティション テーブルまたはインデックスごとのパーティション数

1,000

重要な注意事項重要

32 ビット システムでは、パーティション数が 1,000 を超えるテーブルまたはインデックスを作成することはできますが、サポートはされていません。

15,000

インデックス付けされていない列の統計

30,000

30,000

SELECT ステートメントごとのテーブル数

使用可能なリソースのみによって制限されます。

使用可能なリソースのみによって制限されます。

テーブルごとのトリガー数3

データベース内のオブジェクト数によって制限されます。

データベース内のオブジェクト数によって制限されます。

UPDATE ステートメント (幅の広いテーブル) ごとの列数

4096

4096

ユーザー接続数

32,767

32,767

XML インデックス数

249

249

1 ネットワーク パケット サイズとは、アプリケーションとリレーショナル データベース エンジンの間の通信に使用される表形式のデータ ストリーム (TDS) パケットのサイズです。 既定のパケット サイズは 4 KB であり、network packet size 構成オプションによって制御されます。

2 SQL Server では、インデックス キーの最大バイト数を 900 以下にする必要があります。 最大サイズの合計が 900 を超えるような組み合わせで複数の可変長列を使用してキーを定義することは可能ですが、これらの列のデータが 900 バイトを超えるような行が挿入されないことが条件です。 SQL Server では、インデックス キーが最大サイズ制限の 900 バイトを超えないように、非クラスター化インデックスに非キー列を含めることができます。

3 データベース オブジェクトには、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、トリガー、デフォルト、制約などのオブジェクトが含まれます。 1 つのデータベース内のオブジェクトの合計数は 2,147,483,647 以下にする必要があります。

4 1 つのテーブルには FOREIGN KEY 制約を無制限に含めることができますが、推奨最大数は 253 です。 SQL Server をホストするハードウェア構成によっては、追加の FOREIGN KEY 制約を指定するとクエリ オプティマイザーの処理が遅くなる可能性があります。

5 これは静的ロック割り当てに対する値です。 動的ロックの場合は、メモリのみによって制限されます。

6 ストアド プロシージャが 65 個以上のデータベースにアクセスするか、またはインターリーブ時に 3 つ以上のデータベースにアクセスすると、エラーが返されます。

7 テーブルに 1 つ以上の XML インデックスが含まれている場合は、XML 列がプライマリ XML インデックスのクラスター化キーに追加されるため、ユーザー テーブルのクラスター化キーが 15 列までに制限されます。 SQL Server では、キー列数が最大キー列数制限の 16 を越えないように、非クラスター化インデックスに非キー列を含めることができます。 詳細については、「付加列インデックスの作成」を参照してください。

8SQL Server では、行オーバーフロー ストレージがサポートされています。これにより、可変長列の行外への移動が可能になります。 行外に移動される可変長列のうち、ルートの 24 バイトだけが本体のレコードに格納されます。これにより、実際の行制限は、以前のリリースの SQL Server よりも大きい値になります。 詳細については、SQL Server オンライン ブックの「8 KB を超える場合の行オーバーフロー データ」を参照してください。

SQL Server ユーティリティ オブジェクト

次の表に、SQL Server ユーティリティでテストされた各種オブジェクトの最大サイズと最大数を示します。

SQL Server ユーティリティ オブジェクト

最大サイズ/最大数 SQL Server (32 ビット)

最大サイズ/最大数 SQL Server (64 ビット)

SQL Server ユーティリティごとのコンピューター数 (物理コンピューターまたは仮想マシン)

100

100

コンピューターごとの SQL Server のインスタンス数

5

5

SQL Server ユーティリティごとの SQL Server のインスタンス総数

2001

2001

SQL Server のインスタンス (データ層アプリケーションを含む) ごとのユーザー データベース数

50

50

SQL Server ユーティリティごとのユーザー データベース総数

1,000

1,000

データベースごとのファイル グループ数

1

1

ファイル グループごとのデータ ファイル数

1

1

データベースごとのログ ファイル数

1

1

コンピューターごとのボリューム数

3

3

1 SQL Server ユーティリティでサポートされる SQL Server のマネージ インスタンスの最大数は、サーバーのハードウェア構成によって異なる場合があります。 概要情報については、「SQL Server ユーティリティの機能とタスク」を参照してください。 SQL Server ユーティリティ コントロール ポイントは、SQL Server 2012 のすべてのエディションで使用できるわけではありません。 SQL Server の各エディションでサポートされる機能の一覧については、「SQL Server 2012 の各エディションがサポートする機能」(https://go.microsoft.com/fwlink/?linkid=232473) を参照してください。

SQL Server データ層アプリケーション オブジェクト

次の表に、SQL Server データ層アプリケーション (DAC) でテストされた各種オブジェクトの最大サイズと最大数を示します。

SQL Server DAC オブジェクト

最大サイズ/最大数 SQL Server (32 ビット)

最大サイズ/最大数 SQL Server (64 ビット)

DAC ごとのデータベース数

1

1

DAC ごとのオブジェクト数1

データベース内のオブジェクト数または使用可能なメモリによって制限されます。

データベース内のオブジェクト数または使用可能なメモリによって制限されます。

1 制限の対象となるオブジェクトの種類は、ユーザー、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、ユーザー定義データ型、データベース ロール、スキーマ、およびユーザー定義テーブル型です。

レプリケーション オブジェクト

次の表に、SQL Server レプリケーションで定義される各種オブジェクトの最大サイズと最大数を示します。

SQL Server レプリケーション オブジェクト

最大サイズ/最大数 SQL Server (32 ビット)

最大サイズ/最大数 SQL Server (64 ビット)

アーティクル数 (マージ パブリケーション)

256

256

アーティクル数 (スナップショットまたはトランザクション パブリケーション)

32,767

32,767

テーブル内の列数1 (マージ パブリケーション)

246

246

テーブル内の列数2 (SQL Server のスナップショットまたはトランザクション パブリケーション)

1,000

1,000

テーブル内の列数2 (Oracle のスナップショットまたはトランザクション パブリケーション)

995

995

行フィルターで使用される列のバイト数 (マージ パブリケーション)

1,024

1,024

行フィルターで使用される列のバイト数 (スナップショットまたはトランザクション パブリケーション)

8,000

8,000

1 競合の検出で行の追跡を使用する場合 (既定)、ベース テーブルには最大 1,024 列を含めることができます。ただし、最大で 246 列がパブリッシュされるように、列をアーティクルからフィルター処理する必要があります。 列の追跡を使用する場合、ベース テーブルには最大 246 列を含めることができます。

2 ベース テーブルには、パブリケーション データベースで許容される最大数 (SQL Server の場合は 1,024) の列を含めることができますが、列数がパブリケーション タイプに対して指定された最大数を超える場合は、アーティクルから列をフィルター処理する必要があります。

関連項目

参照

SQL Server 2012 のインストールに必要なハードウェアおよびソフトウェア

システム構成チェッカーの検査パラメーター

概念

SQL Server ユーティリティの機能とタスク