Когда дело доходит до резервного копирования баз данных SQL Server, существуют различные методы, которые можно использовать для обеспечения безопасности и избыточности данных. Два часто путающихся метода резервного копирования – это зеркальные и полосатые резервные копии. В этой статье мы рассмотрим разницу между этими двумя концепциями и как их можно реализовать в SQL Server.
Зеркальные резервные копии баз данных
Зеркальная резервная копия базы данных – это метод резервного копирования, доступный в SQL Server 2005 Enterprise Edition и выше. Он предполагает одновременную запись двух копий файла резервной копии базы данных в два разных места. Это обеспечивает дополнительный уровень безопасности и избыточности на случай, если один из файлов резервной копии будет удален или станет непригодным для использования.
Концептуально зеркальная резервная копия похожа на использование RAID 1, где у вас есть две полные копии файла в двух разных местах. Эта избыточность гарантирует, что даже если одна копия будет потеряна, у вас все равно будет резервная копия для восстановления.
Вот пример команды зеркальной резервной копии:
BACKUP DATABASE [TestDB] TO DISK = N'C:\SQLBackups\TestDBFull.bak' MIRROR TO DISK = N'D:\SQLBackups\TestDBFull.bak' WITH FORMAT, INIT, NAME = N'TestDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1;
Обратите внимание, что команда зеркальной резервной копии поддерживается только в SQL Server 2008 и выше Enterprise Edition (или Developer или Evaluation Edition).
Полосатые резервные копии баз данных
С другой стороны, полосатая резервная копия базы данных включает разделение одного файла резервной копии на несколько файлов, которые одновременно записываются в разные места. Обычно это делается с использованием разных путей резервного копирования для улучшения производительности резервного копирования.
Концептуально полосатая резервная копия похожа на использование RAID 0, где один файл резервной копии распределяется по нескольким местам для повышения производительности. Распределением резервной копии по нескольким дискам вы можете воспользоваться параллелизмом и сократить общее время резервного копирования.
Вот пример команды полосатой резервной копии:
BACKUP DATABASE [TestDB] TO DISK = N'C:\SQLBackups\TestDBFullA.bak', DISK = N'D:\SQLBackups\TestDBFullB.bak' WITH NOFORMAT, INIT, NAME = N'TestDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1;
Важно отметить, что приведенная выше команда полосатой резервной копии создаст два файла резервной копии, оба из которых необходимы для восстановления базы данных. В отличие от зеркальных резервных копий, полосатые резервные копии не создают несколько копий одного и того же файла резервной копии.
Заключение
Понимание разницы между зеркальными и полосатыми резервными копиями баз данных является важным для реализации эффективной стратегии резервного копирования в SQL Server. Зеркальные резервные копии обеспечивают избыточность и защиту от потери данных, а полосатые резервные копии повышают производительность резервного копирования за счет параллелизма.
Используя соответствующий метод резервного копирования в зависимости от ваших требований, вы можете обеспечить безопасность и доступность ваших баз данных SQL Server.