Re: Concurrent Connections / Shared Transaction

From: Shawn B. (leabre_at_html.com)
Date: 03/16/05


Date: Tue, 15 Mar 2005 16:26:58 -0800

What do you mean by interleaved? Do you mean that one will execute and
complete and then the other command in the transaction will execute and
complete and then the next one, from a queue of some sort? versus executing
parallel?

Thanks,
Shawn

"Pablo Castro [MS]" <pablocas@online.microsoft.com> wrote in message
news:elFsi4OKFHA.1500@TK2MSFTNGP09.phx.gbl...
> Actually, bound sessions allow you to share the transaction space among
two
> connections but doesn't give you concurrent access to it. If you try to
> execute a batch on a connection while the other is actively doing
something
> within the transaction the server will return an error saying that the
> transaction context is in use.
>
> COM+ is the only solution I know of for this scenario. Even with COM+/DTC
> you'll see some serialization around the transaction. In ADO.NET 2.0 + SQL
> Server 2005 you can mix MARS plus asynchronous command execution to submit
> two requests concurrently within the same transaction; however, note that
in
> that case you won't get parallelism in the server; multiple MARS sessions
> within a connection are interleaved, not executed in parallel.
>
> --
> Pablo Castro
> Program Manager - ADO.NET Team
> Microsoft Corp.
>
> This posting is provided "AS IS" with no warranties, and confers no
rights.
>
>
> "Angel Saenz-Badillos[MS]" <angelsa@online.microsoft.com> wrote in message
> news:uJbeJ0FKFHA.1340@TK2MSFTNGP10.phx.gbl...
> > As long as both connections are to the same instance of Sql Server you
can
> > use sp_bindsession to get this behavior without having to use
distributed
> > transactions.
> >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_ba-bz_9ini.asp
> >
> > Hope this helps.
> > --
> > Angel Saenz-Badillos [MS] Managed Providers
> > This posting is provided "AS IS", with no warranties, and confers no
> > rights.Please do not send email directly to this alias.
> > This alias is for newsgroup purposes only.
> > I am now blogging about ADO.NET: http://weblogs.asp.net/angelsb/
> >
> >
> >
> >
> > "Dumitru Sbenghe" <sbenghe@yahoo.com> wrote in message
> > news:uyT4fXwJFHA.2752@TK2MSFTNGP10.phx.gbl...
> >> Given the current status of ADO.NET (version 1.1), you can not do what
> >> you
> >> want. Because the SqlClient provider permit only one command running on
a
> >> given connection at a time, the only solution will be a distributed
> >> transaction coordinator + 2 connections with 2 commands executed
> >> concurrently aka ES/COM+ in .NET . or wait until ADO.NET 2.0 will be
> >> released :), version which will permit this behavior.
> >>
> >>
> >>
> >> Dumitru
> >>
> >>
> >> "Shawn B." <leabre@html.com> wrote in message
> >> news:uA6kqFtJFHA.1096@tk2msftngp13.phx.gbl...
> >> > Greetings,
> >> >
> >> > I have two SqlCommands objects that each need to execute concurrently
> > but
> >> > I
> >> > want them both to be a part of the same transaction.
> >> >
> >> > What I'm doing is created one SqlCommand and Beginning a transaction.
> >> >
> >> > I have another SqlCommand that is being executed from within an
> >> > Asynchronous
> >> > delegate that needs to participate in the same transaction. The
> >> > problem
> >> > is
> >> > that I get the infamous exception stating that the connection is
> >> > already
> >> > in
> >> > use.
> >> >
> >> > COM+ is not an answer here.
> >> >
> >> > What I want to know is if there is a way to make this work correctly
> > using
> >> > only ADO.NET?
> >> >
> >> >
> >> > Thanks,
> >> > Shawn
> >> >
> >> >
> >>
> >>
> >
> >
>
>



Relevant Pages

  • Re: Concurrent Connections / Shared Transaction
    ... bound sessions allow you to share the transaction space among ... > Server 2005 you can mix MARS plus asynchronous command execution to submit ... > within a connection are interleaved, ... >>>> I have two SqlCommands objects that each need to execute concurrently ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Linked Server Locks!!!!
    ... transaction and it works properly. ... the connections on the linked server ...
    (microsoft.public.sqlserver.programming)
  • Re: Dll to send data wait 6 seconds then retrieve data
    ... > What is the best way to have the server execute code wait 6 seconds then ... All the code works except for the waiting part. ... > multiple connections at the same time waiting for a transaction status. ...
    (microsoft.public.vb.6.webdevelopment)
  • Re: Linked Server Locks!!!!
    ... there are post SP3 updates. ... update available of SQL server! ... >> the connections on the linked server ... >> current transaction is committed and the next update takes place. ...
    (microsoft.public.sqlserver.programming)
  • Re: Concurrent Connections / Shared Transaction
    ... In MARS there are fixed interleave points in the server. ... Do you mean that one will execute and ... bound sessions allow you to share the transaction space among ...
    (microsoft.public.dotnet.framework.adonet)