Во-первых, это не имена разделов, а имена групп файлов.И документация довольно ясно говорит об этом:
<partition_number_expression>
можно указать следующими способами:
• Укажите номер раздела, дляпример: WITH (PARTITIONS (2))
• Укажите номера разделов для нескольких отдельных разделов, разделенных запятыми, например: WITH (PARTITIONS (1, 5))
• Укажите и диапазоны, и отдельные разделы, например: WITH (PARTITIONS (2, 4, 6 TO 8))
• <range>
можно указать в качестве номеров разделов, разделенных словом TO, например: WITH (PARTITIONS (6 TO 8))
Вы можете найти номера разделов в файловой группе с помощью запроса, подобного этому:
SELECT p.partition_number
FROM sys.partitions p
INNER JOIN sys.indexes i ON i.object_id = p.object_id and i.index_id = p.index_id
INNER JOIN sys.data_spaces ds ON ds.data_space_id = i.data_space_id
INNER JOIN sys.filegroups AS fg ON fg.data_space_id = i.data_space_id
WHERE p.object_id = object_id('dbo.TempTable')
and gf.name = 'Part_20181201'
and p.index_id = 1 /* clustered index or 0 for heaps */
А затем создать динамический sql для усечения вашей таблицы.
Вот запрос, чтобы проверить, к какой группе файлов относится каждый номер раздела, расположенный для каждого объекта и индекса в вашембаза данных:
SELECT object_name(p.object_id) as ObjectName, p.index_id, p.partition_number, fg.name
FROM sys.partitions p
INNER JOIN sys.indexes i ON i.object_id = p.object_id and i.index_id = p.index_id
INNER JOIN sys.data_spaces ds ON ds.data_space_id = i.data_space_id
INNER JOIN sys.filegroups AS fg ON fg.data_space_id = i.data_space_id
order by ObjectName, p.index_id, p.partition_number, fg.name