I'm getting the classic message "The timeout period elapsed prior to obtaining a connection from the pool" etc when connecting to my SQL Server 2005 Express from a .Net application.
Then I try connecting, simultaneously, from a simple ASP.net thing I wrote just for testing and this works fine. So, then the connection pool can't be full, can it? Or, does each application have its own pool??The application has its own pool. I have run into this before. Check through the .net application to make sure you closed all the connections.|||Check through the .net application to make sure you closed all the connections.I thought .Net did all this for you?|||From what I've understood, the Garbage Collector closes connections, but it might take some while before it does it. And I'm not sure that it can take care of all the relevant connections.
About my problem; it seems to work now after having changed the application to log in as an other user. Could it have been caused by some other error in the user/login setup?|||I imagine the Garbage Collector will close connections after the application exits, but when does a web application exit? The connections are sitting in the pool, and the close connection is what releases the connection back to the pool to be used again. Another annoying thing to note is that a connection is only reusable by other connection objects only if they share the same connection string. I think under ADO differences in the order of attributes made for two separate connection pools, but I am not sure, now.|||I noticed now that as soon as I re-save the config file read by IIS for this application, the application removes all the sleeping connections and it works fine, until a 100 connections limit is reached again. (Increasing the 100 threshold would just postpone the problem.)
Killing all the processes from within SQL Server doesn't help.|||what I learned from my brief stint as a java programmer was to never trust the garbage collectors and to always DIY. people poke fun at me for explicitly dropping temp tables in SQL but it all comes from this experience.
I wonder if this has some connection to a limitation with SQLExpress. I do not know for certain.
Showing posts with label connection. Show all posts
Showing posts with label connection. Show all posts
Wednesday, March 21, 2012
Out of connections... or am I?
Wednesday, March 7, 2012
osql connection to server on a different domain
I would like to be able to run a script from my machine that would go out and
change the sa passwords on all SQL Server Instances on our 3 different
domains.
We have Dev, Test and Prod domains.
When I do an osql -L I only see the SQL servers on that domain.
Is there anyway I can see servers on the other domains.
e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
Any help appreciated.
MPM
Hi,
That depends up on the way your Trust relation ship is set between domains.
Please contact your system administrator.
Thanks
Hari
SQL Server MVP
"MANCPOLYMAN" <MANCPOLYMAN@.discussions.microsoft.com> wrote in message
news:1280490D-08C4-424D-9202-C4F023C5236C@.microsoft.com...
>I would like to be able to run a script from my machine that would go out
>and
> change the sa passwords on all SQL Server Instances on our 3 different
> domains.
> We have Dev, Test and Prod domains.
> When I do an osql -L I only see the SQL servers on that domain.
> Is there anyway I can see servers on the other domains.
> e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
> Any help appreciated.
> MPM
change the sa passwords on all SQL Server Instances on our 3 different
domains.
We have Dev, Test and Prod domains.
When I do an osql -L I only see the SQL servers on that domain.
Is there anyway I can see servers on the other domains.
e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
Any help appreciated.
MPM
Hi,
That depends up on the way your Trust relation ship is set between domains.
Please contact your system administrator.
Thanks
Hari
SQL Server MVP
"MANCPOLYMAN" <MANCPOLYMAN@.discussions.microsoft.com> wrote in message
news:1280490D-08C4-424D-9202-C4F023C5236C@.microsoft.com...
>I would like to be able to run a script from my machine that would go out
>and
> change the sa passwords on all SQL Server Instances on our 3 different
> domains.
> We have Dev, Test and Prod domains.
> When I do an osql -L I only see the SQL servers on that domain.
> Is there anyway I can see servers on the other domains.
> e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
> Any help appreciated.
> MPM
osql connection to server on a different domain
I would like to be able to run a script from my machine that would go out an
d
change the sa passwords on all SQL Server Instances on our 3 different
domains.
We have Dev, Test and Prod domains.
When I do an osql -L I only see the SQL servers on that domain.
Is there anyway I can see servers on the other domains.
e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
Any help appreciated.
MPMHi,
That depends up on the way your Trust relation ship is set between domains.
Please contact your system administrator.
Thanks
Hari
SQL Server MVP
"MANCPOLYMAN" <MANCPOLYMAN@.discussions.microsoft.com> wrote in message
news:1280490D-08C4-424D-9202-C4F023C5236C@.microsoft.com...
>I would like to be able to run a script from my machine that would go out
>and
> change the sa passwords on all SQL Server Instances on our 3 different
> domains.
> We have Dev, Test and Prod domains.
> When I do an osql -L I only see the SQL servers on that domain.
> Is there anyway I can see servers on the other domains.
> e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
> Any help appreciated.
> MPM
d
change the sa passwords on all SQL Server Instances on our 3 different
domains.
We have Dev, Test and Prod domains.
When I do an osql -L I only see the SQL servers on that domain.
Is there anyway I can see servers on the other domains.
e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
Any help appreciated.
MPMHi,
That depends up on the way your Trust relation ship is set between domains.
Please contact your system administrator.
Thanks
Hari
SQL Server MVP
"MANCPOLYMAN" <MANCPOLYMAN@.discussions.microsoft.com> wrote in message
news:1280490D-08C4-424D-9202-C4F023C5236C@.microsoft.com...
>I would like to be able to run a script from my machine that would go out
>and
> change the sa passwords on all SQL Server Instances on our 3 different
> domains.
> We have Dev, Test and Prod domains.
> When I do an osql -L I only see the SQL servers on that domain.
> Is there anyway I can see servers on the other domains.
> e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
> Any help appreciated.
> MPM
osql connection to server on a different domain
I would like to be able to run a script from my machine that would go out and
change the sa passwords on all SQL Server Instances on our 3 different
domains.
We have Dev, Test and Prod domains.
When I do an osql -L I only see the SQL servers on that domain.
Is there anyway I can see servers on the other domains.
e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
Any help appreciated.
MPMHi,
That depends up on the way your Trust relation ship is set between domains.
Please contact your system administrator.
Thanks
Hari
SQL Server MVP
"MANCPOLYMAN" <MANCPOLYMAN@.discussions.microsoft.com> wrote in message
news:1280490D-08C4-424D-9202-C4F023C5236C@.microsoft.com...
>I would like to be able to run a script from my machine that would go out
>and
> change the sa passwords on all SQL Server Instances on our 3 different
> domains.
> We have Dev, Test and Prod domains.
> When I do an osql -L I only see the SQL servers on that domain.
> Is there anyway I can see servers on the other domains.
> e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
> Any help appreciated.
> MPM
change the sa passwords on all SQL Server Instances on our 3 different
domains.
We have Dev, Test and Prod domains.
When I do an osql -L I only see the SQL servers on that domain.
Is there anyway I can see servers on the other domains.
e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
Any help appreciated.
MPMHi,
That depends up on the way your Trust relation ship is set between domains.
Please contact your system administrator.
Thanks
Hari
SQL Server MVP
"MANCPOLYMAN" <MANCPOLYMAN@.discussions.microsoft.com> wrote in message
news:1280490D-08C4-424D-9202-C4F023C5236C@.microsoft.com...
>I would like to be able to run a script from my machine that would go out
>and
> change the sa passwords on all SQL Server Instances on our 3 different
> domains.
> We have Dev, Test and Prod domains.
> When I do an osql -L I only see the SQL servers on that domain.
> Is there anyway I can see servers on the other domains.
> e.g INTTEST\Testmachine is on a different domain, can I get to it in osql
> Any help appreciated.
> MPM
Monday, February 20, 2012
Orphaned SPID
I have a spid that was killed in the middle of a
rollback. The status message states that the rollback is
100% complete. The query analyzer connection is not there
anymore.
I cannot kill that spid with the kill command. Is there
any way to kill it without bouncing the server?
"canaries" <anonymous@.discussions.microsoft.com> wrote in message
news:494701c47ff8$74a7d6b0$a401280a@.phx.gbl...
> I have a spid that was killed in the middle of a
> rollback. The status message states that the rollback is
> 100% complete. The query analyzer connection is not there
> anymore.
> I cannot kill that spid with the kill command. Is there
> any way to kill it without bouncing the server?
Assuming you're talking about bouncing the physical server, stopping and
restarting the mssqlserver service should do it for you...
Steve
rollback. The status message states that the rollback is
100% complete. The query analyzer connection is not there
anymore.
I cannot kill that spid with the kill command. Is there
any way to kill it without bouncing the server?
"canaries" <anonymous@.discussions.microsoft.com> wrote in message
news:494701c47ff8$74a7d6b0$a401280a@.phx.gbl...
> I have a spid that was killed in the middle of a
> rollback. The status message states that the rollback is
> 100% complete. The query analyzer connection is not there
> anymore.
> I cannot kill that spid with the kill command. Is there
> any way to kill it without bouncing the server?
Assuming you're talking about bouncing the physical server, stopping and
restarting the mssqlserver service should do it for you...
Steve
Orphaned SPID
I have a spid that was killed in the middle of a
rollback. The status message states that the rollback is
100% complete. The query analyzer connection is not there
anymore.
I cannot kill that spid with the kill command. Is there
any way to kill it without bouncing the server?"canaries" <anonymous@.discussions.microsoft.com> wrote in message
news:494701c47ff8$74a7d6b0$a401280a@.phx.gbl...
> I have a spid that was killed in the middle of a
> rollback. The status message states that the rollback is
> 100% complete. The query analyzer connection is not there
> anymore.
> I cannot kill that spid with the kill command. Is there
> any way to kill it without bouncing the server?
Assuming you're talking about bouncing the physical server, stopping and
restarting the mssqlserver service should do it for you...
Steve
rollback. The status message states that the rollback is
100% complete. The query analyzer connection is not there
anymore.
I cannot kill that spid with the kill command. Is there
any way to kill it without bouncing the server?"canaries" <anonymous@.discussions.microsoft.com> wrote in message
news:494701c47ff8$74a7d6b0$a401280a@.phx.gbl...
> I have a spid that was killed in the middle of a
> rollback. The status message states that the rollback is
> 100% complete. The query analyzer connection is not there
> anymore.
> I cannot kill that spid with the kill command. Is there
> any way to kill it without bouncing the server?
Assuming you're talking about bouncing the physical server, stopping and
restarting the mssqlserver service should do it for you...
Steve
Orphaned Sessions and locks
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
CB
Look at WAITFOR command in the BOL.
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
was
> to update a row in the database and break the network connection before
the
> transaction could be commited. This locks the row in the database for
about
> 5 minutes before Sql Server realises that the communication has been
broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
|||Hi
How did you break the conenction? Unplug the network cable?
What is your command timeout setting (not connection)?
Regards
Mike
"CB" wrote:
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests was
> to update a row in the database and break the network connection before the
> transaction could be commited. This locks the row in the database for about
> 5 minutes before Sql Server realises that the communication has been broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
>
|||The network tells sql when the connection is broken. I beleive there is a
TCP option called Keepalive. This controls how frequently TCP checks each
connection to see if it is alive - perhaps setting the keepalive to a
smaller value...
Also, you might check about connection pooling - and see if that is having
an effect ( although it should not.)
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
> was
> to update a row in the database and break the network connection before
> the
> transaction could be commited. This locks the row in the database for
> about
> 5 minutes before Sql Server realises that the communication has been
> broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
|||Yes, don't do this. This is old Client/Server technology and you should
migrate to n-Tier.
NEVER LET THE CLIENT CONTROL TRANSACTIONS. This is the number one
concurrency killer.
Batch up everything you want to do, including the BEGIN TRANS and COMMIT or
ROLLBACK logic and ship it to the SQL Server. Better yet, use nothing but
stored procedures for all of your CRUD operations.
Think through these two scenarios and tell me which one is more efficient
and faster.
Client-controlled transactions.
1. Client submits BEGIN TRAN request.
2. Request travels across network.
3. Server responds with success or failure.
4. Response travels across network.
5. Repeat process for each CRUD operation. Submit, traffic, response,
traffic.
6. Client does other processing.
7. Client submits COMMIT or ROLLBACK TRAN request.
8. Request travels across network.
9. Server responds.
10. Response travels across netowrk.
Server-controlled transactions.
1. Client submits parameters with stored procedure execution request.
2. Request travels across network.
3. Server executes transaction and all CRUD operations...very fast.
4. Response travels across network.
Hmmm? Which would you prefer? The point is about transaction processing is
that the DBMS must hold locks while the modifications are being made. You
DO NOT WANT those locks held simply because the client is having network
connections. If something should happen before the stored procedure and all
of the parameters reach the server, noting happens and the end user will
have to resubmit the request. If something should happen to the client
after the request was transmitted, the transaction still processes as if the
client were still connected. If someting happens to the server while
processing, then the ACID properties of the DBMS provide rollforward or
rollback functionality.
Sincerely,
Anthony Thomas
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
CB
Look at WAITFOR command in the BOL.
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
was
> to update a row in the database and break the network connection before
the
> transaction could be commited. This locks the row in the database for
about
> 5 minutes before Sql Server realises that the communication has been
broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
|||Hi
How did you break the conenction? Unplug the network cable?
What is your command timeout setting (not connection)?
Regards
Mike
"CB" wrote:
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests was
> to update a row in the database and break the network connection before the
> transaction could be commited. This locks the row in the database for about
> 5 minutes before Sql Server realises that the communication has been broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
>
|||The network tells sql when the connection is broken. I beleive there is a
TCP option called Keepalive. This controls how frequently TCP checks each
connection to see if it is alive - perhaps setting the keepalive to a
smaller value...
Also, you might check about connection pooling - and see if that is having
an effect ( although it should not.)
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
> was
> to update a row in the database and break the network connection before
> the
> transaction could be commited. This locks the row in the database for
> about
> 5 minutes before Sql Server realises that the communication has been
> broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
|||Yes, don't do this. This is old Client/Server technology and you should
migrate to n-Tier.
NEVER LET THE CLIENT CONTROL TRANSACTIONS. This is the number one
concurrency killer.
Batch up everything you want to do, including the BEGIN TRANS and COMMIT or
ROLLBACK logic and ship it to the SQL Server. Better yet, use nothing but
stored procedures for all of your CRUD operations.
Think through these two scenarios and tell me which one is more efficient
and faster.
Client-controlled transactions.
1. Client submits BEGIN TRAN request.
2. Request travels across network.
3. Server responds with success or failure.
4. Response travels across network.
5. Repeat process for each CRUD operation. Submit, traffic, response,
traffic.
6. Client does other processing.
7. Client submits COMMIT or ROLLBACK TRAN request.
8. Request travels across network.
9. Server responds.
10. Response travels across netowrk.
Server-controlled transactions.
1. Client submits parameters with stored procedure execution request.
2. Request travels across network.
3. Server executes transaction and all CRUD operations...very fast.
4. Response travels across network.
Hmmm? Which would you prefer? The point is about transaction processing is
that the DBMS must hold locks while the modifications are being made. You
DO NOT WANT those locks held simply because the client is having network
connections. If something should happen before the stored procedure and all
of the parameters reach the server, noting happens and the end user will
have to resubmit the request. If something should happen to the client
after the request was transmitted, the transaction still processes as if the
client were still connected. If someting happens to the server while
processing, then the ACID properties of the DBMS provide rollforward or
rollback functionality.
Sincerely,
Anthony Thomas
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
Orphaned Sessions and locks
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
CraigCB
Look at WAITFOR command in the BOL.
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
was
> to update a row in the database and break the network connection before
the
> transaction could be commited. This locks the row in the database for
about
> 5 minutes before Sql Server realises that the communication has been
broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Hi
How did you break the conenction? Unplug the network cable?
What is your command timeout setting (not connection)?
Regards
Mike
"CB" wrote:
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests was
> to update a row in the database and break the network connection before the
> transaction could be commited. This locks the row in the database for about
> 5 minutes before Sql Server realises that the communication has been broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
>|||The network tells sql when the connection is broken. I beleive there is a
TCP option called Keepalive. This controls how frequently TCP checks each
connection to see if it is alive - perhaps setting the keepalive to a
smaller value...
Also, you might check about connection pooling - and see if that is having
an effect ( although it should not.)
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
> was
> to update a row in the database and break the network connection before
> the
> transaction could be commited. This locks the row in the database for
> about
> 5 minutes before Sql Server realises that the communication has been
> broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Yes, don't do this. This is old Client/Server technology and you should
migrate to n-Tier.
NEVER LET THE CLIENT CONTROL TRANSACTIONS. This is the number one
concurrency killer.
Batch up everything you want to do, including the BEGIN TRANS and COMMIT or
ROLLBACK logic and ship it to the SQL Server. Better yet, use nothing but
stored procedures for all of your CRUD operations.
Think through these two scenarios and tell me which one is more efficient
and faster.
Client-controlled transactions.
1. Client submits BEGIN TRAN request.
2. Request travels across network.
3. Server responds with success or failure.
4. Response travels across network.
5. Repeat process for each CRUD operation. Submit, traffic, response,
traffic.
6. Client does other processing.
7. Client submits COMMIT or ROLLBACK TRAN request.
8. Request travels across network.
9. Server responds.
10. Response travels across netowrk.
Server-controlled transactions.
1. Client submits parameters with stored procedure execution request.
2. Request travels across network.
3. Server executes transaction and all CRUD operations...very fast.
4. Response travels across network.
Hmmm? Which would you prefer? The point is about transaction processing is
that the DBMS must hold locks while the modifications are being made. You
DO NOT WANT those locks held simply because the client is having network
connections. If something should happen before the stored procedure and all
of the parameters reach the server, noting happens and the end user will
have to resubmit the request. If something should happen to the client
after the request was transmitted, the transaction still processes as if the
client were still connected. If someting happens to the server while
processing, then the ACID properties of the DBMS provide rollforward or
rollback functionality.
Sincerely,
Anthony Thomas
--
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
CraigCB
Look at WAITFOR command in the BOL.
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
was
> to update a row in the database and break the network connection before
the
> transaction could be commited. This locks the row in the database for
about
> 5 minutes before Sql Server realises that the communication has been
broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Hi
How did you break the conenction? Unplug the network cable?
What is your command timeout setting (not connection)?
Regards
Mike
"CB" wrote:
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests was
> to update a row in the database and break the network connection before the
> transaction could be commited. This locks the row in the database for about
> 5 minutes before Sql Server realises that the communication has been broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
>|||The network tells sql when the connection is broken. I beleive there is a
TCP option called Keepalive. This controls how frequently TCP checks each
connection to see if it is alive - perhaps setting the keepalive to a
smaller value...
Also, you might check about connection pooling - and see if that is having
an effect ( although it should not.)
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
> was
> to update a row in the database and break the network connection before
> the
> transaction could be commited. This locks the row in the database for
> about
> 5 minutes before Sql Server realises that the communication has been
> broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Yes, don't do this. This is old Client/Server technology and you should
migrate to n-Tier.
NEVER LET THE CLIENT CONTROL TRANSACTIONS. This is the number one
concurrency killer.
Batch up everything you want to do, including the BEGIN TRANS and COMMIT or
ROLLBACK logic and ship it to the SQL Server. Better yet, use nothing but
stored procedures for all of your CRUD operations.
Think through these two scenarios and tell me which one is more efficient
and faster.
Client-controlled transactions.
1. Client submits BEGIN TRAN request.
2. Request travels across network.
3. Server responds with success or failure.
4. Response travels across network.
5. Repeat process for each CRUD operation. Submit, traffic, response,
traffic.
6. Client does other processing.
7. Client submits COMMIT or ROLLBACK TRAN request.
8. Request travels across network.
9. Server responds.
10. Response travels across netowrk.
Server-controlled transactions.
1. Client submits parameters with stored procedure execution request.
2. Request travels across network.
3. Server executes transaction and all CRUD operations...very fast.
4. Response travels across network.
Hmmm? Which would you prefer? The point is about transaction processing is
that the DBMS must hold locks while the modifications are being made. You
DO NOT WANT those locks held simply because the client is having network
connections. If something should happen before the stored procedure and all
of the parameters reach the server, noting happens and the end user will
have to resubmit the request. If something should happen to the client
after the request was transmitted, the transaction still processes as if the
client were still connected. If someting happens to the server while
processing, then the ACID properties of the DBMS provide rollforward or
rollback functionality.
Sincerely,
Anthony Thomas
--
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
Orphaned Sessions and locks
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
CraigCB
Look at WAITFOR command in the BOL.
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
was
> to update a row in the database and break the network connection before
the
> transaction could be commited. This locks the row in the database for
about
> 5 minutes before Sql Server realises that the communication has been
broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Hi
How did you break the conenction? Unplug the network cable?
What is your command timeout setting (not connection)?
Regards
Mike
"CB" wrote:
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests wa
s
> to update a row in the database and break the network connection before th
e
> transaction could be commited. This locks the row in the database for abo
ut
> 5 minutes before Sql Server realises that the communication has been broke
n,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
>|||The network tells sql when the connection is broken. I beleive there is a
TCP option called Keepalive. This controls how frequently TCP checks each
connection to see if it is alive - perhaps setting the keepalive to a
smaller value...
Also, you might check about connection pooling - and see if that is having
an effect ( although it should not.)
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
> was
> to update a row in the database and break the network connection before
> the
> transaction could be commited. This locks the row in the database for
> about
> 5 minutes before Sql Server realises that the communication has been
> broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Yes, don't do this. This is old Client/Server technology and you should
migrate to n-Tier.
NEVER LET THE CLIENT CONTROL TRANSACTIONS. This is the number one
concurrency killer.
Batch up everything you want to do, including the BEGIN TRANS and COMMIT or
ROLLBACK logic and ship it to the SQL Server. Better yet, use nothing but
stored procedures for all of your CRUD operations.
Think through these two scenarios and tell me which one is more efficient
and faster.
Client-controlled transactions.
1. Client submits BEGIN TRAN request.
2. Request travels across network.
3. Server responds with success or failure.
4. Response travels across network.
5. Repeat process for each CRUD operation. Submit, traffic, response,
traffic.
6. Client does other processing.
7. Client submits COMMIT or ROLLBACK TRAN request.
8. Request travels across network.
9. Server responds.
10. Response travels across netowrk.
Server-controlled transactions.
1. Client submits parameters with stored procedure execution request.
2. Request travels across network.
3. Server executes transaction and all CRUD operations...very fast.
4. Response travels across network.
Hmmm? Which would you prefer? The point is about transaction processing is
that the DBMS must hold locks while the modifications are being made. You
DO NOT WANT those locks held simply because the client is having network
connections. If something should happen before the stored procedure and all
of the parameters reach the server, noting happens and the end user will
have to resubmit the request. If something should happen to the client
after the request was transmitted, the transaction still processes as if the
client were still connected. If someting happens to the server while
processing, then the ACID properties of the DBMS provide rollforward or
rollback functionality.
Sincerely,
Anthony Thomas
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
CraigCB
Look at WAITFOR command in the BOL.
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
was
> to update a row in the database and break the network connection before
the
> transaction could be commited. This locks the row in the database for
about
> 5 minutes before Sql Server realises that the communication has been
broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Hi
How did you break the conenction? Unplug the network cable?
What is your command timeout setting (not connection)?
Regards
Mike
"CB" wrote:
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests wa
s
> to update a row in the database and break the network connection before th
e
> transaction could be commited. This locks the row in the database for abo
ut
> 5 minutes before Sql Server realises that the communication has been broke
n,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>
>|||The network tells sql when the connection is broken. I beleive there is a
TCP option called Keepalive. This controls how frequently TCP checks each
connection to see if it is alive - perhaps setting the keepalive to a
smaller value...
Also, you might check about connection pooling - and see if that is having
an effect ( although it should not.)
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
> Hi
> We are using the transaction capabilities of ADO .Net. One of our tests
> was
> to update a row in the database and break the network connection before
> the
> transaction could be commited. This locks the row in the database for
> about
> 5 minutes before Sql Server realises that the communication has been
> broken,
> times the transaction out and rolls it back. The question is, does anyone
> know how to configure this timeout value?
> Thanks
> Craig
>|||Yes, don't do this. This is old Client/Server technology and you should
migrate to n-Tier.
NEVER LET THE CLIENT CONTROL TRANSACTIONS. This is the number one
concurrency killer.
Batch up everything you want to do, including the BEGIN TRANS and COMMIT or
ROLLBACK logic and ship it to the SQL Server. Better yet, use nothing but
stored procedures for all of your CRUD operations.
Think through these two scenarios and tell me which one is more efficient
and faster.
Client-controlled transactions.
1. Client submits BEGIN TRAN request.
2. Request travels across network.
3. Server responds with success or failure.
4. Response travels across network.
5. Repeat process for each CRUD operation. Submit, traffic, response,
traffic.
6. Client does other processing.
7. Client submits COMMIT or ROLLBACK TRAN request.
8. Request travels across network.
9. Server responds.
10. Response travels across netowrk.
Server-controlled transactions.
1. Client submits parameters with stored procedure execution request.
2. Request travels across network.
3. Server executes transaction and all CRUD operations...very fast.
4. Response travels across network.
Hmmm? Which would you prefer? The point is about transaction processing is
that the DBMS must hold locks while the modifications are being made. You
DO NOT WANT those locks held simply because the client is having network
connections. If something should happen before the stored procedure and all
of the parameters reach the server, noting happens and the end user will
have to resubmit the request. If something should happen to the client
after the request was transmitted, the transaction still processes as if the
client were still connected. If someting happens to the server while
processing, then the ACID properties of the DBMS provide rollforward or
rollback functionality.
Sincerely,
Anthony Thomas
"CB" <craig.bryden@.derivco.com> wrote in message
news:enFjkvPOFHA.2748@.TK2MSFTNGP09.phx.gbl...
Hi
We are using the transaction capabilities of ADO .Net. One of our tests was
to update a row in the database and break the network connection before the
transaction could be commited. This locks the row in the database for about
5 minutes before Sql Server realises that the communication has been broken,
times the transaction out and rolls it back. The question is, does anyone
know how to configure this timeout value?
Thanks
Craig
orphaned request in the RSLog
we are trying to track down an error we get in RS where the ssl connection
is forcibly closed by the remote server. Going through the RS Logs I noticed
these info statements. Can anyone explain in better detail what these mean?
w3wp!runningjobs!11b4!9/16/2005-16:06:35:: w WARN: Thread pool pressure:
turning off threads
w3wp!runningjobs!11b4!09/16/2005-16:06:37:: w WARN: Thread pool pressure:
turning off threads
w3wp!library!11b4!09/16/2005-16:06:37:: i INFO: Initializing
EnableExecutionLogging to 'True' as specified in Server system properties.
w3wp!runningjobs!11b4!9/16/2005-16:07:15:: i INFO: Adding: 5 running jobs to
the database
w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
RunningJobContext.IsClientConnected; found orphaned request
w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
RunningJobContext.IsClientConnected; found orphaned request
w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:FYI,,, We are running RS SP2 on clustered Windows Server 2003
"Mark" wrote:
> we are trying to track down an error we get in RS where the ssl connection
> is forcibly closed by the remote server. Going through the RS Logs I noticed
> these info statements. Can anyone explain in better detail what these mean?
>
> w3wp!runningjobs!11b4!9/16/2005-16:06:35:: w WARN: Thread pool pressure:
> turning off threads
> w3wp!runningjobs!11b4!09/16/2005-16:06:37:: w WARN: Thread pool pressure:
> turning off threads
> w3wp!library!11b4!09/16/2005-16:06:37:: i INFO: Initializing
> EnableExecutionLogging to 'True' as specified in Server system properties.
> w3wp!runningjobs!11b4!9/16/2005-16:07:15:: i INFO: Adding: 5 running jobs to
> the database
> w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
> RunningJobContext.IsClientConnected; found orphaned request
> w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
> RunningJobContext.IsClientConnected; found orphaned request
> w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:|||Hi Mark,
Thanks for your posting!
From your descriptions, I understood when disconnected forcibly from remote
server, your Report Server will report the error message "found orphaned
request". If I have misunderstood your concern, please feel free to point
it out.
I believe due to the none response from client (it was disconnected
forcibly), some existing request become orphaned. Does this error message
make any business impact on your server?
Sincerely yours,
Michael Cheng
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================This posting is provided "AS IS" with no warranties, and confers no rights.|||So are you saying then that its' the client that is actually disconnecting
from the server?
This issue actually goes back to an early post I had with long running
reports
http://www.microsoft.com/sql/community/newsgroups/dgbrowser/en-us/default.mspx?&query=long+running+reports&lang=en&cr=US&guid=&sloc=en-us&dg=microsoft.public.sqlserver.reportingsvcs&p=1&tid=80219d15-436f-4b8e-ad0d-0c8c604c6b9f&mid=80219d15-436f-4b8e-ad0d-0c8c604c6b9f
It seems we constantly get this message when we have a batch job running
on a client machine doing a soap call to the RS server. Everything runs fine
until it hits 15 minutes and then we get the SSL connection closed error. We
have tried a variety of things from upgrading to sp2 applying serveral hot
fixes, and changing the defualt IIS timeout settings from 900 seconds to 600
seconds. All to no avail. At exaclty 15 minutes we get disconnected.
I was looking then through the RSlogs and saw the orphaned requests coming
up at about the same time we get the ssl connection error and decided to post
again to see if that might trigger a new approach.
Frustrated at 15!!!
"Michael Cheng [MSFT]" wrote:
> Hi Mark,
> Thanks for your posting!
> From your descriptions, I understood when disconnected forcibly from remote
> server, your Report Server will report the error message "found orphaned
> request". If I have misunderstood your concern, please feel free to point
> it out.
> I believe due to the none response from client (it was disconnected
> forcibly), some existing request become orphaned. Does this error message
> make any business impact on your server?
>
> Sincerely yours,
> Michael Cheng
> Microsoft Online Partner Support
> When responding to posts, please "Reply to Group" via your newsreader so
> that others may learn and benefit from your issue.
> =====================================================> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>|||Hi Mark,
From the error, I belive it seems to be caused by data connection to
datasource for the report. You may want to check if the following error is
also in RS log:
e ERROR: Reporting Services error
Microsoft.ReportingServices.Diagnostics.Utilities.RSException: An error has
occurred during report processing. -->
Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An
error
has occurred during report processing. -->
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:
Query
execution failed for data set 'MSFixlets'. -->
System.Data.SqlClient.SqlException:
Timeout expired. The timeout period elapsed prior to completion of the
operation
or the server is not responding.
You may try the following steps:
Open up the report project in VS.NET IDE, go to the Data tab and edit the
dataset which brings back those images. In the Query tab, set the timeout
property to more than 900 (15 mins).
Sincerely yours,
Michael Cheng
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================This posting is provided "AS IS" with no warranties, and confers no rights.
is forcibly closed by the remote server. Going through the RS Logs I noticed
these info statements. Can anyone explain in better detail what these mean?
w3wp!runningjobs!11b4!9/16/2005-16:06:35:: w WARN: Thread pool pressure:
turning off threads
w3wp!runningjobs!11b4!09/16/2005-16:06:37:: w WARN: Thread pool pressure:
turning off threads
w3wp!library!11b4!09/16/2005-16:06:37:: i INFO: Initializing
EnableExecutionLogging to 'True' as specified in Server system properties.
w3wp!runningjobs!11b4!9/16/2005-16:07:15:: i INFO: Adding: 5 running jobs to
the database
w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
RunningJobContext.IsClientConnected; found orphaned request
w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
RunningJobContext.IsClientConnected; found orphaned request
w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:FYI,,, We are running RS SP2 on clustered Windows Server 2003
"Mark" wrote:
> we are trying to track down an error we get in RS where the ssl connection
> is forcibly closed by the remote server. Going through the RS Logs I noticed
> these info statements. Can anyone explain in better detail what these mean?
>
> w3wp!runningjobs!11b4!9/16/2005-16:06:35:: w WARN: Thread pool pressure:
> turning off threads
> w3wp!runningjobs!11b4!09/16/2005-16:06:37:: w WARN: Thread pool pressure:
> turning off threads
> w3wp!library!11b4!09/16/2005-16:06:37:: i INFO: Initializing
> EnableExecutionLogging to 'True' as specified in Server system properties.
> w3wp!runningjobs!11b4!9/16/2005-16:07:15:: i INFO: Adding: 5 running jobs to
> the database
> w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
> RunningJobContext.IsClientConnected; found orphaned request
> w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:
> RunningJobContext.IsClientConnected; found orphaned request
> w3wp!runningjobs!1d5c!9/16/2005-16:07:15:: i INFO:|||Hi Mark,
Thanks for your posting!
From your descriptions, I understood when disconnected forcibly from remote
server, your Report Server will report the error message "found orphaned
request". If I have misunderstood your concern, please feel free to point
it out.
I believe due to the none response from client (it was disconnected
forcibly), some existing request become orphaned. Does this error message
make any business impact on your server?
Sincerely yours,
Michael Cheng
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================This posting is provided "AS IS" with no warranties, and confers no rights.|||So are you saying then that its' the client that is actually disconnecting
from the server?
This issue actually goes back to an early post I had with long running
reports
http://www.microsoft.com/sql/community/newsgroups/dgbrowser/en-us/default.mspx?&query=long+running+reports&lang=en&cr=US&guid=&sloc=en-us&dg=microsoft.public.sqlserver.reportingsvcs&p=1&tid=80219d15-436f-4b8e-ad0d-0c8c604c6b9f&mid=80219d15-436f-4b8e-ad0d-0c8c604c6b9f
It seems we constantly get this message when we have a batch job running
on a client machine doing a soap call to the RS server. Everything runs fine
until it hits 15 minutes and then we get the SSL connection closed error. We
have tried a variety of things from upgrading to sp2 applying serveral hot
fixes, and changing the defualt IIS timeout settings from 900 seconds to 600
seconds. All to no avail. At exaclty 15 minutes we get disconnected.
I was looking then through the RSlogs and saw the orphaned requests coming
up at about the same time we get the ssl connection error and decided to post
again to see if that might trigger a new approach.
Frustrated at 15!!!
"Michael Cheng [MSFT]" wrote:
> Hi Mark,
> Thanks for your posting!
> From your descriptions, I understood when disconnected forcibly from remote
> server, your Report Server will report the error message "found orphaned
> request". If I have misunderstood your concern, please feel free to point
> it out.
> I believe due to the none response from client (it was disconnected
> forcibly), some existing request become orphaned. Does this error message
> make any business impact on your server?
>
> Sincerely yours,
> Michael Cheng
> Microsoft Online Partner Support
> When responding to posts, please "Reply to Group" via your newsreader so
> that others may learn and benefit from your issue.
> =====================================================> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>|||Hi Mark,
From the error, I belive it seems to be caused by data connection to
datasource for the report. You may want to check if the following error is
also in RS log:
e ERROR: Reporting Services error
Microsoft.ReportingServices.Diagnostics.Utilities.RSException: An error has
occurred during report processing. -->
Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An
error
has occurred during report processing. -->
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:
Query
execution failed for data set 'MSFixlets'. -->
System.Data.SqlClient.SqlException:
Timeout expired. The timeout period elapsed prior to completion of the
operation
or the server is not responding.
You may try the following steps:
Open up the report project in VS.NET IDE, go to the Data tab and edit the
dataset which brings back those images. In the Query tab, set the timeout
property to more than 900 (15 mins).
Sincerely yours,
Michael Cheng
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================This posting is provided "AS IS" with no warranties, and confers no rights.
Subscribe to:
Posts (Atom)