Sdílet prostřednictvím


Maximální specifikace kapacity pro SQL Server

platí pro:SQL Server

Tento článek ukazuje maximální velikosti a počet různých objektů definovaných v SQL Serveru 2016 (13.x) a novějším. Pokud chcete zobrazit limity edice, podívejte se na omezení kapacity výpočetních prostředků podle edice SQL Serveru.

Informace o SQL Serveru 2014 (12.x) najdete v tématu Specifikace maximální kapacity pro SQL Server 2014.

Objekty databázového stroje

Maximální hodnoty různých objektů definovaných v databázích SQL Serveru nebo odkazované v příkazech Transact-SQL.

Objekt databázového stroje SQL Serveru Maximální hodnoty pro SQL Server (64bitová verze) Další informace
Velikost dávky 65 536 * (velikost síťového paketu) Velikost síťových paketů je velikost tabulkových datových proudů (TDS) používaných ke komunikaci mezi relačním databázovým strojem a aplikacemi. Výchozí velikost paketu je 4 kB. Tato možnost konfigurace řídí velikost síťového paketu.
Délka bajtu řetězce obsahujícího příkazy Transact-SQL (velikost dávky) 65 536 * (velikost síťového paketu) Velikost síťových paketů je velikost tabulkových datových proudů (TDS) používaných ke komunikaci mezi relačním databázovým strojem a aplikacemi. Výchozí velikost paketu je 4 kB a řídí se konfigurací velikosti síťových paketů.
Bajty za krátký sloupec řetězce 8 000
Bajty na jeden GROUP BY, ORDER BY 8,060
Bajty na klíč indexu 900 bajtů pro clusterovaný index. 1 700 bajtů pro neclusterovaný index Pro SQL Server 2014 (12.x) a starší verze podporují všechny verze 900 bajtů pro všechny typy indexů. Maximální počet bajtů v clusterovém indexovém klíči nesmí překročit 900. U neclusterovaného indexového klíče je maximum 1 700 bajtů.

Klíč můžete definovat pomocí sloupců s proměnlivou délkou, jejichž maximální velikost se sčítá až do limitu. Kombinované velikosti dat v těchto sloupcích však nemohou nikdy překročit limit.
V neclusterovaného indexu můžete zahrnout další sloupce bez klíče a nezapočítávají se do limitu velikosti klíče. Neklíčové sloupce můžou pomoct některým dotazům lépe fungovat.
Bajty na klíč indexu pro tabulky optimalizované pro paměť 2 500 bajtů pro neclusterovaný index Pro index hash není žádný limit, pokud se všechny klíče indexu vejdou do řádku. V tabulce optimalizované pro paměť nemůže mít neclusterovaný index klíčové sloupce, jejichž maximální deklarované velikosti překračují 2 500 bajtů. Nezáleží na tom, jestli by skutečná data v klíčových sloupcích byla kratší než maximální deklarovaná velikost.

Pro klíč indexu hash neexistuje žádný pevný limit velikosti.
U indexů v tabulkách optimalizovaných pro paměť neexistuje žádný koncept zahrnutých sloupců, protože všechny indexy ze své podstaty pokrývají všechny sloupce.
Pro tabulku optimalizovanou pro paměť, i když je velikost řádku 8 060 bajtů, mohou být některé sloupce s proměnlivou délkou fyzicky uloženy mimo těchto 8 060 bajtů. Maximální deklarované velikosti všech klíčových sloupců pro všechny indexy v tabulce a všechny další sloupce s pevnou délkou v tabulce ale musí odpovídat 8 060 bajtům.
Bajty na cizí klíč 900
Bajty na primární klíč 900
Bajty na řádek 8,060 SQL Server podporuje úložiště přetečení řádků, které umožňuje posun sloupců s proměnlivou délkou mimo řádek. V hlavním záznamu se ukládá pouze kořen 24 bajtů pro sloupce s proměnlivou délkou vysunutou mimo řádek. Další informace naleznete v tématu Podpora velkých řádků.
Bajty na řádek v tabulkách optimalizovaných pro paměť 8,060 Tabulky optimalizované pro paměť v SQL Serveru 2016 (13.x) a novější podporují úložiště mimo řádky. Sloupce s proměnlivou délkou jsou posunuty mimo řádek, pokud maximální velikosti všech sloupců v tabulce překročí 8 060 bajtů; tato akce je rozhodnutí o kompilaci. Ve sloupcích uložených mimo řádek se ukládá jenom 8bajtů. Další informace najdete v tématu Velikost tabulky a řádku v tabulkách optimalizovaných pro paměť.
Bajty ve zdrojovém textu uložené procedury Menší velikost dávky nebo 250 MB
Bajty na varchar(max), varbinary(max), xml, text, nebo image sloupec 2^31-1
Znaky na ntext sloupec nvarchar(max) 2^30-1
Clusterované indexy na tabulku 1
Sloupce v GROUP BY: ORDER BY Omezeno pouze počtem bajtů
Sloupce nebo výrazy v GROUP BY WITH CUBE příkazu nebo GROUP BY WITH ROLLUP příkazu 10
Sloupce na klíč indexu 32 Pokud tabulka obsahuje jeden nebo více indexů XML, clusteringový klíč tabulky uživatele je omezen na 31 sloupců, protože sloupec XML se přidá do clusteringového klíče primárního indexu XML. Do neclusterovaného indexu můžete zahrnout sloupce bez klíče, abyste se vyhnuli omezení maximálně 32 klíčových sloupců. Další informace najdete v tématu Vytváření indexů se zahrnutými sloupci.
Sloupce na cizí klíč nebo primární klíč 32
Sloupce na INSERT příkaz 4,096
Sloupce na SELECT příkaz 4,096
Sloupce na tabulku 1,024 Tabulky, které obsahují řídké sady sloupců, obsahují až 30 000 sloupců. Viz Použití sad sloupců.
Sloupce na UPDATE příkaz 4,096 Pro použití sad sloupců platí různá omezení.
Sloupce na zobrazení 1,024
Připojení na klienta Maximální hodnota nakonfigurovaných připojení
Velikost databáze 524 272 terabajtů
Databáze na instanci SQL Serveru 32 767
Skupiny souborů na databázi 32 767
Seskupení souborů na databázi pro data optimalizovaná pro paměť 1
Soubory na databázi 32 767
Velikost souboru (data) 16 terabajtů
Velikost souboru (protokol) 2 terabajty
Datové soubory pro data optimalizovaná pro paměť na databázi 4 096 v SQL Serveru 2014 (12.x). Omezení je méně přísné na SQL Server 2016 (13.x) a novější.
Rozdílový soubor na datový soubor pro data optimalizovaná pro paměť 1
Odkazy na tabulku cizích klíčů na tabulku Odchozí = 253.
Příchozí = 10 000.
Omezení najdete v tématu Vytváření relací cizích klíčů.
Délka identifikátoru (ve znaznachu) 128
Instance na počítač 50 instancí na samostatném serveru.

