0

我有一个备份数据库的 SQL Server 2008 作业,然后压缩该备份并移动压缩文件。我的工作运行良好,直到进入调用 WinZip 的步骤,该步骤执行:

c:\program files (x86)\winzip v19.5\winzip32.exe 
      -m \\RemoteShare\RestrictedFolder\dbBack.zip 
      x:\SQLInstanceFolder\BackupFolders\dbBack.bak

作业既不完成也不失败;它只是停止前进。它将生成dbBack.bak文件并dbBack.zip在远程位置创建文件,但不会从那里继续。它的行为似乎就像在等待弹出确认,但是当我登录控制台或从命令行运行 zip 时,我没有看到确认。

我试过添加-ybc标志来自动确认或跳过任何提示,但它似乎没有做任何事情。该过程仍未完成。我什至尝试通过>管道输出进程的输出,但它甚至不会写入我的日志文件。

这是一个安全的系统和基础设施,但我相当确定我没有被许可阻止。运行作业的我的 SQL Server 服务帐户可以访问它需要的文件夹并且它可以运行该winzip32.exe过程。这个过程运行良好,但我们不得不在上周末(19.5)升级 WinZip,然后它就停止了正常工作。我们无法回滚到以前的版本 (10)。

有谁知道什么可能会阻止我的进程或如何使其继续进行?

4

1 回答 1

1

我想我发现了问题。事实证明,我们正在使用 WinZip 的 GUI 版本并从命令行调用可执行文件。即使我们看不到 GUI,它仍然存在。所以,确认我们压缩的提示仍然存在于程序的工作流程中,我们只是看不到它,因此无法确认它。并且确认标志不适用于 GUI 版本。

在此处输入图像描述

我的解决方法涉及以我们的服务帐户身份登录到我的 SQL 服务器并运行 WinZip 操作。当它完成并给我Add Complete提示时,我检查Do not display this dialog in the future并单击OK。这将在服务帐户运行其作业时抑制该提示。

如果有人更改了服务帐户,我们将不得不再次这样做,因此我们的最终解决方案是安装WinZip 命令行插件。希望完成后,我们不必担心这一点。

但它现在有效。:-)

于 2018-04-12T21:53:26.310 回答