SQL Server の最大容量仕様
次の表では、SQL Server コンポーネントで定義されているさまざまなオブジェクトの最大サイズと数を指定します。 SQL Server テクノロジのテーブルに移動するには、そのリンクをクリックします。
データ層アプリケーション オブジェクトのSQL Server
データベース エンジン オブジェクト
次の表では、SQL Server データベースで定義されているか、Transact-SQL ステートメントで参照されているさまざまなオブジェクトの最大サイズと数を指定します。
SQL Server データベース エンジン オブジェクト | 最大サイズ/最大数 (SQL Server 32 ビットの場合) | 最大サイズ/最大数 (SQL Server 64 ビットの場合) |
---|---|---|
バッチ サイズ 注: ネットワーク パケット サイズは、アプリケーションとリレーショナル データベース エンジン間の通信に使用される表形式データ ストリーム (TDS) パケットのサイズです。 既定のパケット サイズは 4 KB であり、network packet size 構成オプションによって制御されます。 |
65,536 * ネットワーク パケット サイズ | 65,536 * ネットワーク パケット サイズ |
通常の string 列ごとのバイト数 | 8,000 | 8,000 |
GROUP BY、ORDER BY ごとのバイト数 | 8,060 | 8,060 |
インデックス キーごとのバイト数 注: 任意のインデックス キーの最大バイト数は、SQL Serverで 900 を超えることはできません。 最大サイズの合計が 900 を超えるような組み合わせで複数の可変長列を使用してキーを定義することは可能ですが、これらの列のデータが 900 バイトを超えるような行が挿入されないことが条件です。 SQL Serverでは、非クラスター化インデックスに非キー列を含め、インデックス キーの最大サイズが 900 バイトにならないようにすることができます。 |
900 | 900 |
外部キーごとのバイト数 | 900 | 900 |
主キーごとのバイト数 | 900 | 900 |
行ごとのバイト数 メモ: SQL Serverでは、可変長列を行外にプッシュできる行オーバーフロー ストレージがサポートされています。 行からプッシュされた可変長列のメイン レコードには、24 バイトのルートのみが格納されます。このため、有効な行の制限は以前のリリースのSQL Serverよりも大きくなります。 詳細については、オンライン ブックの「8 KB を超える行オーバーフロー データ」SQL Server参照してください。 |
8,060 | 8,060 |
メモリ最適化テーブル内の行ごとのバイト数 メモ: SQL Server In-Memory OLTP では、行オーバーフロー ストレージはサポートされていません。 可変長列は行外にプッシュされません。 この結果、メモリ最適化テーブルで指定できる可変長列の最大の幅が、最大行サイズに制限されます。 詳細については、「 メモリ最適化テーブルのテーブルと行のサイズ」を参照してください。 |
サポートされていません | 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 |
インデックス キーごとの列数 注: テーブルに 1 つ以上の XML インデックスが含まれている場合、XML 列はプライマリ XML インデックスのクラスタリング キーに追加されるため、ユーザー テーブルのクラスタリング キーは 15 列に制限されます。 SQL Serverでは、非クラスター化インデックスに非キー列を含め、最大 16 個のキー列の制限を回避できます。 詳細については、「 付加列インデックスの作成」を参照してください。 |
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 |
メモリ最適化データに対応する、データベースごとのファイル グループ | サポートされていません | 1 |
データベースごとのファイル数 | 32,767 | 32,767 |
ファイル サイズ (データ) | 16 テラバイト | 16 テラバイト |
ファイル サイズ (ログ) | 2 テラバイト | 2 テラバイト |
データベースごとのメモリ最適化データに対応するデータ ファイル | サポートされていません | 4.096 |
メモリ最適化データに対応するデータ ファイルごとのデルタ ファイル | サポートされていません | 1 |
テーブルごとの外部キー テーブル参照数 注: テーブルには FOREIGN KEY 制約を無制限に含めることができますが、推奨される最大値は 253 です。 SQL Serverをホストするハードウェア構成によっては、クエリ オプティマイザーが処理するために追加の FOREIGN KEY 制約を指定するとコストがかかる場合があります。 |
253 | 253 |
識別子長 (文字数) | 128 | 128 |
コンピューターごとのインスタンス数 | すべてのSQL Server エディションのスタンドアロン サーバー上の 50 インスタンス。 SQL Serverでは、クラスターインストールの保存オプションとして共有クラスター ディスクを使用する場合、フェールオーバー クラスター上の 25 インスタンスがサポートSQL Server、クラスターインストールのストレージ オプションとして SMB ファイル共有を選択した場合にフェールオーバー クラスターで 50 インスタンスがサポートされます。詳細については、「ハードウェアとソフトウェアの要件」を参照SQL Server 2014 年をインストールします。 |
スタンドアロン サーバー上に 50 個のインスタンス。 クラスターインストールの保存オプションとして共有クラスター ディスクを使用する場合、フェールオーバー クラスター上の 25 インスタンスSQL Server、クラスターインストールのストレージ オプションとして SMB ファイル共有を選択した場合、フェールオーバー クラスターで 50 インスタンスがサポートされます。 |
メモリ最適化テーブルごとのインデックス | サポートされていません | 8 |
SQL ステートメントが含まれた文字列の長さ (バッチ サイズ) 注: ネットワーク パケット サイズは、アプリケーションとリレーショナル データベース エンジン間の通信に使用される表形式データ ストリーム (TDS) パケットのサイズです。 既定のパケット サイズは 4 KB であり、network packet size 構成オプションによって制御されます。 |
65,536 * ネットワーク パケット サイズ | 65,536 * ネットワーク パケット サイズ |
接続ごとのロック数 | サーバーごとの最大ロック数 | サーバーごとの最大ロック数 |
のインスタンスごとのロック数 SQL Server 注: この値は静的ロック割り当て用です。 動的ロックの場合は、メモリのみによって制限されます。 |
最大 2,147,483,647 | メモリのみによって制限されます。 |
ストアド プロシージャの入れ子レベル数 注: ストアド プロシージャが 64 を超えるデータベース、またはインターリーブで 2 つを超えるデータベースにアクセスすると、エラーが発生します。 |
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 |
テーブルごとの行数 | 使用可能な記憶領域によって制限されます。 | 使用可能な記憶領域によって制限されます。 |
データベースごとのテーブル数 注: データベース オブジェクトには、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、トリガー、ルール、既定値、制約などのオブジェクトが含まれます。 1 つのデータベース内のオブジェクトの合計数は 2,147,483,647 以下にする必要があります。 |
データベース内のオブジェクト数によって制限されます。 | データベース内のオブジェクト数によって制限されます。 |
パーティション テーブルまたはインデックスごとのパーティション数 | 1,000 **大事な** 32 ビット システムでは、パーティション数が 1,000 を超えるテーブルまたはインデックスを作成できますが、サポートされていません。 |
15,000 |
インデックス付けされていない列の統計 | 30,000 | 30,000 |
SELECT ステートメントごとのテーブル数 | 使用可能なリソースのみによって制限されます。 | 使用可能なリソースのみによって制限されます。 |
テーブルごとのトリガー数 注: データベース オブジェクトには、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、トリガー、ルール、既定値、制約などのオブジェクトが含まれます。 1 つのデータベース内のオブジェクトの合計数は 2,147,483,647 以下にする必要があります。 |
データベース内のオブジェクト数によって制限されます。 | データベース内のオブジェクト数によって制限されます。 |
UPDATE ステートメント (幅の広いテーブル) ごとの列数 | 4096 | 4096 |
ユーザー接続数 | 32,767 | 32,767 |
XML インデックス数 | 249 | 249 |
SQL Server ユーティリティ オブジェクト
次の表は、SQL Server ユーティリティでテストされたさまざまなオブジェクトの最大サイズと数を示しています。
SQL Server ユーティリティ オブジェクト | 最大サイズ/最大数 (SQL Server 32 ビットの場合) | 最大サイズ/最大数 ( SQL Server 64 ビットの場合) |
---|---|---|
SQL Server ユーティリティごとのコンピューター数 (物理コンピューターまたは仮想マシン) | 100 | 100 |
コンピューターごとの SQL Server のインスタンス数 | 5 | 5 |
SQL Server ユーティリティごとの SQL Server のインスタンス総数 | 200* | 200* |
SQL Serverのインスタンス (データ層アプリケーションを含む) ごとのユーザー データベース数 | 50 | 50 |
SQL Server ユーティリティごとのユーザー データベース総数 | 1,000 | 1,000 |
データベースごとのファイル グループ数 | 1 | 1 |
ファイル グループごとのデータ ファイル数 | 1 | 1 |
データベースごとのログ ファイル数 | 1 | 1 |
コンピューターごとのボリューム数 | 3 | 3 |
*SQL Server ユーティリティでサポートされるSQL Serverのマネージド インスタンスの最大数は、サーバーのハードウェア構成によって異なる場合があります。 概要情報については、「 SQL Server ユーティリティの機能とタスク」を参照してください。 SQL Server ユーティリティ コントロール ポイントは、SQL Server 2014 のすべてのエディションで使用できるわけではありません。 SQL Serverの各エディションでサポートされている機能の一覧については、「SQL Server 2014 の各エディションでサポートされる機能」を参照してください。
SQL Server データ層アプリケーション オブジェクト
次の表は、SQL Server データ層アプリケーション (DAC) でテストされたさまざまなオブジェクトの最大サイズと数を示しています。
SQL Server DAC オブジェクト | 最大サイズ/最大数 (SQL Server 32 ビットの場合) | 最大サイズ/最大数 ( SQL Server 64 ビットの場合) |
---|---|---|
DAC ごとのデータベース数 | 1 | 1 |
DAC ごとのオブジェクト数* | データベース内のオブジェクト数または使用可能なメモリによって制限されます。 | データベース内のオブジェクト数または使用可能なメモリによって制限されます。 |
*制限の対象となるオブジェクトの種類は、ユーザー、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、ユーザー定義データ型、データベース ロール、スキーマ、およびユーザー定義テーブル型です。
レプリケーション オブジェクト
次の表では、SQL Server レプリケーションで定義されているさまざまなオブジェクトの最大サイズと数を指定します。
SQL Server レプリケーション オブジェクト | 最大サイズ/最大数 (SQL Server 32 ビットの場合) | 最大サイズ/最大数 (SQL Server 64 ビットの場合) |
---|---|---|
アーティクル数 (マージ パブリケーション) | 256 | 256 |
アーティクル数 (スナップショットまたはトランザクション パブリケーション) | 32,767 | 32,767 |
テーブル内の列数* (マージ パブリケーション) | 246 | 246 |
テーブル内の列** (SQL Server スナップショットまたはトランザクション パブリケーション) | 1,000 | 1,000 |
テーブル内の列数** (Oracle のスナップショットまたはトランザクション パブリケーション) | 995 | 995 |
行フィルターで使用される列のバイト数 (マージ パブリケーション) | 1,024 | 1,024 |
行フィルターで使用される列のバイト数 (スナップショットまたはトランザクション パブリケーション) | 8,000 | 8,000 |
*行レベルの追跡を使用して競合を検出する場合 (既定値)、ベース テーブルには最大 1,024 列含めることができますが、最大 246 列がパブリッシュされるようにアーティクルから列をフィルター選択する必要があります。 列の追跡を使用する場合、ベース テーブルには最大 246 列を含めることができます。
**ベース テーブルには、パブリケーション データベースで許容される列の最大数 (SQL Serverの場合は 1,024) を含めることができますが、パブリケーションの種類に指定された最大値を超える場合は、アーティクルから列をフィルター処理する必要があります。
参照
SQL Server 2014 のインストールに必要なハードウェアおよびソフトウェア
システム構成チェッカーの検査パラメーター
SQL Server ユーティリティの機能とタスク