无法使用“copy”,“robocopy”甚至“eseutil”复制大型DB文件

时间:2010-02-04 16:48:52

标签: windows file-copying

我在尝试为Windows Server编写的自动脚本中复制大型DB文件(~100GB)时遇到问题。我尝试过使用“复制”,“robocopy”,甚至“eseutil”。

我的脚本在Windows 2008 Server(文件的目标)上运行,并从Windows 2003 Server(文件源)中提取。

我已经尝试更改IRPStackSize注册表设置,以及HKLM / SYSTEM / CurrentControlSet / Control / SessionManager / MemoryManagement配置单元中的两个注册表设置。这一切都在2008服务器上完成,并重新启动,没有任何效果。有没有人有一个好的解决方法?

复制和Robocopy都给了我这个:

没有足够的服务器存储空间来处理此命令。

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 个答案:

答案 0 :(得分:1)

我想出了如何解决这个问题!

使用 LINUX 计算机samba安装源目标/目标目录/驱动器并通过网络复制它们。就个人而言,我使用rsync,因为它将重新创建目录结构,只复制不存在或不同的文件。因此,您可以随时停止和/或重新启动,而不会丢失进度。

我无法相信我们仍在向微软支付操作系统的垃圾费用。我有类似的问题,似乎没有其他解决办法。它有点慢但不像在本地做的那么慢,因为它会每次都失败。

有一次,我认为robocopy肯定会使用/ IPG:xx选项(InterPacketGap,以毫秒为单位)。不。它只是扩大堆栈溢出和远程控制台锁定。我想,也许,微软用这个操作系统做对了。 Win2K8非常稳固。啊! Windoze适用于工作站。对于服务器,您需要服务器操作系统而不是代码。

答案 1 :(得分:1)

XCOPY/J option一起使用可以避免大文件出现网络故障。这仅适用于2008 R2和Windows 7。这解决了我的超时问题。

请检查。

答案 2 :(得分:0)

您是否尝试使用旧的传统拖放方式复制文件?

我会这样做一次,以确保它不是你的网络失败。确保它有效,然后尝试查看其他解决方案。

1)确保您的目标驱动器是NTFS而不是Fat32 2)检查何时无法复制,是否始终在同一点? (IE如果在2gb之后总是失败的话)

答案 3 :(得分:0)

你试过xcopy吗?它适用于大型文件和递归副本。 doc

另外,根据我自己的经验,使用网络驱动器和命令行是一个痛苦和错误。映射网络驱动器并使用驱动器号如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)。

答案 4 :(得分:0)

eseutil第二部分的格式应为:

/d\\server\folder\filename

请注意,/d之后的空格