У нас был полный сбой питания в нашем 2-узловом кластере, использующем SQL Server 2008 (10.0.2531) Standard Edition. После восстановления все работает нормально. Я обнаружил одну проблему: размер таблицы и используемое пространство данных увеличились в несколько раз по сравнению с исходным размером (в зависимости от количества записей).
Примеры: До отключения электроэнергии (01:45)
В таблице 1 было 29 записей
Размер таблицы 32 КБ и
Используемое пространство данных составляло 8 КБ.
После отключения электроэнергии (полное восстановление в 03:45)
В таблице 1 29 записей
Размер таблицы 48 КБ
Используемое пространство данных - 16 КБ
До отключения электроэнергии (01:45)
В таблице 2 было 5 109 715 записей.
Размер таблицы 2683533 КБ.
Используемое пространство данных было 1,352,527 КБ.
После отключения электроэнергии (полное восстановление в 03:45)
В таблице 2 5 109 715 записей
Размер таблицы 9,170,072 КБ
Используемое пространство данных - 4 975 880 КБ
Это верно для всех таблиц… хотя и с разным увеличением в процентах.
Я не понимаю, что произошло или как это исправить. Любые идеи?
Я заключил, что размер таблицы был увеличен в процессе восстановления. транзакции откатываются, а затем воспроизводятся для обеспечения целостности. Я ожидаю, что это будет зависеть от количества и размера транзакций. Вы всегда можете повторно сжать базы данных после восстановления питания. Лично я бы больше беспокоился о том, что весь кластер умрет из-за отсутствия ИБП по крайней мере на 1 узле и массиве дисков.