Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
In dit artikel worden de maximumgrootten en het aantal verschillende objecten weergegeven dat is gedefinieerd in SQL Server 2016 (13.x) en hoger. Als u editielimieten wilt weergeven, raadpleegt u Limieten voor rekencapaciteit per editie van SQL Server.
Zie voor SQL Server 2014 (12.x) de maximale capaciteitsspecificaties voor SQL Server 2014.
Database Engine-objecten
Maximumwaarden van verschillende objecten die zijn gedefinieerd in SQL Server-databases of waarnaar wordt verwezen in Transact-SQL instructies.
| SQL Server Database Engine-object | Maximumwaarden voor SQL Server (64-bits) | Aanvullende informatie |
|---|---|---|
| Batchgrootte | 65.536 * (netwerkpakketgrootte) | De grootte van het netwerkpakket is de grootte van de TDS-pakketten (tabellaire gegevensstroom) die worden gebruikt om te communiceren tussen de relationele database-engine en toepassingen. De standaardgrootte van het pakket is 4 kB. De grootte van het netwerkpakket bepaalt deze configuratieoptie. |
| Bytelengte van een tekenreeks met Transact-SQL instructies (batchgrootte) | 65.536 * (netwerkpakketgrootte) | De grootte van het netwerkpakket is de grootte van de TDS-pakketten (tabellaire gegevensstroom) die worden gebruikt om te communiceren tussen de relationele database-engine en toepassingen. De standaardpakketgrootte is 4 kB en wordt beheerd door de configuratieoptie voor netwerkpakketten. |
| Bytes per korte tekenreekskolom | 8,000 | |
Bytes per GROUP BY, ORDER BY |
8,060 | |
| Bytes per indexsleutel | 900 bytes voor een geclusterde index. 1700 bytes voor een niet-geclusterde index. Voor SQL Server 2014 (12.x) en eerdere versies worden 900 bytes ondersteund voor alle indextypen. | Het maximum aantal bytes in een geclusterde indexsleutel mag niet groter zijn dan 900. Voor een niet-geclusterde indexsleutel is het maximum 1700 bytes. U kunt een sleutel definiëren met behulp van kolommen met een variabele lengte waarvan de maximale grootte meer is dan de limiet. De gecombineerde grootte van de gegevens in deze kolommen kan echter nooit de limiet overschrijden. In een niet-geclusterde index kunt u extra niet-sleutelkolommen opnemen en ze tellen niet mee aan de groottelimiet van de sleutel. Met de niet-sleutelkolommen kunnen sommige query's beter presteren. |
| Bytes per indexsleutel voor tabellen die zijn geoptimaliseerd voor geheugen | 2500 bytes voor een niet-geclusterde index. Geen limiet voor een hash-index, zolang alle indexsleutels in de rij passen. | In een tabel die is geoptimaliseerd voor geheugen, kan een niet-geclusterde index geen sleutelkolommen bevatten waarvan de maximale gedeclareerde grootte groter is dan 2500 bytes. Het maakt niet uit of de werkelijke gegevens in de sleutelkolommen korter zijn dan de maximale gedeclareerde grootten. Voor een hash-indexsleutel is er geen vaste limiet voor de grootte. Voor indexen in tabellen die zijn geoptimaliseerd voor geheugen, is er geen concept van opgenomen kolommen, omdat alle indexen inherent alle kolommen dekken. Voor een tabel die is geoptimaliseerd voor geheugen, hoewel de rijgrootte 8.060 bytes is, kunnen sommige kolommen met variabele lengte fysiek worden opgeslagen buiten die 8060 bytes. De maximale gedeclareerde grootte van alle sleutelkolommen voor alle indexen in een tabel, plus eventuele extra kolommen met een vaste lengte in de tabel, moeten echter in de 8060 bytes passen. |
| Bytes per refererende sleutel | 900 | |
| Bytes per primaire sleutel | 900 | |
| Bytes per rij | 8,060 | SQL Server biedt ondersteuning voor rij-overloopopslag, waardoor kolommen met variabele lengte buiten de rij kunnen worden gepusht. Er wordt slechts een hoofdmap van 24 bytes opgeslagen in de hoofdrecord voor kolommen met variabele lengte die uit de rij worden gepusht. Zie Ondersteuning voor grote rijen voor meer informatie. |
| Bytes per rij in tabellen die zijn geoptimaliseerd voor geheugen | 8,060 | Voor geheugen geoptimaliseerde tabellen in SQL Server 2016 (13.x) en hoger bieden ondersteuning voor opslag buiten rij. Kolommen met variabele lengte worden buiten de rij gepusht als de maximumgrootten voor alle kolommen in de tabel groter zijn dan 8060 bytes; deze actie is een beslissing over de compilatietijd. Er wordt slechts een verwijzing van 8 bytes opgeslagen in rij voor kolommen die buiten de rij zijn opgeslagen. Zie Tabel- en rijgrootte in tabellen die zijn geoptimaliseerd voor geheugen voor meer informatie. |
| Bytes in brontekst van een opgeslagen procedure | Minder batchgrootte of 250 MB | |
Bytes pervarchar(max), , , xml, of textimage kolom varbinary(max) |
2^31-1 | |
Tekens per ntext kolom nvarchar(max) |
2^30-1 | |
| Geclusterde indexen per tabel | 1 | |
Kolommen in GROUP BY, ORDER BY |
Alleen beperkt door het aantal bytes | |
Kolommen of expressies in een GROUP BY WITH CUBE of-instructie GROUP BY WITH ROLLUP |
10 | |
| Kolommen per indexsleutel | 32 | Als de tabel een of meer XML-indexen bevat, is de clustersleutel van de gebruikerstabel beperkt tot 31 kolommen omdat de XML-kolom wordt toegevoegd aan de clustersleutel van de primaire XML-index. U kunt niet-sleutelkolommen opnemen in een niet-geclusterde index om de beperking van maximaal 32 sleutelkolommen te voorkomen. Zie Indexen maken met opgenomen kolommen voor meer informatie. |
| Kolommen per refererende sleutel of primaire sleutel | 32 | |
Kolommen per INSERT instructie |
4,096 | |
Kolommen per SELECT instructie |
4,096 | |
| Kolommen per tabel | 1,024 | Tabellen met sparse-kolomsets bevatten maximaal 30.000 kolommen. Zie Kolomsets gebruiken. |
Kolommen per UPDATE instructie |
4,096 | Er gelden verschillende limieten voor het gebruik van kolomsets. |
| Kolommen per weergave | 1,024 | |
| Verbindingen per client | Maximumwaarde van geconfigureerde verbindingen | |
| Databasegrootte | 524.272 terabytes | |
| Databases per exemplaar van SQL Server | 32.767 | |
| Bestandsgroepen per database | 32.767 | |
| Bestandsgroepen per database voor gegevens die zijn geoptimaliseerd voor geheugen | 1 | |
| Bestanden per database | 32.767 | |
| Bestandsgrootte (gegevens) | 16 terabytes | |
| Bestandsgrootte (logboek) | 2 terabytes | |
| Gegevensbestanden voor gegevens die zijn geoptimaliseerd voor geheugen per database | 4.096 in SQL Server 2014 (12.x). De limiet is minder streng voor SQL Server 2016 (13.x) en hoger. | |
| Delta-bestand per gegevensbestand voor gegevens die zijn geoptimaliseerd voor geheugen | 1 | |
| Verwijzingen naar refererende sleuteltabellen per tabel | Uitgaand = 253. Inkomende = 10.000. |
Zie Refererende-sleutelrelaties maken voor beperkingen. |
| Id-lengte (in tekens) | 128 | |
| Exemplaren per computer | 50 exemplaren op een zelfstandige server. 25 exemplaren van failoverclusters wanneer u een gedeeld clusterstation als opslag gebruikt. 50 exemplaren van failoverclusters met SMB-bestandsshares als opslagoptie. |
|
| Indexen per tabel die is geoptimaliseerd voor geheugen | 999 vanaf SQL Server 2017 (14.x) en in Azure SQL Database. 8 in SQL Server 2016 (13.x) en SQL Server 2014 (12.x). |
|
| Vergrendelingen per verbinding | Maximum aantal vergrendelingen per server | |
| Vergrendelingen per exemplaar van SQL Server | Alleen beperkt door geheugen | Deze waarde is bedoeld voor de toewijzing van statische vergrendelingen. Dynamische vergrendelingen worden alleen beperkt door geheugen. |
| Geneste opgeslagen procedureniveaus | 32 | Als een opgeslagen procedure toegang heeft tot meer dan 64 databases of meer dan twee databases in interleaving, krijgt u een foutmelding. |
| Geneste subquery's | 32 | |
| Geneste transacties | 4,294,967,296 | |
| Geneste triggerniveaus | 32 | |
| Niet-geclusterde indexen per tabel | 999 | |
Aantal afzonderlijke expressies in de GROUP BY component wanneer een van de volgende aanwezig is: CUBE, ROLLUP, GROUPING SETS, WITH CUBEWITH ROLLUP |
32 | |
Aantal groeperingssets gegenereerd door operators in de GROUP BY component |
4,096 | |
| Parameters per opgeslagen procedure | 2,100 | |
| Parameters per door de gebruiker gedefinieerde functie | 2,100 | |
REFERENCES per tabel |
253 | |
| Rijen per tabel | Beperkt door beschikbare opslag | |
| Tabellen per database | Beperkt door het totale aantal objecten in een database | Objecten omvatten tabellen, weergaven, opgeslagen procedures, door de gebruiker gedefinieerde functies, triggers, regels, standaardinstellingen en beperkingen. De som van het aantal objecten in een database mag niet groter zijn dan 2.147.483.647. |
| Partities per gepartitioneerde tabel of index | 15,000 | |
| Statistieken over niet-geïndexeerde kolommen | 30,000 | |
Tabellen per SELECT instructie |
Alleen beperkt door beschikbare resources | |
| Triggers per tabel | Beperkt door het aantal objecten in een database | Objecten omvatten tabellen, weergaven, opgeslagen procedures, door de gebruiker gedefinieerde functies, triggers, regels, standaardinstellingen en beperkingen. De som van het aantal objecten in een database mag niet groter zijn dan 2.147.483.647. |
| Gebruikersverbindingen | 32.767 | |
| XML-indexen | 249 |
Toepassingsobjecten voor SQL Server-gegevenslaag
Maximumwaarden van verschillende objecten die zijn getest in de SQL Server-gegevenslaagtoepassingen (DAC).
| SQL Server DAC-object | Maximumwaarden voor SQL Server (64-bits) | Aanvullende informatie |
|---|---|---|
| Databases per DAC | 1 | |
| Objecten per DAC | Beperkt door het aantal objecten in een database of het beschikbare geheugen. | Typen objecten die in de limiet zijn opgenomen, zijn gebruikers, tabellen, weergaven, opgeslagen procedures, door de gebruiker gedefinieerde functies, door de gebruiker gedefinieerd gegevenstype, databaserollen, schema's en door de gebruiker gedefinieerde tabeltypen. |
Replicatieobjecten
Maximumwaarden van verschillende objecten die zijn gedefinieerd in SQL Server-replicatie.
| SQL Server-replicatieobject | Maximumwaarden voor SQL Server (64-bits) |
Aanvullende informatie |
|---|---|---|
| Artikelen (publicatie samenvoegen) | 2,048 | |
| Artikelen (momentopname of transactionele publicatie) | 32.767 | |
| Kolommen in een tabel (publicatie samenvoegen) | 246 | Als rijtracering wordt gebruikt voor conflictdetectie (de standaardinstelling), kan de basistabel maximaal 1024 kolommen bevatten. De publicatie moet het artikel echter filteren, zodat maximaal 246 kolommen worden gepubliceerd. Als kolomtracking wordt gebruikt, kan de basistabel maximaal 246 kolommen bevatten. |
| Kolommen in een tabel (SQL Server-momentopname of transactionele publicatie) | 1,000 | De basistabel kan het maximum aantal toegestane kolommen bevatten in de SQL Server-publicatiedatabase (1024), maar kolommen moeten worden gefilterd uit het artikel als ze het maximum overschrijden dat is opgegeven voor het publicatietype. |
| Kolommen in een tabel (Oracle-momentopname of transactionele publicatie) | 995 | De basistabel kan het maximum aantal toegestane kolommen bevatten in de SQL Server-publicatiedatabase (1024), maar kolommen moeten worden gefilterd uit het artikel als ze het maximum overschrijden dat is opgegeven voor het publicatietype. |
| Bytes voor een kolom die wordt gebruikt in een rijfilter (publicatie samenvoegen) | 1,024 | |
| Bytes voor een kolom die wordt gebruikt in een rijfilter (momentopname of transactionele publicatie) | 8,000 |