25 instancí clusteru s podporou převzetí služeb při selhání při použití sdílené jednotky clusteru jako úložiště
Jako možnost úložiště je 50 instancí clusteru s podporou převzetí služeb při selhání se sdílenými složkami SMB.
Indexy na tabulku optimalizovanou pro paměť 999 od SQL Serveru 2017 (14.x) a ve službě Azure SQL Database.

8 v SQL Serveru 2016 (13.x) a SQL Serveru 2014 (12.x).
Zámky na připojení Maximální počet zámků na server
Zámky na instanci SQL Serveru Omezeno pouze pamětí Tato hodnota je určená pro přidělení statického zámku. Dynamické zámky jsou omezené pouze pamětí.
Úrovně vnořených uložených procedur 32 Pokud uložená procedura přistupuje k více než 64 databázím nebo více než dvěma databázím při prokládání, zobrazí se chyba.
Vnořené poddotazy 32
Vnořené transakce 4,294,967,296
Vnořené úrovně aktivačních událostí 32
Neclusterované indexy na tabulku 999
Počet jedinečných výrazů v GROUP BY klauzuli, pokud existují některé z následujících výrazů: CUBE, ROLLUP, GROUPING SETS, , WITH CUBEWITH ROLLUP 32
Počet sad seskupení generovaných operátory v klauzuli GROUP BY 4,096
Parametry na uloženou proceduru 2,100
Parametry na uživatelem definovanou funkci 2,100
REFERENCES na tabulku 253
Řádky na tabulku Omezené dostupným úložištěm
Tabulky na databázi Omezeno celkovým počtem objektů v databázi Mezi objekty patří tabulky, zobrazení, uložené procedury, uživatelem definované funkce, triggery, pravidla, výchozí hodnoty a omezení. Součet počtu všech objektů v databázi nesmí překročit 2 147 483 647.
Oddíly na dělenou tabulku nebo index 15,000
Statistiky neindexovaných sloupců 30,000
Tabulky na SELECT příkaz Omezeno pouze dostupnými prostředky
Triggery na tabulku Omezeno počtem objektů v databázi Mezi objekty patří tabulky, zobrazení, uložené procedury, uživatelem definované funkce, triggery, pravidla, výchozí hodnoty a omezení. Součet počtu všech objektů v databázi nesmí překročit 2 147 483 647.
Uživatelská připojení 32 767
Indexy XML 249

Objekty aplikace datové vrstvy SQL Serveru

Maximální hodnoty různých objektů testovaných v aplikacích datové vrstvy SQL Serveru (DAC).

Objekt DAC SQL Serveru Maximální hodnoty pro SQL Server (64bitová verze) Další informace
Databáze na DAC 1
Objekty na DAC Omezeno počtem objektů v databázi nebo dostupnou pamětí. Typy objektů zahrnutých v limitu jsou uživatelé, tabulky, zobrazení, uložené procedury, uživatelem definované funkce, uživatelem definovaný datový typ, databázové role, schémata a typy tabulek definované uživatelem.

Objekty replikace

Maximální hodnoty různých objektů definovaných v replikaci SQL Serveru

Objekt replikace SQL Serveru Maximální hodnoty pro SQL Server
(64bitová verze)
Další informace
Články (slučovací publikace) 2,048
Články (snímek nebo transakční publikace) 32 767
Sloupce v tabulce (sloučení publikace) 246 Pokud se pro detekci konfliktů používá sledování řádků (výchozí nastavení), může základní tabulka obsahovat maximálně 1 024 sloupců. Publikace ale musí filtrovat článek tak, aby se publikovalo maximálně 246 sloupců. Pokud se použije sledování sloupců, může základní tabulka obsahovat maximálně 246 sloupců.
Sloupce v tabulce (snímek SQL Serveru nebo transakční publikace) 1 000 Základní tabulka může obsahovat maximální povolený počet sloupců v databázi publikace SQL Serveru (1 024), ale sloupce musí být filtrovány z článku, pokud překročí maximální hodnotu určenou pro typ publikace.
Sloupce v tabulce (snímek Oracle nebo transakční publikace) 995 Základní tabulka může obsahovat maximální povolený počet sloupců v databázi publikace SQL Serveru (1 024), ale sloupce musí být filtrovány z článku, pokud překročí maximální hodnotu určenou pro typ publikace.
Bajty pro sloupec použitý ve filtru řádků (sloučení publikace) 1,024
Bajty pro sloupec použitý ve filtru řádků (snímek nebo transakční publikace) 8 000