我有一个SQL备份计划,将备份写入SAMBAnetworking共享。 我有一个T-SQL净使用(与persistent:yes
)脚本是维护计划的第一部分访问共享。 这工作了一段时间,但现在它在我的大型数据库上失败了。 桑巴只是在日志中写着“write_data:写入客户端0.0.0.0错误写入失败。错误断开pipe道”。 在SQL Server中,我刚刚得到Operating system error 64(The specified network name is no longer available').
如果我用SQL Server中的“任务”手动备份大数据库,它就可以工作。
通常,该错误是远程SMB服务器消失的标志。
我想知道你是否看到这个错误 。 它看起来并没有被追踪到根本原因。
故障发生在每次备份数据stream中的相同位置吗? (你提到它是“大” – 我想知道你在某个地方溢出了一个32位计数器。)你说的有多大(如果你不想给出大小,给我们一个命令大小)。
编辑:
我想你需要在smbd方面进行更广泛的日志logging,并且可能需要嗅探networkingstream量,以便随时随地获取。
我看到桑巴列表上的某个人正在追逐同样的问题,并且无处可逃(主要是因为名单上的人正试图让他追赶野雁,看它的样子)。
这家伙对于破pipe也有同样的问题。 http://blog.binarystars.com/2007/08/25/samba-error-writing-75-bytes-to-client-1-broken-pipe/
他发现Windows服务器正在创build一个networking环路,因为两个网卡都被插入networking。 他必须阻止IPtables中的一个IP来解决这个问题。
当运行用户本身的SQL代理服务没有写入samba共享的权限,并且因此出错时,我看到了这种情况。 确定是否是这种情况的好方法是尝试手动运行备份。