Резервное копирование MS SQL в «Бересте»: как мы используем VDI
Вокруг резервного копирования Microsoft SQL Server обычно обсуждают либо штатные BACKUP DATABASE ... TO DISK, либо интеграцию с большими корпоративными системами защиты данных. Между этими двумя мирами есть важный слой: VDI (Virtual Device Interface). Именно через него внешнее приложение может встроиться в процесс резервного копирования и восстановления так, чтобы SQL Server писал не в обычный .bak по своему усмотрению, а в управляемый приложением поток данных. В этой статье разберем небольшой, но вполне рабочий проект на C++, который реализует РК и ВД для MS SQL Server через VDI в ПО «Береста». Утилита поддерживает: • полный, дифференциальный и логический backup; • restore одной базы или всех найденных; • striped backup/restore в несколько потоков; • Windows-аутентификацию и SQL-аутентификацию; • работу с SQL Server 2008-2022. Почему VDI? Если задача ограничивается локальным резервным копированием на диск, VDI не нужен: достаточно стандартных T-SQL команд. Но как только появляется внешняя система резервного копирования, картина меняется. СРК обычно хочет сама управлять: • жизненным циклом задания; • маршрутом потока данных; • параллелизмом; • политиками хранения; • журналированием и обработкой ошибок. И здесь VDI становится мостом между SQL Server и внешним приложением. SQL Server продолжает выполнять привычные BACKUP и RESTORE, но вместо физического файла работает с виртуальными устройствами. А уже клиент VDI читает или записывает данные туда, куда считает нужным: в локальные файлы, сетевое хранилище, object storage, дедуп-слой или собственный медиасервер.
https://habr.com/ru/articles/1023254/
#резервное_копирование #срк #восстановление_данных #dvi #sql_server







