У мене база даних SQL Server 1.4TB, яка масово бореться з дисковим введенням / виходом. Ми встановили на сервер новий масив SSD, який вирішить усі наші проблеми, ми просто обговорюємо найкращий спосіб переміщення бази даних по всій. В ідеалі, якщо ми можемо це зробити без простоїв, це найкраще. Але коли вибір знаходиться між двома днями низької продуктивності (наприклад, під час копіювання даних) проти двох годин простою, останні можуть бути кращими.
Поки що рішення, які ми придумали:
Проста копія. Візьміть БД в автономному режимі, скопіюйте файли впоперек, змініть місця розташування в SQL сервері та поверніть його в Інтернет. Приблизні цифри вважають, що це займе до п'яти годин, що не є дійсно прийнятним, але це найпростіше рішення.
Копія на рівні блоку. Використовуючи утиліту, схожу на rsync, ми копіюємо файли на задньому плані, поки БД працює. Коли ми готові до міграції, ми беремо DB в автономний режим, робимо диференційовану копію за допомогою цієї утиліти, потім наводимо SQL-сервер на нові файли та передаємо їх в Інтернеті. Терміни тут невідомі. Ми не знаємо, скільки часу знадобиться зробити диференціальний аналіз 1,4 ТБ та скопіювати це впоперек. Наша інша стурбованість полягає в тому, що копія на рівні блоку залишить файли у певному стані, нечитаними на SQL Server, і ми втратимо час.
Міграція SQL. Створіть на новому диску новий файл даних TQL 1.4TB і відключіть автоматичний ріст для всіх інших файлів. Потім запустіть DBBC SHRINKFILE (-file_name-, EMPTYFILE) на всіх інших файлах даних по черзі. Після того, як всі дані будуть впоперек, я в якийсь момент візьму планове вікно, щоб перенести файл MDF на SSD та видалити інші невикористані файли. Мені це подобається, оскільки це мінімізує простої. Але я не маю уявлення, скільки часу це займе і чи призведе це до погіршення продуктивності, поки це відбувається.
У нас немає жодного навантаження та продуктивного середовища, щоб перевірити це. Я можу переконатись, що стратегії будуть працювати на нашому режимі, але не на вплив, а не на ефективність.
don't know how long it will take to do a differential analysis of 1.4TB
принаймні стільки, скільки потрібно, щоб прочитати ці дані. Я не думаю, що ідея rsync значно економить. rsync створений, щоб впоратися з повільними мережами.