Спецификации максимально допустимых параметров SQL ServerMaximum Capacity Specifications for SQL Server

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

В следующих таблицах приведены максимальные размеры и количество для различных объектов, определяемых в компонентах SQL ServerSQL Server .The following tables specify maximum sizes and numbers of various objects defined in SQL ServerSQL Server components. Чтобы перейти к таблице, относящейся к технологии SQL ServerSQL Server , щелкните ссылку на нее:To navigate to the table for a SQL ServerSQL Server technology, click on its link:

Объекты компонента SQL Server Database EngineSQL Server Database Engine Objects

Объекты программы SQL ServerSQL Server Utility Objects

Объекты приложений на уровне данных SQL ServerSQL Server Data-tier Application Objects

Объекты репликации SQL ServerSQL Server Replication Objects

Компонент Database EngineDatabase Engine ОбъектыКомпонент Database EngineDatabase Engine Objects

Максимальные размеры и количество различных объектов, определяемых в базах данных SQL ServerSQL Server или ссылающихся на них Transact-SQLTransact-SQL инструкциях.Maximum sizes and numbers of various objects defined in SQL ServerSQL Server databases or referenced in Transact-SQLTransact-SQL statements.

SQL ServerSQL Server Компонент Database EngineDatabase Engine объектКомпонент Database EngineDatabase Engine object Максимальный размер или количество SQL ServerSQL Server (64-разрядная версия)Maximum sizes/numbers SQL ServerSQL Server (64-bit) Дополнительные сведенияAdditional Information
Размер пакетаBatch size 65 536 * размер сетевого пакета65,536 * Network Packet Size Размер сетевого пакета — это размер пакетов потока табличных данных (TDS), которые используются для связи между приложениями и компонентом Компонент Database EngineDatabase Engine.Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Компонент Database EngineDatabase Engine. По умолчанию размер пакета равен 4 КБ, а его настройка осуществляется с помощью параметра конфигурации network packet size.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Байтов на столбец с короткой строкойBytes per short string column 80008,000
Байтов на GROUP BY, ORDER BYBytes per GROUP BY, ORDER BY 80608,060
Байтов на ключ индексаBytes per index key 900 байтов для кластеризованного индекса.900 bytes for a clustered index. 1700 для некластеризованного индекса.1,700 for a nonclustered index. Максимальное число байтов в любом ключе индекса не может превышать 900 в SQL ServerSQL Server.The maximum number of bytes in a clustered index key cannot exceed 900 in SQL ServerSQL Server. Для ключа некластеризованного индекса максимум составляет 1700 байт.For a nonclustered index key, the maximum is 1700 bytes.

Можно определить ключ, использующий столбцы переменной длины, максимальная длина которых превышает лимит.You can define a key using variable-length columns whose maximum sizes add up to more than the limit. При этом совокупные размеры данных в этих столбцах ни в коем случае не могут превышать лимит.However, the combined sizes of the data in those columns can never exceed the limit.

В некластеризованный индекс можно включать дополнительные неключевые столбцы — при расчете предельного размера ключа они не учитываются.In a nonclustered index, you can include extra non-key columns, and they do not count against the size limit of the key. Неключевые столбцы могут помочь в выполнении некоторых запросов.The non-key columns might help some queries perform better.
Байт на ключ индекса в оптимизированных для памяти таблицахBytes per index key for memory-optimized tables 2500 байт для некластеризованного индекса.2500 bytes for a nonclustered index. Пока все ключи индекса входят в строку, хэш-индекс не ограничивается.No limit for a hash index, as long as all index keys fit in-row. В таблице, оптимизированной для памяти, некластеризованный индекс не может иметь ключевые столбцы, максимальные заявленные размеры которых не превышают 2500 байт.On a memory-optimized table, a nonclustered index cannot have key columns whose maximum declared sizes exceed 2500 bytes. Соотношение размера фактических данных в столбцах ключей и максимальных заявленных размеров несущественно.It is irrelevant whether the actual data in the key columns would be shorter than the maximum declared sizes.

Размер ключа для хэш-индекса не ограничивается.For a hash index key there is no hard limit on size.

