1

我遇到了一个奇怪的批处理文件问题,如下所示。我创建了一个 .bat 文件,该文件调用如下所示的存储过程

sqlcmd -Q "EXECUTE [dbo].[ABC]" -S "XYZ\INST5,1450" -U %USERNAME% -P %PASSWORD%  -d %DBName%

该命令工作正常。此 SP 将成功向某些用户发送邮件,这是预期的行为。

但是,如果我用这样的实际值替换上述命令中使用的变量

sqlcmd -Q "EXECUTE [dbo].[ABC]" -S "XYZ\INST5,1450" -U ABC -P LMN  -d DATABASE

并运行批处理文件,然后我收到一条邮件队列消息,并且邮件永远不会发送。

现在,如果我再次运行相同的批处理文件,那么邮件就会被发送。长话短说,只有在运行 .bat 文件两次后才会发送邮件。

SP 绝对没有问题,因为它目前已在被安排为 SQL 作业的生产环境中进行了全面测试并成功运行。

如果将变量替换为实际值,请提出为什么此 .bat 文件第一次失败的原因

4

0 回答 0