SQL Server 的最大容量規範

來源:互聯網
上載者:User

 

SQL Server 2008 聯機叢書(為便於網友搜尋查閱,特貼於此)

 

 

下表指定在 SQL Server 資料庫中定義的或在 Transact-SQL 陳述式中引用的各種對象的最大大小和最大數量。

SQL Server 資料庫引擎對象 最大大小/數量 - SQL Server(32 位) 最大大小/數量 - SQL Server(64 位元)

批大小1

65,536 * 網路資料包大小

65,536 * 網路資料包大小

每個短字串列的位元組數

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)xmltextimage 列的位元組數

2^31-1

2^31-1

每個 ntextnvarchar(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 TB

524,272 TB

每個 SQL Server 執行個體的資料庫個數

32,767

32,767

每個資料庫的檔案組個數

32,767

32,767

每個資料庫的檔案個數

32,767

32,767

檔案大小(資料)

16 TB

16 TB

檔案大小(日誌)

2 TB

2 TB

每個表的外鍵表引用數4

253

253

標識符長度(以字元計)

128

128

每台電腦的執行個體數

所有 SQL Server 版本(Workgroup 除外)的獨立伺服器上為 50 個執行個體。Workgroup 支援每台電腦上最多有 16 個執行個體。

SQL Server 支援容錯移轉叢集上有 25 個執行個體。

獨立伺服器上為 50 個執行個體。

容錯移轉叢集上 25 個執行個體。

包含 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

每個資料表的 REFERENCE 個數

253

253

每個資料表的行數

受可用儲存空間限制

受可用儲存空間限制

每個資料庫的表數3

受資料庫中對象數限制

受資料庫中對象數限制

每個分區表或索引的分區數

1,000

1,000

非索引列的統計資訊條數

30,000

30,000

每個 SELECT 語句的表個數

256

256

每個表的觸發器個數3

受資料庫中對象數限制

受資料庫中對象數限制

每個 UPDATE 語句(寬表)的列數

4096

4096

使用者串連

32,767

32,767

XML 索引

249

249

1網路資料包大小指的是用於在應用程式和關聯式資料庫引擎之間進行通訊的表格式資料流 (TDS) 資料包的大小。預設的資料包大小為 4 KB,由“網路資料包大小”配置選項控制。

2在 SQL Server 中,任何索引鍵的最大位元組數不能超過 900。可以使用最大大小合計超過 900 的可變長度列定義鍵,前提是這些列中所插入行的資料都不超過 900 位元組。在 SQL Server 中,可將非鍵列包含於非叢集索引中以避免最大索引鍵大小 900 位元組的限制。

3資料庫物件包括諸如表、視圖、預存程序、使用者定義函數、觸發器、規則、預設值和約束等對象。資料庫中所有對象的數量總和不能超過 2,147,483,647。

4儘管表可以包含無限數量的 FOREIGN KEY 約束,但建議最大數量取為 253。根據承載 SQL Server 的硬體設定,指定額外的 FOREIGN KEY 約束對查詢最佳化工具的處理而言可能開銷很大。

5此值針對靜態鎖分配。動態鎖僅受記憶體限制。

6如果預存程序訪問的資料庫多於 8 個,或者交替訪問的資料庫多於 2 個,將收到錯誤資訊。

7如果表包含一個或多個 XML 索引,由於 XML 列被添加到主 XML 索引的聚集鍵,使用者表的聚集鍵被限制為 15 列。在 SQL Server 中,可在非叢集索引中包括非鍵列以避免最多為 16 個鍵列的限制。有關詳細資料,請參閱具有內含資料行索引。

8 SQL Server 支援行溢出儲存,行溢出儲存使長度可變的列可以被推送到行外。只有 24 位元組的根儲存在推送出行外的可變長度列的主記錄中;因此,此版本中的有效行限制高於 SQL Server 早期版本中的有效行限制。有關詳細資料,請參閱 SQL Server 聯機叢書中的“資料列溢位資料超過 8 KB”主題。

 

 

下表指定了 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 中為 1024),但如果這些列的數目超過為發布類型指定的最大值,則必須從項目中篩選這些列。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.