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
|
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 のインストールに必要なハードウェアおよびソフトウェア