Задание максимальной вместимости SQL Server
В следующих таблицах приведены максимальные размеры и количества для различных объектов, определяемых в компонентах SQL Server.
Объекты компонента Database Engine
В следующей таблице приводятся максимальные размеры и количества различных объектов, определяемых в базах данных SQL Server или ссылающихся на них Transact-SQL инструкциях.
Объект компонента SQL Server Database Engine |
Максимальные размеры и количества для 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 МБ |
Меньше размера пакета или 250 МБ |
Байтов на столбец 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 |
Столбцов на ключ индекса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 ТБ |
524 272 ТБ |
Баз данных на один экземпляр SQL Server |
32,767 |
32,767 |
Файловых групп на одну базу данных |
32,767 |
32,767 |
Файлов на одну базу данных |
32,767 |
32,767 |
Размер файла (данные) |
16 ТБ |
16 ТБ |
Размер файла (журнал) |
2 ТБ |
2 ТБ |
Ссылок на таблицы внешнего ключа для таблицы4 |
253 |
253 |
Длина идентификатора (в символах) |
128 |
128 |
Экземпляров на один компьютер |
50 экземпляров на изолированном сервере для всех выпусков SQL Server, кроме Workgroup. Выпуск Workgroup поддерживает не более 16 экземпляров на одном компьютере. SQL Server поддерживает 25 экземпляров в отказоустойчивом кластере. |
50 экземпляров на отдельном сервере. 25 экземпляров на отказоустойчивом кластере. |
Длина строки, содержащей инструкции SQL (размер пакета)1 |
65 536 * размер сетевого пакета |
65 536 * размер сетевого пакета |
Блокировок на соединение |
Максимальное число блокировок на сервер |
Максимальное число блокировок на сервер |
Блокировок на экземпляр SQL Server5 |
до 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 |
REFERENCES на таблицу |
253 |
253 |
Строк на таблицу |
Ограничено доступной памятью |
Ограничено доступной памятью |
Таблиц на одну базу данных3 |
Ограничено числом объектов в базе данных |
Ограничено числом объектов в базе данных |
Секций на секционированную таблицу или индекс |
1,000 |
1,000 |
Статистических показателей неиндексированных столбцов |
30,000 |
30,000 |
Таблиц на инструкцию SELECT |
Ограничивается только доступными ресурсами |
Ограничивается только доступными ресурсами |
Триггеров на таблицу3 |
Ограничено числом объектов в базе данных |
Ограничено числом объектов в базе данных |
Столбцов на инструкцию UPDATE (широкие таблицы) |
4096 |
4096 |
Соединения пользователей |
32,767 |
32,767 |
XML-индексов |
249 |
249 |
1 Размер сетевого пакета — это размер пакетов потока табличных данных (TDS), которые используются для связи между приложениями и компонентом Database Engine. По умолчанию, он равен 4 КБ, и его управление осуществляется с помощью параметра конфигурации network packet size.
2 Максимальное число байт в любом ключе индекса не может превышать 900 в SQL Server. Можно определить ключ, использующий столбцы переменной длины, максимальная длина которых может превышать 900 байт при условии, что в эти столбцы не будут вставляться строки объемом более 900 байт данных. В SQL Server в некластеризованный индекс можно включать неключевые столбцы, чтобы избежать ограничения максимального размера индексного ключа, равного 900 байт.
3 Объекты базы данных включают такие объекты, как таблицы, представления, хранимые процедуры, пользовательские функции, триггеры, правила, значения по умолчанию и ограничения. Суммарное число всех объектов в базе данных не может превышать 2 147 483 647.
4Хотя таблица может содержать неограниченное число ограничений FOREIGN KEY, рекомендуемый максимум равен 253. В зависимости от конфигурации оборудования, на котором установлен SQL Server, определение дополнительных ограничений FOREIGN KEY может потребовать слишком много ресурсов для обработки, с точки зрения оптимизатора запросов.
5 Это значение относится только к статическим блокировкам. Количество динамических блокировок ограничивается только объемом памяти.
6 Если хранимая процедура обращается больше чем к 8 базам данных или более чем к двум базам в режиме чередования, может возникнуть ошибка.
7 Если в таблице имеется один или несколько индексов XML, ключ кластеризации пользовательской таблицы ограничивается 15 столбцами, потому что XML-столбец добавляется к ключу кластеризации первичного XML-индекса. В SQL Server в некластеризованный индекс можно включать неключевые столбцы, чтобы избежать ограничения максимального количества ключевых столбцов, равного 16. Дополнительные сведения см. в разделе Индекс с включенными столбцами.
8SQL Server поддерживает хранение при переполнении строк, что позволяет столбцам переменной длины превышать максимальную длину строки. Для столбцов переменной длины, выходящих за границу строки, в главной записи хранится только корень длиной 24-байта. Поэтому фактический предел длины выше, чем в предыдущих версиях SQL Server. Дополнительные сведения см. в разделе «Превышающие размер страницы данные строки более 8 КБ» электронной документации по SQL Server.
Объекты репликации
В следующей таблице приведены максимальные размеры и количества для различных объектов, определяемых в компонентах репликации 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. Базовая таблица может включать максимальное количество столбцов, разрешенное в базе данных публикации (1 024 для SQL Server), но столбцы должны быть отфильтрованы из статей, если они превышают максимальное количество, заданное для данного типа публикации.