Для индексов в таблицах, оптимизированных для памяти, понятие включенных столбцов не используется, поскольку все индексы по определению охватывают все столбцы.For indexes on memory-optimized tables, there is no concept of included columns, since all indexes inherently cover of all columns.

Несмотря на то, что размер строки для таблиц, оптимизированных для памяти, составляет 8060 байт, размер некоторых столбцов переменной длины, хранящихся вне таблицы, может превышать 8060 байт.For a memory-optimized table, even though the row size is 8060 bytes, some variable-length columns can be physically stored outside those 8060 bytes. Тем не менее объявленные максимальные размеры всех ключевых столбцов для всех индексов в таблице в сумме с фиксированной длиной добавленных в эту таблицу столбцов должны соответствовать ограничению в 8060 байт.However, the maximum declared sizes of all key columns for all indexes on a table, plus any additional fixed-length columns in the table, must fit in the 8060 bytes.
Байтов на внешний ключBytes per foreign key 900900
Байтов на первичный ключBytes per primary key 900900
Байтов на строкуBytes per row 80608,060 SQL ServerSQL Server поддерживает хранение при переполнении строк, что позволяет столбцам переменной длины превышать максимальную длину строки.supports row-overflow storage which enables variable length columns to be pushed off-row. Для столбцов переменной длины, выходящих за границу строки, в главной записи хранится только корень длиной 24-байта. Поэтому фактический предел длины выше, чем в предыдущих версиях SQL ServerSQL Server.Only a 24-byte root is stored in the main record for variable length columns pushed out of row; because of this, the effective row limit is higher than in previous releases of SQL ServerSQL Server. Дополнительные сведения о поддержке см. в разделе Поддержка больших строк.For more information, see Large Row Support.
Байтов на строку в оптимизированных для памяти таблицахBytes per row in memory-optimized tables 80608,060 Начиная с SQL Server 2016 (13.x)SQL Server 2016 (13.x) , таблицы, оптимизированные для памяти, поддерживают хранение данных вне строки.Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) memory-optimized tables support off-row storage. Столбцы переменной длины вытесняются за пределы строки, если максимальные размеры всех столбцов в таблице превышают 8060 байт; это решение используется во время компиляции.Variable length columns are pushed off-row if the maximum sizes for all the columns in the table exceeds 8060 bytes; this is a compile-time decision. Для столбцов, которые хранятся вне строки, в строке сохраняются только 8-байтовые ссылки.Only an 8-byte reference is stored in-row for columns stored off-row. Дополнительные сведения см. в статье Размер строк и таблицы для таблиц, оптимизированных для памяти.For more information, see Table and Row Size in Memory-Optimized Tables.
Байтов в исходном тексте хранимой процедурыBytes in source text of a stored procedure Меньше размера пакета или 250 МБLesser of batch size or 250 MB
Байт на столбец varchar(max) , varbinary(max) , xml, textили imageBytes per varchar(max), varbinary(max), xml, text, or image column 2^31-12^31-1
Символов на столбец ntext или nvarchar(max)Characters per ntext or nvarchar(max) column 2^30-12^30-1
Количество кластеризованных индексов в таблицеClustered indexes per table 11
Столбцов на GROUP BY, ORDER BYColumns in GROUP BY, ORDER BY Ограничивается только числом байтовLimited only by number of bytes
Столбцов или выражений в инструкции GROUP BY WITH CUBE или WITH ROLLUPColumns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement 1010
Столбцов на ключ индексаColumns per index key 3232 Если в таблице имеется один или несколько индексов XML, ключ кластеризации пользовательской таблицы ограничивается 31 столбцом, потому что XML-столбец добавляется к ключу кластеризации первичного XML-индекса.If the table contains one or more XML indexes, the clustering key of the user table is limited to 31 columns because the XML column is added to the clustering key of the primary XML index. SQL ServerSQL Serverпозволяет включать в некластеризованный индекс неключевые столбцы, чтобы избежать ограничения максимального количества ключевых столбцов, равного 32.In SQL ServerSQL Server, you can include nonkey columns in a nonclustered index to avoid the limitation of a maximum of 32 key columns. Дополнительные сведения см. в статье Create Indexes with Included Columns.For more information, see Create Indexes with Included Columns.
Столбцов на внешний или первичный ключColumns per foreign key or primary key 3232
Столбцов на инструкцию INSERTColumns per INSERT statement 40964,096
Столбцов на инструкцию SELECTColumns per SELECT statement 40964,096
Столбцов на таблицуColumns per table 10241,024 Таблицы с наборами разреженных столбцов содержат до 30 000 столбцов.Tables that include sparse column sets include up to 30,000 columns. См. раздел Наборы разреженных столбцов.See sparse column sets.
Столбцов на инструкцию UPDATEColumns per UPDATE statement 40964,096 К наборам разреженных столбцов применяются различные ограничения.Different limits apply to sparse column sets.
Столбцов на представлениеColumns per view 10241,024
Соединений на одного клиентаConnections per client Максимальное значение настроенных соединенийMaximum value of configured connections
Размер базы данныхDatabase size 524 272 ТБ524,272 terabytes
Баз данных на один экземпляр SQL ServerSQL ServerDatabases per instance of SQL ServerSQL Server 32 76732,767
Файловых групп на одну базу данныхFilegroups per database 32 76732,767
Файловые группы на базу данных для данных, оптимизированных для памятиFilegroups per database for memory-optimized data 11
Файлов на одну базу данныхFiles per database 32 76732,767
Размер файла (данные)File size (data) 16 ТБ16 terabytes
Размер файла (журнал)File size (log) 2 ТБ2 terabytes
Файлы данных для оптимизированных для памяти данных на одну базу данныхData files for memory-optimized data per database 4 096 в SQL Server 2014 (12.x)SQL Server 2014 (12.x).4,096 in SQL Server 2014 (12.x)SQL Server 2014 (12.x). Более поздние версии SQL ServerSQL Server не налагают подобное строгое ограничение.Later versions of SQL ServerSQL Server do not impose such a strict limit.
Разностный файл на файл данных для данных, оптимизированных для памятиDelta file per data file for memory-optimized data 11
Ссылок на таблицы внешнего ключа для таблицыForeign key table references per table Исходящие = 253.Outgoing = 253. Входящие = 10 000.Incoming = 10,000. Ограничения см. в разделе Create Foreign Key Relationships.For restrictions, see Create Foreign Key Relationships.
Длина идентификатора (в символах)Identifier length (in characters) 128128
Экземпляров на один компьютерInstances per computer 50 экземпляров на отдельном сервере.50 instances on a stand-alone server.

