Я пытаюсь скопировать большой файл резервной копии базы данных по сети.
Традиционное копирование программы или xcopy
сбой с другим двоичным результатом. Также попробовал robocopy
без параметра, и привел сбой. Просто сделал еще одну попытку с robocopy
использованием /zb
параметра (перезапуск и режим резервного копирования). Это заняло гораздо больше времени, но привело к успеху.
Мой вопрос, действительно ли режим резервного копирования предназначен для копирования большого / резервного файла? Искал через сеть и не мог найти четкий ответ. Был бы признателен, если бы любой опытный пользователь мог дать мне подсказку или лучшее решение.
Ответы:
Режим резервного копирования - это способ чтения и записи файлов, игнорирующий любые проблемы с разрешениями.
Он использует
SeBackupPrivilege
(чтение) иSeRestorePrivilege
(запись) для чтения / записи любых файлов, не обращая внимания на ACE, которые могут помешать вам прочитать или записать файл.Обычно при попытке копирования или доступа к файлу Windows выполняет проверку, чтобы убедиться, что у вас есть разрешение на чтение или запись в хранилище, но с
SeBackupPrivilege
(предоставляется группам операторов и администраторов резервного копирования) иSeRestorePrivilege
(также предоставляется операторам и администраторам резервного копирования). групп), эти проверки обойдены.Чтобы проверить, есть ли у вашей учетной записи эти привилегии, вы можете запустить команду
whoami /priv
в командной строке.источник
Просто хочу поделиться обновлением по решению проблемы выше.
В моем случае
xcopy
не удалось скопировать файл размером более 10 ГБ на серверы в другом домене и на другом сервере.С другой стороны,
robocopy
с/zb
- Использует режим перезапуска. Если доступ запрещен, эта опция использует режим резервного копирования.может успешно скопировать. Это увеличило время с 1 часа до 2,5 часов, хотя.
-
После реорганизации сервера файл теперь копируется на серверы в одном домене и расположении сервера. И использование
xcopy
тоже хорошо.-
Так что моя теория по этому вопросу была бы, вероятно, о стабильности соединения между серверами. Если соединение не является надежным (из-за иногда пропадания возникают проблемы с доступом), при копировании большого файла, такого как мой случай, повреждение может произойти в любое время в течение длительного процесса;
robocopy
с перезагрузкой и резервным копированием можно восстановить копию довольно хорошо. Время, потраченное на восстановление, вероятно, является недостатком.И, как примечание, следует использовать FTP вместо копирования, если это будет обычная задача
источник
Я настоятельно рекомендую вам создать моментальный снимок и сделать резервную копию файловой системы, которая была приостановлена. Затем вы можете быстро запустить robocopy с помощью / J (небуферизованный ввод / вывод для больших файлов). Вот скрипт для создания теневой копии C: он вызывает P :. Этот диск (P :) представляет собой статический образ диска C: идеально подходит для резервного копирования. Мы используем эту технику для копирования образов дисков активной виртуальной машины на резервный диск.
Следующее использует четыре файла сценария:
болтающиеся чадыпредыдущая тень, если произошел сбой внутреннего командного файла1) командный файл для запуска процесса
2) командный файл тени "cleanup.cmds" для уничтожения ранее активной тени
3) командный файл shadow "diskshadow.cmds", который создает тень, а затем вызывает четвертый файл
4) Командный файл «backup.cmd» для работы на тени
Обратите внимание, что Windows Server 2016 (и, возможно, другие версии) запускает теневую копию два раза в день в течение недели, что приводит к сбою созданной ниже теневой копии. Убедитесь, что этот метод резервного копирования не пересекается с этими автоматическими запланированными теневыми командами.
источник
Чтобы расширить ответ @ erict, вот как использовать PowerShell для создания и уничтожения снимка:
Это также можно запустить на удаленной машине с помощью удаленного взаимодействия PowerShell :
источник