我正在从 C# 代码运行一个 SSIS 包,如下所示:
ErrorHandler errorHandler = new ErrorHandler();
Application app = new Application();
DTSExecResult res;
Package pkg = app.LoadPackage(packagePath, null);
res = pkg.Execute(null, null, errorHandler, null, null);
我有两个问题:
什么“引擎”运行这个包?SQL Server 是否运行它,或者只需要一个较小的 SSIS 引擎。
当这个 c# 代码(它是一个控制台应用程序)长时间运行时,它会逐渐消耗越来越多的内存。如何限制正在运行的包的内存使用量?
*想到的一个想法是,这种行为类似于 SQL Server 行为,即它占用内存并且从不释放它,当然是在定义的内存限制下。所以也许运行包的“引擎”设置了一定的内存限制,逐渐被填满。