25 экземпляров в отказоустойчивом кластере при использовании общего диска кластера в качестве места хранения для кластерной установки. SQL ServerSQL Server поддерживает 50 экземпляров в отказоустойчивом кластере, если выбрать общие папки SMB в качестве места хранения для кластерной установки.25 instances on a failover cluster when using a shared cluster disk as the stored option for you cluster installation SQL ServerSQL Server supports 50 instances on a failover cluster if you choose SMB file shares as the storage option for your cluster installation.
Индексы на оптимизированную для памяти таблицуIndexes per memory-optimized table 999 начиная с SQL Server 2017 (14.x)SQL Server 2017 (14.x) и в База данных SQL AzureAzure SQL Database999 starting SQL Server 2017 (14.x)SQL Server 2017 (14.x) and in База данных SQL AzureAzure SQL Database
8 в SQL Server 2014 (12.x)SQL Server 2014 (12.x) и SQL Server 2016 (13.x)SQL Server 2016 (13.x)8 in SQL Server 2014 (12.x)SQL Server 2014 (12.x) and SQL Server 2016 (13.x)SQL Server 2016 (13.x)
Длина строки, содержащей инструкции SQL (размер пакета)Length of a string containing SQL statements (batch size) 65 536 * размер сетевого пакета65,536 * Network packet size Размер сетевого пакета — это размер пакетов потока табличных данных (TDS), которые используются для связи между приложениями и компонентом Компонент Database EngineDatabase Engine.Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Компонент Database EngineDatabase Engine. По умолчанию размер пакета равен 4 КБ, а его настройка осуществляется с помощью параметра конфигурации network packet size.The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Блокировок на соединениеLocks per connection Максимальное число блокировок на серверMaximum locks per server
Блокировок на экземпляр SQL ServerSQL ServerLocks per instance of SQL ServerSQL Server Ограничено только объемом памятиLimited only by memory Это значение относится только к статическим блокировкам.This value is for static lock allocation. Количество динамических блокировок ограничивается только объемом памяти.Dynamic locks are limited only by memory.
Уровней вложенных хранимых процедурNested stored procedure levels 3232 Если хранимая процедура обращается больше чем к 64 базам данных или более чем к двум базам в режиме чередования, может возникнуть ошибка.If a stored procedure accesses more than 64 databases, or more than 2 databases in interleaving, you will receive an error.
Вложенных запросовNested subqueries 3232
Вложенных транзакцийNested transactions 4 294 967 2964,294,967,296
Уровней вложенных триггеровNested trigger levels 3232
Количество некластеризованных индексов на одну таблицуNonclustered indexes per table 999999
Количество уникальных выражений в предложении GROUP BY, если присутствует одна из следующих конструкций: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUPNumber of distinct expressions in the GROUP BY clause when any of the following are present: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP 3232
Количество группирующих наборов, сформированных операторами в предложении GROUP BYNumber of grouping sets generated by operators in the GROUP BY clause 40964,096
Параметров на одну хранимую процедуруParameters per stored procedure 21002,100
Параметров на одну определяемую пользователем функциюParameters per user-defined function 21002,100
REFERENCES на таблицуREFERENCES per table 253253
Строк на таблицуRows per table Ограничено доступной памятьюLimited by available storage
Таблиц на одну базу данныхTables per database Ограничено числом объектов в базе данныхLimited by number of objects in a database Объекты базы данных включают такие объекты, как таблицы, представления, хранимые процедуры, пользовательские функции, триггеры, правила, значения по умолчанию и ограничения.Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. Суммарное число всех объектов в базе данных не может превышать 2 147 483 647.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Секций на секционированную таблицу или индексPartitions per partitioned table or index 15 00015,000
Статистических показателей неиндексированных столбцовStatistics on non-indexed columns 30 00030,000
Таблиц на инструкцию SELECTTables per SELECT statement Ограничивается только доступными ресурсамиLimited only by available resources
Триггеров на таблицуTriggers per table Ограничено числом объектов в базе данныхLimited by number of objects in a database Объекты базы данных включают такие объекты, как таблицы, представления, хранимые процедуры, пользовательские функции, триггеры, правила, значения по умолчанию и ограничения.Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. Суммарное число всех объектов в базе данных не может превышать 2 147 483 647.The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Соединения пользователейUser connections 32 76732,767
XML-индексыXML indexes 249249

