Гид по технологиям

Резервирование и восстановление SQL в SSMS

4 min read Базы данных Обновлено 12 Apr 2026
Резервирование и восстановление SQL в SSMS
Резервирование и восстановление SQL в SSMS

Набор современных кабелей и разъёмов рядом с табличкой «Storage engineer»

Восстановление SQL‑базы данных помогает вернуть систему после потери данных, повреждения или злонамеренных действий. Умение создавать резервные копии и восстанавливать базы — ключевая задача администратора баз данных, поскольку это уменьшает простои и риски для бизнеса.

Что важно знать перед началом

  • Резервная копия — это снимок состояния базы в момент создания. Существует несколько типов резервных копий: полные, дифференциальные и журнальные (transaction log).
  • Всегда выполняйте тестовое восстановление в изолированной среде, чтобы убедиться в консистентности и целостности данных.
  • Храните резервные копии в нескольких местах: локально, на сетевом хранилище и/или в облаке.

Важно: план резервирования должен соответствовать требованиям бизнеса по RPO (максимально допустимый объём потерянных данных) и RTO (максимальное время восстановления).

Как создать резервную копию базы через SSMS

  1. В SSMS в окне Object Explorer найдите ветку Databases и правой кнопкой мыши щёлкните по нужной базе.
  2. В меню выберите Tasks > Back Up.

Меню базы данных при выборе «Back Up» в SSMS

  1. В диалоговом окне Backup Database добавьте путь назначения для файла резервной копии. Файл должен иметь расширение .bak.

Диалоговое окно Backup Database с полем назначения файла .bak

  1. Нажмите OK — SSMS выполнит резервное копирование.

Примечание: в диалоговом окне можно выбрать тип резервной копии (Full / Differential / Transaction log) и дополнительные параметры (компрессия, проверка целостности).

Пример SQL‑команды для полного бэкапа

BACKUP DATABASE WideWorldImporters TO DISK = 'C:\...\Backup\WideWorldImporters.bak'

Аналогично можно выполнять дифференциальные и журнальные бэкапы:

-- Дифференциальная
BACKUP DATABASE WideWorldImporters TO DISK = 'C:\...\Backup\WideWorldImporters_diff.bak' WITH DIFFERENTIAL

-- Журнальный (transaction log)
BACKUP LOG WideWorldImporters TO DISK = 'C:\...\Backup\WideWorldImporters_trlog.trn'

Как восстановить базу через SSMS

  1. Запустите SSMS и подключитесь к серверу.
  2. В левом окне правой кнопкой мыши кликните по узлу Databases и выберите Restore Database.

Меню восстановления базы данных в SSMS

  1. В разделе Source выберите Devices, нажмите кнопку с тремя точками () для открытия диалога выбора файла резервной копии.

Окно выбора устройств резервного копирования в SSMS

  1. Нажмите Add, укажите .bak файл и подтвердите. При необходимости измените пути файлов данных (MDF/LOG) на вкладке Files.
  2. Нажмите OK, чтобы начать восстановление.

Важно: если восстанавливаете поверх существующей базы, убедитесь, что выбрали опцию перезаписи (WITH REPLACE) и что файлы данных не блокируются процессами.

Пример SQL‑команды восстановления (шаблон)

RESTORE DATABASE WideWorldImporters FROM DISK = 'C:\...\Backup\WideWorldImporters.bak' WITH RECOVERY

Если требуется перенести файлы данных в другие каталоги:

RESTORE DATABASE WideWorldImporters
FROM DISK = 'C:\...\Backup\WideWorldImporters.bak'
WITH MOVE 'WideWorldImporters_Data' TO 'C:\SQLData\WideWorldImporters.mdf',
     MOVE 'WideWorldImporters_Log' TO 'C:\SQLLogs\WideWorldImporters.ldf',
     REPLACE,
     RECOVERY

(Замените логические имена файлов и пути на реальные значения вашей среды.)

Проверка успешности восстановления

После восстановления выполните проверку:

  • Подключитесь к базе и запустите контрольные запросы (SELECT) для ключевых таблиц.
  • Проверьте целостность с помощью DBCC CHECKDB.
  • Убедитесь, что службы/задания и пользователи работают корректно.

Пример проверки:

DBCC CHECKDB('WideWorldImporters') WITH NO_INFOMSGS

Альтернативные подходы и инструменты

  • Использование Maintenance Plans в SSMS для автоматизации расписания резервного копирования.
  • Скрипты Powershell/SQL Agent для более гибкого управления копиями и ротацией.
  • Коммерческие решения для резервного копирования и восстановления с поддержкой дедупликации и хранения в облаке.

Мини‑методология: как построить простой план резервирования

  1. Определите требования по RPO и RTO.
  2. Выберите типы бэкапов (ежедневный полный, дифференциальный между полными, журнальные каждые N минут/часов).
  3. Настройте автоматизацию (SQL Agent, Maintenance Plan или скрипты).
  4. Реализуйте ротацию и удаление старых копий.
  5. Периодически тестируйте восстановление (минимум раз в квартал).

Ментальные модели и эвристики

  • “Полные копии — основа, дифференциальные и журнальные — для снижения окна восстановления.”
  • “Хранение в нескольких местах снижает риск потери копий.”
  • “Частые журнальные копии уменьшают потерю данных, но увеличивают сложность восстановления.”

Роли и чек‑лист (кто за что отвечает)

  • Администратор БД (DBA): настройка резервного копирования, контроль выполнения, тест восстановления.
  • DevOps/Инфраструктура: хранилище и доступность резервных копий, безопасность и хранение за пределами сервера.
  • Владелец приложения: валидация целостности данных после восстановления, проверка функциональности.

Критерии приёмки (тестовые сценарии)

  • Восстановление полного бэкапа на тестовом сервере завершилось без ошибок.
  • DBCC CHECKDB не возвращает критических ошибок.
  • Приложение корректно выполняет 5–10 ключевых операций после восстановления.

Решение при ошибках (короткий план действий)

  1. Проверить журналы SQL Server и ошибки в окне Messages в SSMS.
  2. Проверить права доступа к файлу .bak и к каталогу назначения.
  3. Использовать WITH MOVE при конфликте путей файлов.
  4. В случае повреждённого .bak — попробовать восстановить из более ранней копии.

Быстрая таблица: когда какой тип копии использовать

  • Полный — регулярно, база данных целиком.
  • Дифференциальный — между полными для уменьшения времени и объёма.
  • Журнальный — для минимизации потерь данных и восстановления до конкретной точки.

Принципиальная диаграмма выбора метода восстановления

flowchart TD
  A[Есть .bak файл и доступ к серверу?] -->|Да| B[Восстановить через SSMS Devices или RESTORE]
  A -->|Нет| C[Найдите доступный носитель/бэкап 'архив, облако']
  B --> D{Нужно сохранить текущую базу?}
  D -->|Да| E[Восстановить в другую базу/сервер для теста]
  D -->|Нет| F[Восстановить с REPLACE]
  E --> G[Проверить DBCC и приложение]
  F --> G

Краткое резюме

Резервное копирование и восстановление через SSMS — быстрый и надёжный способ защитить данные. Важнее всего — автоматизация, регулярное тестирование восстановлений и хранение копий в надёжных местах. Документируйте процедуру и обязанности, чтобы восстановление прошло быстро и предсказуемо.

Важно: никогда не считайте резервную копию успешной, пока не выполнено тестовое восстановление и проверка целостности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро