(12) Нельзя допустить для 1Сной реструктуризации ошибки/отказа
В момент снятия бэкапа средствами СУБД фактически происходит заморозка/блокировка создания/удаления таблиц и т.д.
Только обычные чтение или запись разрешены
1. Операции на запись данных (INSERT, UPDATE, DELETE)
Пользователи могут беспрепятственно записывать и изменять данные. Бэкап не блокирует таблицы на запись.
• Как это работает: MS SQL Server копирует страницы данных из файлов базы напрямую на диск резервной копии. Если в процессе бэкапа клиент изменяет данные, эти изменения фиксируются в журнале транзакций (.ldf).
• Итог операции: В самом конце процесса бэкапа MS SQL Server дописывает в резервную копию ту часть журнала транзакций, которая успела накопиться за время копирования. При восстановлении из такого бэкапа СУБД автоматически проведет транзакции до согласованного состояния (завершит успешные и откатит прерванные).
2. Создание, удаление или изменение таблиц (DDL-операции)
Любые попытки изменить структуру базы данных (команды CREATE TABLE, DROP TABLE, ALTER TABLE, CREATE INDEX) будут заблокированы или завершатся ошибкой.
• Как это работает: Операции изменения схемы данных требуют монопольных блокировок на системные таблицы (метаданные), а процесс бэкапа параллельно обращается к ним для фиксации структуры. СУБД автоматически предотвращает одновременное изменение физической структуры файлов и таблиц во время резервного копирования.
• Итог операции: Клиент, попытавшийся удалить или создать таблицу во время бэкапа, «зависнет» в ожидании (попадет в состояние блокировки) до завершения резервного копирования либо сразу получит ошибку от сервера.
3. Изменение структуры файлов (Сжатие, расширение, удаление)
Во время бэкапа категорически запрещено управлять файлами базы данных. Команды ALTER DATABASE с параметрами добавления/удаления файлов, а также операции автоматического или ручного сжатия баз данных (DBCC SHRINKDATABASE / DBCC SHRINKFILE) будут мгновенно отклонены сервером с ошибкой.