在SSIS事件处理程序任务中获取服务器和数据库名称

时间:2014-08-13 12:14:54

标签: sql ssis

我对ssis包有疑问。我有一个带有OnError,OnPreExecute和OnPostExecute的ssis包。在这些事件处理程序中,SQL任务执行不同的任务并更新不同的表。我的问题是:我使用了一些系统变量,如SourceName和SourceDescriptin(这是当前的sql任务的名称和描述)。我注意到“Source”的连接(服务器名称,数据库名称)没有任何变量,即步骤。有没有办法获取Source / Step使用的数据库名称和服务器名称?我们非常感谢您的帮助,并提前感谢您。

2 个答案:

答案 0 :(得分:0)

我不认为,我们将有一个带有服务器名称和Db名称的系统变量。在SSIS包中,可以在连接管理器中创建任意数量的连接。因此,无法在系统变量中使它们全部可用。我认为这样的事情需要由开发人员自己管理。可能是这些步骤会让你感到高兴。

1. Add a parameter (1 parameter per Server).
This parameter will be available through out the package.
2. When the package is running , if required give value to the parameter from SSIS catalog (through SSIS SPs)

答案 1 :(得分:0)

对于服务器名称,您可以使用名为MachineName的系统变量。它将为您提供运行包的机器的名称。对于DB,您必须使用执行SQL任务捕获它并将其存储在您选择的变量中。