VS SSIS if parent transactionOption is configured to be not supported and child is configured to be required - ssis

VS SSIS if parent transactionOption is configured to be not supported and child is configured to be required does the child still able to start a transaction?
similar case when we have a parent package with multiple execute package task, parent package is configured to be not supported for transactionOption and some of the child are configured to be required, does child package still start the transaction?

Related

When do SSIS Connections occur?

Do SSIS ConnectionManagers attempt to make their connections on package start, or when the connection is first used?
If it's the latter, I can use failure transitions to handle connection failures within the package, but if it's the former then I have to do it externally.
I can assume that they'd design it with the latter, but I can't find it in the documentation anywhere easily searchable/accessible.
It depends and can be controlled.
With the default setting of DelayValidation=false property, SSIS engine at package start tries to connect (validate) all Connection Managers and tasks with metadata and which use Connection Managers like Data Flows etc.
If you set DelayValidation=true on the Connection Manager itself and all relevant tasks, then the first connection on the Connection Manager for the validation would be executed right before the task is executed. This is quite helpful if you use expressions on Connection Manager properties, like dynamic connection string, and before package execution it cannot be evaluated.
In SSIS,it always try to validate connection manager at the package start time.
Once the SSIS package start, it first validate for all parameter, variable and connection manager etc.

How to fix: Setting SSIS Execute Package property ExecuteOutOfProcess to True causes error?

I have to run packages asynchronously, so I used the ExecuteOutOfProcess property for the first time. As I run into troubles, I decided to make a very basic prototype to reproduce the error in VS 2017/2019:
Make a project without parameters and connectionmanagers.
Make a Package Slave with one Expression Task, executing 1==1
Make a Package Master with a Execute Package Task, point here to Slave and set ExecuteOutOfProcess = True
Slave runs without a problem. Running Master, however, gives these errors:
Error: Error 0x80040154. Failed to create an instance of empty child package. The Distributed Component Object Model (DCOM) configuration or the installation of SQL Server Integration Services, may be corrupted on your machine.
Error: Error 0x80040154 while executing package from project reference package "Slave.dtsx". Class is not registrered
.
Task Slave failed
I tried this on two different machines, so I can exclude weird configurations. I read about 32/64 bit issues, but I do not use any additional components.
Maybe one of you has a clue how to fix this?
I have relatively similar issue.
I'm deploying to 2017 Enterprise server (so I have license to run child packages).
When I leave ExecuteOutOfProcess = False, the child package runs.
When I set ExecuteOutOfProcess = True, the child package fails with this error:
Value does not fall within the expected range.
Maybe it's a SQL Server 2017 bug.
The server was recently patched to CU20.

SSIS + project level connection manager + ExecuteOutOfProcess = failing package

We have a setup common among a few of our packages where we have a main parent package which then fires off a number of child packages in parallel.
For some of these the amount of memory used risks getting out of memory errors if they are run with ExecuteOutOfProcess set to false and so we changed these to be ExecuteOutOfProcess = true. This all worked fine within BIDS with package level connection managers.
We are currently trying to move to project level connection managers with SSIS 2012. Having deployed the project to the server we are finding the packages execute ok with ExecuteOutOfProcess set to false (for smaller amounts of data), but if we try to run them out of process the child packages are getting validation errors when they try to access tables via the project level (OLEDB) connection manager.
Any ideas as to what is causing the error to occur only when out of process?

SSIS 2008 Transactionoption

i have set the TransactionOption as Required in my SSIS package. But the package fails. The error shown is some MSDTC error. I am not able to get it. is there any settings to be changed or done in the machine or server we are deploying/running/working the package ? So wat all steps should we have to follow for setting Transaction in a package.
"The built-in transaction support in SSIS makes use of the Distributed
Transaction Coordinator (MSDTC) service which must be running. MSDTC
also allows you to perform distributed transactions; e.g. updating a
SQL Server database and an Oracle database in the same transaction."
How To Use Transactions in SQL Server Integration Services SSIS
I hope this helps

TransactionOption in SSIS

I have created a SSIS package. I need to apply Transaction to this package for rollbacking in case the package fails. What I found is a property "TransactionOption" which should be given "Required". Am I right ? And I have set TransactionOption for the package as "Required" But the package fails when I executed. What all steps should I do for setting TransactionOption "required" ?
In detail, My package contains 4 control tasks. One of them is a Data Flow Task, containing Lookup Tasks.
I got the following error
"[Execute SQL Task] Error: Failed to acquire connection "SQLConnectionMgr1". Connection may not be configured correctly or you may not have the right permissions on this connection."
When I set the TransactionOption to "Supported", the packages runs successfully.
Create 2 "OLE DB Connection managers" both connecting to the same
database. On the properties of one of the "OLE DB Connection
managers" set the 'RetainSameConnection' property to true.
Then create 3 "Execute SQL Task" and connect them with the "OLE DB
Connection managers" were the 'RetainSameConnection' property is set
to true.
Add the following statements on there respective Execute SQL task
BEGIN TRANSACTION
COMMIT TRANSACTION
ROLLBACK TRANSACTION
It sounds like you might not have appropriate permission to use the Distributed Transaction Coordinator (MSDTC) service which is required to utilize transactions in SSIS.
See this article on Transactions for more information: http://www.mssqltips.com/tip.asp?tip=1585
Also you might need to look more into how the MSDTC works in relation to SSIS to get your issue resolved.
To enable Trancaction is ssis you need to check below prerequiste
1, Distributed Transaction Coordinator (MSDTC) service should be started in the machine, if its local machine.
2, if you are using has a client (server machine-->user machine) then MSDTC enabled in both machine with security option of NETWORK DTC Access (Allow Remote Clients, Allow Inbound, Allow Outbound) under Component Services --> Computer Properties --> MSDTC tab --> Security Option
3, Sometimes Firewall from any one machine or both can be blocked of network DTC so you need to disable/uninstall.
Errors:
Cannot Acquire Connection Manager
Solution:
check the step 1 if you are user of local machine, if you are client user check step 2 and 3
Then asusual
change the Trancaction Option as required in the properties of package level or container level as you required and check.