У меня есть одна таблица, которая потребляет 13 миллионов записей (в будущем данные увеличатся), что составляет около 2,5 ГБ. Кроме того, эта таблица не является временной таблицей.Когда мы пытаемся повернуть таблицу SQL, вы получите результат, как показано ниже:
Сообщение 1105, Уровень 17, Состояние 2, Строка 56
Не удалось выделить место для объекта 'dbo.WORKFILE GROUP большая записьпереполнение хранилища: 140761897762816 'в базе данных' tempdb ', поскольку файловая группа' PRIMARY 'заполнена.Создайте место на диске, удалив ненужные файлы, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или установив автоматический рост для существующих файлов в файловой группе
Кроме того, для поворота требуется слишком много времени.(более 28 часов) на этом сервере SQL больше не выполняется никакая другая задача.
у нас есть общая физическая память 16 ГБ на машине из 16 ГБ, 12 ГБ выделено для сервера SQL.эта машина имеет 4 ядра.Всего имеется 4 группы файлов для типа файлов ROWS Data и одна для LOG, в которой все 5 файлов расположены на отдельном диске, общий размер этого диска составляет 50 ГБ.начальный размер tempdb составляет 14 ГБ.Автоматический рост для всех файлов данных составляет 100 МБ, а максимальный размер не ограничен.
SQL-запрос, как показано ниже:
SET nocount ON
SELECT *
INTO isheetnewdata1_4_27
FROM
(SELECT
historyid,
requestentityid,
fieldname,
fieldvalue,
siteid,
isheetid
FROM
synk_isheet_1_int
WHERE
historyid = 6
AND group1id = 27
AND group2id = 4) AS A
PIVOT
(MAX(fieldvalue)
FOR fieldname IN ([ID], [LastName], [FirstName], [Age], [externalId])
) AS pvt
ORDER BY
historyid, requestentityid
![Table structure of synk_isheet_1_int](https://i.stack.imgur.com/2g8nw.png)
Обратите внимание, что имя поля может быть больше, чем у насдля поворота.
Я использую SQL Server 2016 в Microsoft Azure.Моя главная проблема в том, что поворот занимает более 28 часов, и из-за того, что размер базы данных tempdb достигает максимального размера этого диска.
Я понятия не имею, что делать на этом этапе.мне нужно увеличить размер диска, на котором находится файл базы данных tempdb?и увеличить физическую память этой машины и предоставить больше памяти для SQL Server?
![Query execution plan](https://i.stack.imgur.com/S60iO.png)
![Expected pivot look like](https://i.stack.imgur.com/aFf3o.png)
Спасибо всем