Невозможно скопировать большие файлы БД, используя «copy», «robocopy» или даже «eseutil» - PullRequest
2 голосов
/ 04 февраля 2010

У меня проблема с копированием больших файлов БД (~ 100 ГБ) в автоматическом сценарии, который я пытаюсь написать для Windows Server. Я пытался использовать «copy», «robocopy» и даже «eseutil».

Мой сценарий выполняется на сервере Windows 2008 (место назначения файла) и извлекает данные с сервера Windows 2003 (источник файла).

Я уже пытался изменить параметр реестра IRPStackSize, а также оба параметра в кусте HKLM / SYSTEM / CurrentControlSet / Control / SessionManager / MemoryManagement. Все это было сделано на сервере 2008 и перезагружено без эффекта. У кого-нибудь есть хороший обходной путь?

Копия и Робокопия дают мне это:

Недостаточно места на сервере для обработки этой команды.

Eseutil.exe дает мне это:

H:\TempSQLBackups>eseutil /y \\SRC_SERVER\SQL_BACKUPS\BIG_DB.BAK /d H:\TempSQLBackups\BIG_DB.bak

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating COPY FILE mode...
     Source File: \\SRC_SERVER\SQL_BACKUPS\BIG_DB.BAK
Destination File: H:\TempSQLBackups\BIG_DB.bak

                      Copy Progress (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ........FAILURE: ReadFile: The specified network name is no longer available.


Operation terminated unsuccessfully after 11336.16 seconds.


H:\TempSQLBackups>

Ответы [ 5 ]

1 голос
/ 12 марта 2014

Используйте XCOPY с /J option, чтобы избежать сбоев в сети больших файлов. Это будет работать ТОЛЬКО в 2008 R2 и Windows 7, хотя. Это решило мою проблему с тайм-аутом.

Пожалуйста, проверьте.

1 голос
/ 29 апреля 2011

Я разобрался, как это исправить!

Используйте машину LINUX , чтобы самба смонтировать исходные и целевые каталоги / диски и скопировать их по сети. Лично я использую rsync, так как он воссоздает структуру каталогов и копирует только файлы, которых нет или они другие. Таким образом, вы можете остановиться и / или перезапустить в любое время без потери прогресса.

Не могу поверить, что мы все еще платим Microsoft за этот мусор ОС. У меня были похожие проблемы, и, похоже, нет другого решения, кроме этого. Он немного медленный, но не такой медленный, как изначально, потому что он будет терпеть неудачу КАЖДЫЙ РАЗ.

В какой-то момент я подумал, что robocopy наверняка сделает это, используя параметр / IPG: xx (InterPacketGap в миллисекундах). Нету. Это просто продлевает переполнение стека и удаленную блокировку консоли. Я подумал, может быть, Microsoft правильно сделала с этой ОС. Так много для Win2K8. Тьфу! Windoze для рабочих станций. Для серверов нужна серверная ОС, а не тинкертой код.

0 голосов
/ 01 июля 2018

Формат для второй части eseutil должен быть:

/d\\server\folder\filename

Обратите внимание, что после /d

нет пробела
0 голосов
/ 04 февраля 2010

Вы пробовали xcopy? Это работает лучше для больших файлов и рекурсивного копирования. документ

Кроме того, из моего собственного опыта работы с сетевыми дисками и командной строкой это больно и глючит. Также рекомендуется сопоставить сетевой диск и использовать букву диска, например z: \

xcopy /K /R /E /I /S /C /H /G /X /Y s:\*.* t:\

/ K Копирует атрибуты. Обычный Xcopy будет сбрасывать атрибуты только для чтения.

/ R Перезаписывает файлы только для чтения.

/ E Копирует каталоги и подкаталоги, включая пустые.

/ I Если место назначения не существует и копируется более одного файла, предполагается, что место назначения должно быть каталогом.

/ S Копирует каталоги и подкаталоги, кроме пустых.

/ C Продолжает копирование, даже если возникают ошибки.

/ H Копирует также скрытые и системные файлы.

/ Y Подавляет запрос подтверждения того, что вы хотите перезаписать существующий файл назначения.

/ G Позволяет копировать зашифрованные файлы в место назначения, которое не поддерживает шифрование.

/ X Копирует настройки аудита файлов (подразумевается /O).

0 голосов
/ 04 февраля 2010

Вы пытались скопировать файлы с помощью старого способа фьюжн перетаскивания?

Я бы сделал это один раз, чтобы убедиться, что ваша сеть не выходит из строя. Убедитесь, что это работает, а затем попробуйте взглянуть на другие решения.

1) Убедитесь, что ваш целевой диск - NTFS, а НЕ Fat32.
2) Проверьте, когда не удается скопировать, всегда ли это в одной точке? (IE, если он всегда терпит неудачу после 2 ГБ)

...