SQL Server 的最大容量規格
下表指定SQL Server元件中定義之各種物件的大小和數目上限。 若要流覽至SQL Server技術的資料表,請按一下其連結:
Database Engine 物件
下表指定SQL Server資料庫中定義或 Transact-SQL 語句中所參考的各種物件大小和數目上限。
SQL Server Database Engine 物件 | SQL Server 大小/數目上限 (32 位元) | SQL Server 大小/數目上限 (64 位元) |
---|---|---|
批次大小 注意:網路封包大小是表格式資料流程的大小, (TDS) 用來在應用程式和關係資料庫引擎之間通訊的封包。 預設封包大小是 4 KB,由 network packet size 組態選項所控制。 |
65,536 * 網路封包大小 | 65,536 * 網路封包大小 |
每個短字串資料行的位元組數 | 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。 For more information, see the "Row-Overflow Data Exceeding 8 KB" topic in SQL Server Books Online. |
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 |
每個索引鍵的資料行數 注意:如果資料表包含一或多個 XML 索引,則使用者資料表的叢集索引鍵限制為 15 個數據行,因為 XML 資料行會新增至主要 XML 索引的叢集索引鍵。 在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 TB | 524,272 TB |
每個 SQL Server 執行個體的資料庫數目 | 32,767 | 32,767 |
每個資料庫的檔案群組數 | 32,767 | 32,767 |
記憶體最佳化資料的每個資料庫檔案群組 | 不支援 | 1 |
每個資料庫的檔案數 | 32,767 | 32,767 |
檔案大小 (資料) | 16 TB | 16 TB |
檔案大小 (記錄檔) | 2 TB | 2 TB |
每個資料庫之記憶體最佳化資料的資料檔案 | 不支援 | 4.096 |
記憶體最佳化資料之每個資料檔案的差異檔案 | 不支援 | 1 |
每個資料表的外部索引鍵資料表參考數 注意:雖然資料表可以包含無限數量的 FOREIGN KEY 條件約束,但建議的最大值為 253。 視裝載SQL Server的硬體組態而定,指定額外的 FOREIGN KEY 條件約束可能會耗費大量成本,讓查詢最佳化工具進行處理。 |
253 | 253 |
識別碼長度 (字元數) | 128 | 128 |
每部電腦的執行個體數 | 所有SQL Server版本的獨立伺服器上 50 個實例。 當您使用共用叢集磁片作為叢集安裝的預存選項時,SQL Server支援容錯移轉叢集上的 25 個實例,SQL Server如果您選擇 SMB 檔案共用作為叢集安裝的儲存體選項,請參閱安裝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 |
每份資料表的 REFERENCES | 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公用程式控制點不適用於 2014 SQL Server版本。 如需 SQL Server 版本所支援的功能清單,請參閱2014 SQL Server 版本支援的功能。
SQL Server 資料層應用程式物件
下表指定 (DAC) SQL Server資料層應用程式中測試的各種物件大小和數目上限。
SQL Server DAC 物件 | SQL Server 大小/數目上限 (32 位元) | SQL Server 大小/數目上限 (64 位元) |
---|---|---|
每個 DAC 的資料庫數 | 1 | 1 |
每個 DAC 的物件數* | 受限於資料庫的物件數或可用的記憶體。 | 受限於資料庫的物件數或可用的記憶體。 |
*此限制所包括的物件類型為使用者、資料表、檢視表、預存程序、使用者定義函數、使用者定義資料類型、資料庫角色、結構描述和使用者定義資料表類型。
複寫物件
下表指定SQL Server 複寫中定義之各種物件的大小和數目上限。
SQL Server Replication 物件 | 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。
**基表可以包含發行集資料庫中允許的資料行數目上限, (1,024 表示SQL Server) ,但如果資料行超過發行集類型所指定的最大值,則必須從發行項篩選資料行。
另請參閱
安裝 SQL Server 2014 的硬體與軟體需求
檢查 System Configuration Checker 的參數
SQL Server 公用程式的功能與工作