SSIS Sequence Container TransactionOption

I have an SSIS Package with two Sequence Containers.
Sequence Container 1 has the TransactionOption Property set to "Required" and Sequence Container 1 (which is chained off Sequence Container 1) has the TransactionOption Property set to "Supported".
If something fails in Sequence Container 1 the transaction is rolled back.
If something fails in Sequence Container 2 the transaction is NOT rolled back???
All tasks inside both containers also have Transaction Option set to  "Supported".
I then tried to put all tasks inside one container and it works.
I have no idea what is wrong here????
CG

Thats because Sequence Container 2 is not part of any existing transaction. Having a transaction option as Supported means it will become part of a transaction only if one exists at parent level which in this case is package itself. So for it to rollback
changes in case of any failures there should be a transaction atleast at the package level ie TransactionOption for package should be required. I think in your case its not so as you've enabled transaction only for sequence container 1 which is beyond its
scope.
So if you want any failure inside package ie inside sequence container 1 or 2 causing all things to be rolled back then you need to make transaction option as required for package or add both these sequence containers within another sequence container
and enabled transaction for it by setting TransactionOption property to required.
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

Similar Messages

  • In sequence container i have three task one task have to made transaction Remaining three task made not transaction

    in sequence container i have three task one task have to made transaction Remaining three task made not transaction

    Hi hari3109,
    Just as Visakh said, we need to set the TransactionOption property of the container to ‘Required’ to enable transaction. The Required value means this container will cause a new transaction to be started unless the parent container already has a transaction,
    in which case, the parent’s transaction will be joined. For more details about TransactionOption property, please see:
    http://msdn.microsoft.com/en-IN/library/microsoft.sqlserver.dts.runtime.dtstransactionoption.aspx
    Besides, we should follow there guidelines to decide whether and how to implement a transaction:
    For transactions to be enabled in SSIS, you need to turn on the DTC service, and the tasks that you want to be part of the transaction must work with the DTC service natively.
    If a series of tasks must be completed as a single unit, in which either all the tasks are successful and committed or an error occurs and none of the tasks are committed, then place the tasks within a Sequence Container, and then set the TransactionOption
    property of the container to Required.
    A task can inherit the transaction setting of its parent when the TransactionOption property is set to Supported, which is the default setting when creating a task or container.
    You can prevent a task from participating in a transaction by setting its TransactionOp-tion setting to NotSupported.
    Transactions work at the control flow level and not within a data flow. This means that you can turn on a transaction for a data flow task, but you cannot turn it on separately for selected components within the data flow; either the entire data process
    will be successful or it will be rolled back.
    For more information about Configuring Package Transactions in SSIS, please refer to the following document:
    http://msdn.microsoft.com/en-us/library/cc304421.aspx
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • What is the exact use of Sequence container

    Hi all,
       I am intermediate in SSIS package,i am not understanding what is the exact use of Sequence container ?
      I am preparing for interview(3 years exp), if experts dont mind can you pls share some tips and questions to clear the interview ?
     pls
    thanks

    Hi SelvakumarSubramaniam,
    This blog delivers a good summary of the benefits we can get by using Sequence Container:
    Easier debugging by allowing you to disable groups of tasks to focus package debugging on one subset of the package control flow.
    Managing multiple tasks in one location by setting properties on a Sequence Container instead of setting properties on the individual tasks.
    Provides scope for variables that a group of related tasks and containers use.
    Create a transaction around all the components inside the container.
    Here are some other good resources:
    http://www.phpring.com/sequence-container-in-ssis/ 
    http://sql-developers.blogspot.com/2010/06/sequence-container-in-ssis.html 
    Regards,
    Mike Yin
    TechNet Community Support

  • Execute a sequence container based on logic

    i have 3 sequence containers in a SSIS package
    one has to be executed every 30 days
    one has to be executed every 7 days
    one has to be executed 2 days
    this particular package has to be scheduled using sql server agent
    now how do i write my logic in such a way that only a certain sequence container has to be executed based on the execution dates and do not touch the other sequence containers
    can somebody throw some light on this
    Thanks

    Use the Precedence Constraints that will be driven by an expression that is based on dates
    https://www.simple-talk.com/sql/ssis/working-with-precedence-constraints-in-sql-server-integration-services/
    Arthur
    MyBlog
    Twitter

  • Time Out a Sequence container

    Hi Guys,
    I have scenerio where i need to throw a time exception sequence container if a predefined time internal elapses and then continue on an alternative path of SSIS package.
    Any suggestions on how i can achive it???
    Regards,
    Harsh

    Hi Guys,
    Just found another way of doing the same thing, it is to write a script task and make the process sleep for the desired amount of time and then throw a TimeOutException and the alternative flow will follow the failure path of the sequence container. This
    way you will have better control of the scenerio and you can perform other tasks as well in the script.
    Regards,
    Harsh 
    Yes
    Thats exactly what I have suggested( just in case you missed)
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Sequence contains more than one element error in MVC 5

    I created some models, added the migration and then did an update database operation, though at my last update database operation I got the error message saying:
        Sequence contains more than one element
    Below you can find my migration configuration:
            context.Categories.AddOrUpdate(p => p.CategoryName,
                new Category
                    CategoryName = "Sport"
                new Category
                    CategoryName = "Music"
            context.Subcategories.AddOrUpdate(p => p.SubcategoryName,
                new Subcategory
                    SubcategoryName = "Football"
                new Subcategory
                    SubcategoryName = "Basketball"
                new Subcategory
                    SubcategoryName = "Piano"
                new Subcategory
                    SubcategoryName = "Violin"
            context.Services.AddOrUpdate(p => p.ServiceType,
                new Service
                    ServiceType = "Football player",
                    Category = { CategoryName = "Sport" },
                    Subcategory = { SubcategoryName = "Football" }
                new Service 
                    ServiceType = "Piano lessons",
                    Category = { CategoryName = "Music" },
                    Subcategory = { SubcategoryName = "Piano" }
    The problem occurs with when I add new Services. I already have categories and subcategories, and if I do like Category = new Category { CategoryName = "Music" } then it works but I get Music entry twice in my database (for this example). I want to
    use the already added categories and subcategories. Below also you can find my models definitions.
    public class Category
        [Key]
        public int CategoryID { get; set; }
        public string CategoryName { get; set; }
    // Subcategory is defined the same way...
    public class Service
        public int ServiceID { get; set; }
        public string ServiceType { get; set; }
        public virtual Category Category { get; set; }
        public virtual Subcategory Subcategory { get; set; }
    }

    After reading the article in the link that you have provided, I did the following changes in my models, and created controllers for each of them using Entity Framework, then I created a migration and named it InitialServices. Afterwards, I added a few
    entries in my Configuration.cs file and when I typed Update-Database, I got an error message in package manager saying "RenameIndexOperation", which is marked with red. Below you can find my changed models and my Configuration.cs file, along with the migration
    file created automatically.
    Category.cs:
        public class Category
            [Key]
            public int CategoryID { get; set; }
            public string CategoryName { get; set; }
            public virtual ICollection<Subcategory> Subcategories { get; set; }
    Subcategory.cs:
        public class Subcategory
            [Key]
            public int SubcategoryID { get; set; }
            public string SubcategoryName { get; set; }
            [ForeignKey("Category")]
            public int CategoryID { get; set; }
            public virtual Category Category { get; set; }
            public virtual ICollection<Service> Services { get; set; }
    Service.cs:
        public class Service
            [Key]
            public int ServiceID { get; set; }
            [Required]
            [Display(Name="Service type")]
            public string ServiceType { get; set; }
            [ForeignKey("Subcategory")]
            public int SubcategoryID { get; set; }
            public int Count { get; set; }
            public virtual Subcategory Subcategory { get; set; }
    _InitialServices.cs:
        public partial class InitialServices : DbMigration
            public override void Up()
                DropForeignKey("dbo.Services", "Category_CategoryID", "dbo.Categories");
                DropIndex("dbo.Services", new[] { "Category_CategoryID" });
                RenameColumn(table: "dbo.Services", name: "Subcategory_SubcategoryID", newName: "SubcategoryID");
                RenameIndex(table: "dbo.Services", name: "IX_Subcategory_SubcategoryID", newName: "IX_SubcategoryID");
                AddColumn("dbo.Subcategories", "CategoryID", c => c.Int(nullable: false));
                CreateIndex("dbo.Subcategories", "CategoryID");
                AddForeignKey("dbo.Subcategories", "CategoryID", "dbo.Categories", "CategoryID", cascadeDelete: true);
                DropColumn("dbo.Services", "Category_CategoryID");
            public override void Down()
                AddColumn("dbo.Services", "Category_CategoryID", c => c.Int(nullable: false));
                DropForeignKey("dbo.Subcategories", "CategoryID", "dbo.Categories");
                DropIndex("dbo.Subcategories", new[] { "CategoryID" });
                DropColumn("dbo.Subcategories", "CategoryID");
                RenameIndex(table: "dbo.Services", name: "IX_SubcategoryID", newName: "IX_Subcategory_SubcategoryID");
                RenameColumn(table: "dbo.Services", name: "SubcategoryID", newName: "Subcategory_SubcategoryID");
                CreateIndex("dbo.Services", "Category_CategoryID");
                AddForeignKey("dbo.Services", "Category_CategoryID", "dbo.Categories", "CategoryID", cascadeDelete: true);
    Configuration.cs:
    protected override void Seed(Workfly.Models.ApplicationDbContext context)
                var categories = new List<Category>
                    new Category { CategoryName = "Sport" },
                    new Category { CategoryName = "Music" }
                categories.ForEach(c => context.Categories.AddOrUpdate(p => p.CategoryName, c));
                context.SaveChanges();
                var subcategories = new List<Subcategory>
                    new Subcategory { SubcategoryName = "Football", CategoryID = categories.Single(c => c.CategoryName == "Sport").CategoryID },
                    new Subcategory { SubcategoryName = "Basketball", CategoryID = categories.Single(c => c.CategoryName == "Sport").CategoryID },
                    new Subcategory { SubcategoryName = "Piano", CategoryID = categories.Single(c => c.CategoryName == "Music").CategoryID },
                    new Subcategory { SubcategoryName = "Violin", CategoryID = categories.Single(c => c.CategoryName == "Music").CategoryID }
                foreach (Subcategory s in subcategories)
                    var subcategoriesInDB = context.Subcategories.Where(c => c.Category.CategoryID == s.CategoryID).SingleOrDefault();
                    if (subcategoriesInDB == null)
                        context.Subcategories.Add(s);
                context.SaveChanges();
                var services = new List<Service>
                    new Service { ServiceType = "Football coach", SubcategoryID = subcategories.Single(s => s.SubcategoryName == "Football").SubcategoryID },
                    new Service { ServiceType = "Piano lessons", SubcategoryID = subcategories.Single(s => s.SubcategoryName == "Music").SubcategoryID }
                foreach (Service s in services)
                    var servicesInDB = context.Services.Where(t => t.Subcategory.SubcategoryID == s.SubcategoryID).SingleOrDefault();
                    if (servicesInDB == null)
                        context.Services.Add(s);
                context.SaveChanges();
            }

  • Sequence contains more than one matching element

    Hi
    I have checked all threads and none answers my issue.
    I am trying to drop a user and am following this blog:
    http://sanderstechnology.com/2013/login-and-user-management-in-sql-azure/12826/#.U46Hh_mSweo
    Below is a series of screen-shots of the issue. Please assist. Thanks, Mark.
    Mark

    Hello,
    Based on your descritpion, you create a SQL database with WEB edition and try to connect to the MASTER database from Windows Azure Management portal. But it is failed with "Sequence contains more than one matching element" occasionally.
    Due to the uncertainty and randomness factors, it requires higher level troubleshooting methods.I suggest you contact Windows Azure support team by creating a support ticket at 
    http://www.windowsazure.com/en-us/support/contact if you recevied this error again.
    As for drop login, it may caused by the premssion. In SQL databae, only server-level principal login (created by the provisioning process) or the credentials of an existing member of the "loginmanager" database role can manage logins. If you are not use
    a server-level principal login, please ask the adminstrator add the login to loginmanager databaserole:
    EXEC sp_addrolemember 'loginmanager', 'login-you-used';
    Reference:http://msdn.microsoft.com/en-us/library/azure/ee336235.aspx
    Regards,
    Fanny Liu
    If you have any feedback on our support, please click here. 
    Fanny Liu
    TechNet Community Support

  • Device error "sequence contains no matching element"

    Hallo,
    I just received the VirtualBench and I could use it as I connect it for the first time. I then downloaded and run the program for Window7, so that I would be able to run the program from my PC.
    Since then, I cannot work anymore more with the virtualbench. It always give the same error: device error: sequence contains no matching element.....
    What it wronf what shall I do?
    Note: I read a similar question, but it seemed that the error disppeared somehow for unexplained reason. So, there were actually no solution mentionned for this problem.
    Thanks in advance for any support.
    Solved!
    Go to Solution.

    For anybody that has this problem in the future, we'd really like to get to the root of the problem.  To help with that I have created a small utility that will pull the configurations from your device and save them to files.  These configurations appear to be corrupted in these situations.
    The easiest way to use the utility is to run it from the command line.  It will find the first USB VirtualBench on your system and save any configuration files it has to your temporary directory.  For example:
    C:\Users\User\Desktop>nivb_cfgutil.exe
    Saving files to C:\Users\User\AppData\Local\Temp\
    Connecting to device 'vbzach'
    Found config: ni-virtualbench-preferences.vbconfig
    Wrote config to file C:\Users\User\AppData\Local\Temp\ni-virtualbench-p​reference
    s.vbconfig
    Found config: test_cfg.vbconfig
    Wrote config to file C:\Users\User\AppData\Local\Temp\test_cfg.vbconfig
    Found config: test_cfg2.vbconfig
    Wrote config to file C:\Users\User\AppData\Local\Temp\test_cfg2.vbconfi​g
    It also has some options that allow  you to specify the device to connect to (either by name, IP address, or hostname), where to put the files, and whether or not to overwrite existing files on your PC.  For example:
    C:\Users\User\Desktop>nivb_cfgutil.exe --help
    Usage: nivb_cfgutil.exe [options]
    Main options:
      -h, --help
          Shows help.
      -d, --dev=device
          Device name to target.
      -o, --out=directory
          Output directory to save config files.  If not specified, the temporary di
    rectory is used.
      -w, --overwrite
          Overwrite existing files.
    What we would like is that when people run into this issue they perform the following steps:
    Attach the application preferences files:
    Open a file explorer
    In the address bar, enter this path (copy/paste can help):
    XP: %USERPROFILE%\Local Settings\Application Data\National Instruments\NI-VirtualBench
    Vista, 7, 8: %USERPROFILE%\AppData\Local\National Instruments\NI-VirtualBench
    Attach the file ni-virtualbench-preferences.vbconfig to a post here so we can inspect it.
    Run the nivb_cfgutil.exe utility attached to this post, and post any *.vbconfig files it creates to a post here so that we can inspect it.
    Once you have done that, you should be able to fix the issue by doing the following:
    Use the reset button on the back. The application also uses information stored on the PC when it starts. If the problem is there, then resetting the device alone won't help.
    NI VirtualBench Help :: Reset Button http://zone.ni.com/reference/en-XX/help/371526A-01/vbhelp/wirelessbutton/
    Launch the app.  If it works, you're done.
    If the issue was not resolved, you may also need to delete the file mentioned above.
    Open a file explorer
    In the address bar, enter this path (copy/paste can help):
    XP: %USERPROFILE%\Local Settings\Application Data\National Instruments\NI-VirtualBench
    Vista, 7, 8: %USERPROFILE%\AppData\Local\National Instruments\NI-VirtualBench
    Delete the file ni-virtualbench-preferences.vbconfig
    Zach Hindes
    NI R&D
    Attachments:
    nivb_cfgutil.zip ‏991 KB

  • What is order of execution in Sequence container

    hi all,
     I want to know the order of execution in sequence container. we have sequence container and loading 20 dimension table but no precedence constraints between the task, each tasks are separate.
     What is the flow of execution, is sequence container allow parallel execution of task ?
    Please guide me.
    Thanks in advance.

    Hello,
    All tasks which exist inside your Sequence container will execute in parallel. 
    If you want to control the order in which they execute then you need to use precedence constraints.
    -Vaibhav Chaudhari

  • Virtual bench "system error" Sequence contains no matching element

    We have a Virtual Bench that will not correctly connect. We get a pop up "System Error" and the text in the middle reads "Sequence Contains No matching element"

    Thanks :-)
    I have two requests -- please do them in this order.
    Attach the application preferences file:
    Open a file explorer
    In the address bar, enter this path (copy/paste can help):
    XP: %USERPROFILE%\Local Settings\Application Data\National Instruments\NI-VirtualBench
    Vista, 7, 8: %USERPROFILE%\AppData\Local\National Instruments\NI-VirtualBench
    Attach the file ni-virtualbench-preferences.vbconfig
    Try switching to Demo Mode after you receive the error:
    How Can I Switch between the Hardware and Demo Modes of VirtualBench?
    http://digital.ni.com/public.nsf/allkb/89A7E8A6F39D4FAA86257D3A00791312
    If the application can use Demo Mode, please let me know.
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)

  • Sequence Contains No Elements

    Hi Experts,
    I am new to SAP BPC and is in the process of self learning.
    I have created dimensions and a new model. Now I want to fill some master data from flat file to one of the dimensions. For this purpose I am opening the excel add-in and then trying to connect to my newly created model. But it is giving error "Sequence contains no elements". However I am able to connect to the standard models already existing in the system. Please help.
    Regards,
    Arun.

    Hi Firoz,
    Even I got the same issue. your solution solved my issue but
    What is the need of dummy members here ?
    cant we create with out dummy members ?

  • How can I run all tasks in sequence container in sequence instead parllel

    Hi,
    I Have a foreach loop container. in that container having multiple execute process tasks. when I am executing the package all tasks are running parallel instead of sequential.
    so please kindly help me, how can I run the tasks sequential?
    Thanks

    As Sorna already wrote, connect the Tasks with a precedence constraint = green arrow, then they will be executed one by one.
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • How can I execute Stored Procedures in PARALLEL and DYNAMICALLY ?

    Hi 
    I have a stored procedure. It can be executed like this
    exec test @p = 1;
    exec test @p = 2
    exec test @p = n;
    n can be hundred.
    I want the sp being executed in parallel, not sequence. It means the 3 examples above can be run at the same time.
    If I know the number in advance, say 3, I can create 3 different Execution SQL Tasks. They can be run in parallel.
    However, the n is not static. It is coming from a table. 
    How can I execute Stored Procedures in PARALLEL and DYNAMICALLY ?
    I think about using script task. In the script, I get the value of n, and the list of p, from the table, then running a loop with. In the loop, I create a threat and in the threat, I execute the sp like : exec test @p = p. So the exec test may
    be run parallel. But I am not sure if it works.
    Any idea is really appreciated.

    Hi nam_man,
    According to your description, you want to call stored procedures in parallel, right?
    In SSIS, we can create separate jobs with different stored procedures, then set the same schedule to kick the jobs off at the same time. In this way, we should be careful to monitor blocking and deadlocking depending on what the jobs are doing.
    We can also put all stored procedures in SSIS Sequence container, then they will be run in parallel.
    For more information about SSIS job and Sequence container, please refer to the following documents:
    http://www.mssqltips.com/sqlservertutorial/220/scheduling-ssis-packages-with-sql-server-agent/
    https://msdn.microsoft.com/en-us/library/ms139855(v=sql.110).aspx
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    Wendy Fu
    TechNet Community Support

  • Sequence execution all containing similar dataflows to database results in 1 sequence getting errors, all have TransactionOption=Supported

    I have 3 sequence Containers, all with TransactionOption = Supported. Each individual Sequence container contains a dataflow task that executes a script component to get data and write to output fields in table using OLE DB table Destination.
    All three Script Component sets up the data for the tables and has a preexecute, here is part of code in script component
       private System.String[] Transmissions;
        /// <summary>
        /// This method is called once, before rows begin to be processed in the data flow.
        /// You can remove this method if you don't need to do anything here.
        /// </summary>
        public override void PreExecute()
            base.PreExecute();
             * Add your code here
            this.Transmissions = this.ReadOnlyVariables["User::TransmissionData"].Value as System.String[];
        public override void CreateNewOutputRows()
              Add rows by calling the AddRow method on the member variable named "<Output Name>Buffer".
              For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput".
            foreach (System.String Row in Transmissions)
                try
                    System.Array ar = Row.Split(",".ToCharArray());
                    //System.Int32.Parse(ar.GetValue(0).ToString());
                    //System.DateTime.Parse(ar.GetValue(1).ToString());
                    //System.Decimal.Parse(ar.GetValue(2).ToString());
                    System.DateTime.Parse(ar.GetValue(0).ToString());
                    System.DateTime.Parse(ar.GetValue(1).ToString());
                    System.Int32.Parse(ar.GetValue(3).ToString());
                    float.Parse(ar.GetValue(6).ToString());
                    OutputBuffer.AddRow();
                    OutputBuffer.StartDatetime = System.DateTime.Parse(ar.GetValue(0).ToString());
                    OutputBuffer.EndDateTime = System.DateTime.Parse(ar.GetValue(1).ToString());
    When I just execute the first two sequence containers, everything works, data written to tables.
    When I include the third sequence container, it throw an error like
    Script Component has encountered an exception in user code:
    Project name:  SC_2c..........................
    Object reference not set to an instance of object.
    at ScriptMain.PreExecute()
    at
    Microsoft.SqlSever.Dts.Piperline.ScriptComponentHost.PreExecute()
    Any ideas why when I include the third sequence/Script Component it fails? It looks like it failing in PreExecute
    thanks in advance.
    Greg Hanson

    HI Arthur thanks for answer, yes i believe it is a timing issue because when I run each container individually it works. I need to keep each sequence container separate, I believe, since a Script task (in C#) that parses the text file feeds each container
    separately. Each Sequence Container has "Transaction Supported" set. If I include 1 & 3, 2 & 3 it FAILS.
    This  is rough schematic of what I have. I thought of connecting the sequence containers, but that won't work as my Script Task that parses the file feeds separate into each sequence container:
    Script Task - Parses file into 3 separate DTS variables all containing array of strings:
    Transmission array of strings
    Energy array of strings
    Tag array of strings
    Script Task feeds into 3 separate Containers:
    Transmission container containing dataflow task that has Script Component that converts array to rows that uses oledb dest to load data into  transmission table
    Energy container containing separate dataflow task  that has Script Component  that converts array to rows that uses oledb dest to load data into Energy table
    Tag container containing separate dataflow task  that has Script Component that converts array to rows that uses oledb dest to load data into Tag table **** THIS FAILS
    I have also just tried using 1 sequence container for all Data Flow tasks, and it still fails on the last Load to Tag table data flow getting
    Script component has encountered an exception in user code:
    Project name:   SC_...
    Object reference not set to an instance of object.
    at ScriptMain.PreExecute()
    at
    Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PreExecute()
    YET WHEN I EXECUTE THIS CONTAINER SEPARATE IT WORKS.
    When I set a breakpoint in preexecute in LoadDatainto Tag Table Script Component and hit break, it WORKS!
    Please help this is due tomorrow! 
    Greg Hanson

  • Please help me to understand Transaction option in SSIS container

    Hi experts,
     I am confused about Transaction option in SSIS container,
    1. Required - Start the transaction. What is mean that start transaction?
    2.Supported- join the transaction ..
    can you please help me to understand.
    Thanks

    I think Vaibhav already answered your question but here's more from my end.
    1. 
        Package - Transaction Option - Supported
        SEQC - Transaction Option - Supported
        3 Execute SQL Tasks - Transaction Option - Supported
    So, package / SEQC / SQL 1 / SQL 2 / SQL 3 doesn't involve in a transaction i.e. think of those tasks are not included in
    BEGIN TRANSACTION / COMMIT TRANSACTION
    Sequence Container
    --Execute SQL Task 1
    INSERT INTO dbo.t1 (a)   
    SELECT 10
    --Execute SQL Task 2
    INSERT INTO dbo.t1 (a) 
    SELECT 11
    --Execute SQL Task 3
    INSERT INTO dbo.t1 (a) 
    SELECT 'aa'
    When we execute package, it will insert 10, 11 values into table dbo.t1 and since there's an error in the 3rd statement, it'll fail
    2.  
        Package - Transaction Option - Required
        SEQC - Transaction Option - Supported
        3 Execute SQL Tasks - Transaction Option - Supported
    Now, package will Start a transaction since it's Transaction Option is "Required" , so now the SEQC (3 Execute SQL tasks) will
    be inside transaction / join the transaction because their transaction option is "Supported".
    Package - Information: Starting distributed transaction for this container. --BEGIN TRANSACTION 
    (You'll see this statement in Processing / Execution Results tab)
    SEQC
    --Execute SQL Task 1
    INSERT INTO dbo.t1 (a)   
    SELECT 21
    --Execute SQL Task 2
    INSERT INTO dbo.t1 (a) 
    SELECT 22
    --Execute SQL Task 3
    INSERT INTO dbo.t1 (a) 
    SELECT 23
    Package - Information: Committing distributed transaction started by this container. -- COMMIT TRANSACTION 
    (You'll see this statement in Processing / Execution Results tab)
    When we execute package, it will insert 21, 22, 23 values into table dbo.t1 and also you can see the START TRANSACTION /
    COMMIT TRANSACTION in the Exection Results tab are at the Package Level and not at the Sequence Container level.
    Without any change, if you change the value from 23 to 'aa' in the 3rd Execute SQL task then you'll see 
    Information: Aborting the current distributed transaction. statement in the 3rd Executed SQL Task in Execute Results tab
    which is at the Sequence container / Execute SQL task 3 level and it's because their Transaction option is Supported and so they
    joined the transaction 
    Please see the screenshot below that under Package, the START TRANSACTION but ABORT TRANSACTION is at Execute SQL task
    level
    3. 
        Package - Transaction Option - Supported
        SEQC - Transaction Option - Required
        3 Execute SQL Tasks - Transaction Option - Supported
    Please see the screenshot below that under Sequence Container, the TRANSACTION has started. Since the the Sequence container's
    parent (which is package) has not started any transaction and so the it started it's own transaction. 
    4. 
        Package - Transaction Option - Required
        SEQC - Transaction Option - Required
        3 Execute SQL Tasks - Transaction Option - Supported
    See the screenshot below which is same as first screenshot.
    Since Package's transaction property is set to "Required" and it's Parent to Sequence Container 
    and so package started the started the transaction, and  though Sequence container's transaction option is "Required", 
    it will not start a new transaction rather it "joins" the transaction that was already opened by it's Parent (Package). 
    Now, if we see the definitions what Supported and Required means - 
    Supported - Specifies that this container will not start a transaction. 
    However, it will participate in a transaction if the parent container started one. This is the default. (4th Example)
    Required - Specifies that this container will cause a new transaction to be started unless the parent container already has a transaction, 
     in which case, the parent’s transaction will be joined. (2nd and 3rd Examples)
    Narsimha

Maybe you are looking for