SQL ServerSQL Server Объекты программыSQL ServerSQL Server Utility Objects

Максимальные размеры и количество для различных объектов, которые были проверены в служебной программе SQL ServerSQL Server .Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server Utility.

SQL ServerSQL Server Объект программыUtility object Максимальный размер или количество SQL ServerSQL Server (64-разрядная версия)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Компьютеры (физические или виртуальные машины) в расчете на одну программу SQL ServerSQL ServerComputers (physical computers or virtual machines) per SQL ServerSQL Server Utility 100100
Экземпляров SQL ServerSQL Server на компьютерInstances of SQL ServerSQL Server per computer 55
Общее число экземпляров SQL ServerSQL Server на одну служебную программу SQL ServerSQL ServerTotal number of instances of SQL ServerSQL Server per SQL ServerSQL Server Utility 200*200*
Пользовательских баз данных на экземпляр SQL ServerSQL Server, включая приложения на уровне данныхUser databases per instance of SQL ServerSQL Server, including data-tier applications 5050
Общее число пользовательских баз данных на одну служебную программу SQL ServerSQL ServerTotal number of user databases per SQL ServerSQL Server Utility 10001,000
Файловых групп на одну базу данныхFile groups per database 11
Файлов данных на одну файловую группуData files per file group 11
Файлов журналов на одну базу данныхLog files per database 11
Томов на компьютерVolumes per computer 33

