Сколько параметров я могу передать функции SQL Server IN ()?
SELECT * FROM TABLE where ID IN ( 1,2,3,4,5,..,.,....)
Этот предел составляет 65,535 .
См. Раздел «Причины» ЗДЕСЬ .
Включение чрезвычайно большого числа значений (многие тысячи) в IN clause может потреблять ресурсы и возвращать ошибки 8623 или 8632. Чтобы обойти эту проблему, сохраните элементы в списке IN в таблице.
IN clause
Ошибка 8623: Процессору запросов не хватило внутренних ресурсов, и он не смог создать план запроса.Это редкое событие и ожидается только для чрезвычайно сложных запросов или запросов, которые ссылаются на очень большое количество таблиц или разделов.Пожалуйста, упростите запрос.Если вы считаете, что получили это сообщение по ошибке, обратитесь в службу поддержки клиентов для получения дополнительной информации. Ошибка 8632: Внутренняя ошибка: достигнут предел обслуживания выражений,Пожалуйста, поищите потенциально сложные выражения в вашем запросе и попытайтесь упростить их.
Ошибка 8623:
Процессору запросов не хватило внутренних ресурсов, и он не смог создать план запроса.Это редкое событие и ожидается только для чрезвычайно сложных запросов или запросов, которые ссылаются на очень большое количество таблиц или разделов.Пожалуйста, упростите запрос.Если вы считаете, что получили это сообщение по ошибке, обратитесь в службу поддержки клиентов для получения дополнительной информации.
Ошибка 8632:
Внутренняя ошибка: достигнут предел обслуживания выражений,Пожалуйста, поищите потенциально сложные выражения в вашем запросе и попытайтесь упростить их.
Согласно документации - "много тысяч".