Thanks for the prompt response.
I've removed all session and database code from the ASP.NET test
application, but I'm still receiving the same error message as it is caused
by the session. IIS sessions are handled by SQL Server so I don't have
control over detecting whether the SQL Server connection is available. Is it
the way I've configured the session state in SQL Server?
Does session state running from SQL Server in a clustered environment not
work correctly on a failover?
Should I consider removing Session state all together from our applications?
Thanks in advance for the help.
Matt
Hi
Normal ASP.NET session state, by default, is stored in TempDB in .NET 1.0
and 1.1 (http://support.microsoft.com/default.aspx?scid=kb;en-us;317604).
This is bad as TempDB is cleared during a failover.
http://support.microsoft.com/default.aspx?scid=kb;en-us;311209 is the
instruction to persist session state so that it will live though a failover.
During those few seconds of failover, the DB is not available, so anyone
hitting the server may get an error. A cluster failover should be a very
rare occurrence (if it is not, you have major problems as your cluster is
then not operating correctly).
What are your expectations?
Regards
--------------------------------
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
IM: mike@epprecht.net
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
> Thanks for the prompt response.
>
[quoted text clipped - 67 lines]
>>>
>>> Matt
Geoff N. Hiten - 15 Aug 2005 19:49 GMT
There is a version of the Session object that can live in its own database.
You are still going to get massive timeouts and network errors while the
service is down. I would build a stand-alone test platform to determine how
the system behaves with the dedicated session database. Simulate a failover
by doing a simple SQL service restart.

Signature
Geoff N. Hiten
Senior Database Administrator
Microsoft SQL Server MVP
> Hi
>
[quoted text clipped - 97 lines]
>>>>
>>>> Matt
Matt Chubb - 16 Aug 2005 08:43 GMT
Thanks for the help.
I understand session state used to be stored in tempdb. However, I found the
sql file InstallPersistSqlState.sql. This file configures the session state
to be stored in the tables ASPStateTempApplications and ASPStateTempSessions
within the database ASPState. It gets around the problem of losing session
data on a failover, but still causes a General Network Error that is
difficult to spot and correct.
I know a fail over should be a rare occurrence, but surely when Microsoft
release patches manual failovers will need to be performed in order to
update the servers. The idea of the solution was to allow us to perform
these manual failovers within office hours and not have to inform users.
Clustering is a new experience to me, so I wasn't sure on my expectations. I
was hoping, with minimal code changes a failover could occur gracefully and
allow an application to continue operating even if the failover occurred
during the processing of an ASP.NET application.
Thanks for your input, all I wanted to find out was whether these problems
are by design and not because the cluster isn't quite configured correctly.
Now I can move back to our application code and re-write to fall inline with
the clustering solution.
Matt
> Hi
>
[quoted text clipped - 97 lines]
>>>>
>>>> Matt