次の表では、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 の以前のリリースよりも大きくなります。 詳細については、SQL Server オンライン ブックの「8 KB を超えるRow-Overflow データ」トピックを参照してください。 |
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 個のインスタンスがサポートされます。クラスター インストールのストレージ オプションとして SMB ファイル共有を選択した場合、SQL Server はフェールオーバー クラスターで 50 インスタンスをサポートします。詳細については、「 SQL Server 2014 をインストールするためのハードウェアとソフトウェアの要件」を参照してください。 |
スタンドアロン サーバー上に 50 個のインスタンス。 クラスター インストール用の保存オプションとして共有クラスター ディスクを使用する場合、フェールオーバー クラスターで 25 のインスタンスをサポートします。クラスター インストールのストレージ オプションとして 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 |
テーブルごとの行数 | 使用可能な記憶領域によって制限されます。 | 使用可能な記憶領域によって制限されます。 |
データベースごとのテーブル数 注: データベース オブジェクトには、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、トリガー、ルール、既定値、制約などのオブジェクトが含まれます。 データベース内のすべてのオブジェクトの数の合計は、2,147,483,647 を超えることはできません。 |
データベース内のオブジェクト数によって制限されます。 | データベース内のオブジェクト数によって制限されます。 |
パーティション テーブルまたはインデックスごとのパーティション数 | 1,000 **大事な** 32 ビット システムでは、パーティション数が 1,000 を超えるテーブルまたはインデックスを作成できますが、サポートされていません。 |
15,000 |
インデックス付けされていない列の統計 | 30,000 | 30,000 |
SELECT ステートメントあたりのテーブル数 | 使用可能なリソースのみによって制限されます。 | 使用可能なリソースのみによって制限されます。 |
テーブルごとのトリガー数 注: データベース オブジェクトには、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、トリガー、ルール、既定値、制約などのオブジェクトが含まれます。 データベース内のすべてのオブジェクトの数の合計は、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 ユーティリティの機能とタスク