* Максимальное число управляемых экземпляров SQL ServerSQL Server , поддерживаемых служебной программой SQL ServerSQL Server , может меняться в зависимости от конфигурации оборудования сервера.*The maximum number of managed instances of SQL ServerSQL Server supported by SQL ServerSQL Server Utility may vary based on the hardware configuration of the server. Дополнительные сведения о начале работы см. в разделе Функции и задачи служебной программы SQL Server.For getting started information, see SQL Server Utility Features and Tasks. SQL ServerSQL Server доступна не во всех выпусках SQL ServerSQL Server.Utility control point is not available in every edition of SQL ServerSQL Server. Сведения о функциях, поддерживаемых различными выпусками SQL ServerSQL Server, см. в статье Возможности, поддерживаемые выпусками SQL Server 2016.For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

SQL ServerSQL Server Объекты приложений уровня данныхSQL ServerSQL Server Data-tier Application Objects

Максимальные размеры и количество различных объектов, которые были протестированы в приложениях уровня данных SQL ServerSQL Server .Maximum sizes and numbers of various objects that were tested in the SQL ServerSQL Server data-tier applications (DAC).

SQL ServerSQL Server Объект приложения уровня данныхDAC object Максимальный размер или количество SQL ServerSQL Server (64-разрядная версия)Maximum sizes/numbers SQL ServerSQL Server (64-bit)
Баз данных на DACDatabases per DAC 11
Объектов на приложение уровня данных*Objects per DAC* Ограничено числом объектов в базе данных или доступной памятью.Limited by the number of objects in a database, or available memory.

*Типы объектов, включенные в ограничения — пользователи, таблицы, представления, хранимые процедуры, определяемые пользователем функции, определяемые пользователем типы данных, роли баз данных, схемы и определяемые пользователем табличные типы.*The types of objects included in the limit are users, tables, views, stored procedures, user-defined functions, user-defined data type, database roles, schemas, and user-defined table types.

Объекты репликацииReplication Objects

Максимальные размеры и количества для различных объектов, определяемых в компонентах репликации SQL ServerSQL Server .Maximum sizes and numbers of various objects defined in SQL ServerSQL Server Replication.

SQL ServerSQL Server Объект ReplicationReplication object Максимальные размеры и количества для SQL Server (64-разрядная версия)Maximum sizes/numbers SQL Server (64-bit)
Статей (публикация слиянием)Articles (merge publication) 20482048
Статей (моментальный снимок или публикация транзакций)Articles (snapshot or transactional publication) 32 76732,767
Столбцов в таблице* (публикация слиянием)Columns in a table* (merge publication) 246246
Столбцов в таблице** (моментальный снимок или публикация транзакцийSQL ServerSQL Server )Columns in a table** (SQL ServerSQL Server snapshot or transactional publication) 10001,000
Столбцов в таблице** (моментальный снимок или публикация транзакций Oracle)Columns in a table** (Oracle snapshot or transactional publication) 995995
Байтов на столбец, используемый в фильтре строк (публикация слиянием)Bytes for a column used in a row filter (merge publication) 10241,024
Байтов на столбец, используемый в фильтре строк (моментальный снимок или публикация транзакций)Bytes for a column used in a row filter (snapshot or transactional publication) 80008,000

*Если для обнаружения конфликтов применяется трассировка на уровне строк (по умолчанию), базовая таблица может содержать не более 1024 столбцов, но столбцы из статьи должны быть отфильтрованы, поэтому публикуется не более 246 столбцов.*If row tracking is used for conflict detection (the default), the base table can include a maximum of 1,024 columns, but columns must be filtered from the article so that a maximum of 246 columns is published. Если применяется трассировка на уровне столбцов, базовая таблица может содержать не более 246 столбцов.If column tracking is used, the base table can include a maximum of 246 columns.

** Базовая таблица может включать максимальное количество столбцов, разрешенное в базе данных публикации (1024 для SQL ServerSQL Server), но столбцы должны быть отфильтрованы из статьи, если они превышают максимальное количество, заданное для данного типа публикации.**The base table can include the maximum number of columns allowable in the publication database (1,024 for SQL ServerSQL Server), but columns must be filtered from the article if they exceed the maximum specified for the publication type.

См. также:See Also

Требования к оборудованию и программному обеспечению для установки SQL Server 2016 Hardware and Software Requirements for Installing SQL Server 2016
Параметры для средства проверки конфигурации системы Check Parameters for the System Configuration Checker
Функции и задачи служебной программы SQL ServerSQL Server Utility Features and Tasks