对SMO的SSIS调用在Visual Studio中有效,但是从服务器上的SQL代理作业运行时失败。不使用SMO的工作正常

时间:2019-05-08 16:01:08

标签: sql-server vb.net ssis smo

我编写了一个SSIS 2017软件包,该软件包使用SMO(sql服务器管理对象)将灾难恢复(DR)服务器与生产服务器同步。两台服务器均为2017年。使用我的网络登录名,该包在Visual Studio 2017(SSDT)的DR服务器上运行良好,但作为SQL代理作业从DR服务器运行时出现以下错误,失败:

脚本任务:错误:调用的目标引发了异常。

我尝试使用具有网络登录名的代理运行sql代理作业,但仍然收到错误。在“尝试/捕获”中包装代码块并不会产生更好的错误消息。我能够通过DR服务器上sql代理作业中的powershell脚本使用SMO成功连接。示例代码:

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$serverInstance = New-Object ('Microsoft.SqlServer.Management.Smo.Server') Server1

有关脚本任务的其他详细信息:

目标服务器版本:SQL Server 2017

目标框架:.Net Framework 4.5 (服务器具有4.6.2)

参考文献:

  • D:\ Program Files(x86)\ Microsoft SQL
    Server \ 140 \ DTS \ Tasks \ Microsoft.SqlServer.ConnectionInfo.dll
  • D:\ Program Files(x86)\ Microsoft SQL
    Server \ 140 \ DTS \ Tasks \ Microsoft.SqlServer.Smo.dll

代码:

Imports Microsoft.SqlServer.Management.Smo
Dim smoSourceServer As Server = New Server("Server1")

非常感谢您提供任何帮助或想法,以尝试使它正常工作!

0 个答案:

没有答案