#sql-server #azure #azure-vm
Вопрос:
Перемещение SQL Server в Azure на виртуальной машине.
Текущий SQL Server имеет общий размер базы данных 1,8 ТБ и 1,2 ТБ нераспределенного пространства.
Как мне изменить общий размер базы данных, чтобы он больше соответствовал тому, что было использовано?
Таким образом, когда я восстанавливаю резервную копию внутри виртуальной машины Azure, я не переплачиваю за пространство для хранения, которое я не использую.
Любая зацепка будет оценена по достоинству.
Комментарии:
1. Вы бы сократили его, хотя это редко бывает хорошей идеей, так как это может серьезно фрагментировать ваши данные.
2. Предположительно, это одноразовая операция, и я бы попытался сначала сжать базу данных, а затем создать ее резервную копию перед восстановлением в Azure. Обычно лучшим способом было бы переместить таблицы в новые файловые группы, затем удалить пустые или затем уменьшить основную файловую группу, если она ранее содержала все данные, установить простое восстановление и уменьшить журнал до разумного размера, конечно, существуют различные предостережения и крайние случаи.
3. Вы ищете подход к сегментированию базы данных? Или лучше перейти на Azure SQL, где вы можете достичь этого очень легко.
4. Вы можете обнаружить, что файлы снова увеличиваются до того же размера после перехода в Azure. Базе данных требуется место в файлах данных и журналов для поддержки нормальной работы, и для базы данных объемом 1,8 ТБ может потребоваться 600 ГБ. Например, если у вас есть таблица размером более 400 ГБ и вы перестроите индекс — файл данных будет расти.
Ответ №1:
Чтобы устранить это дополнительное пространство в файлах данных и журналов, используется процесс сжатия файла. Его можно найти в среде SQL Server Management Studio, щелкнув правой кнопкой мыши базу данных в обозревателе объектов и перейдя к Задачам gt; Сжатие gt;gt; Файлы, а затем выбрав опцию «Реорганизовать страницы перед освобождением неиспользуемого пространства». Но для действительно больших баз данных, как в вашем случае, это может занять несколько дней. Я видел, как некоторые базы данных воссоздавались, затем все данные переносились, затем все индексы воссоздавались, просто чтобы пропустить процесс сжатия файлов, который длился целую вечность.