KB928365 and 'Internal .Net Framework Data Provider error 6' issue with .NET 2.0 on databases with f

  • Thread starter Thread starter Carlos Mendonça
  • Start date Start date
C

Carlos Mendonça

Hello,

I work at a Hosting Company in Brazil and we have been experiencing issues
with managed applications using .NET Framework 2.0 that connect to SQL
Server 2005 databases with a failover partner. These issues started
happening after we have applied KB928365
(http://support.microsoft.com/KB/928365).

The issue is an System.InvalidOperationException that is thrown every once
in a while when connecting to the databases. The message is 'Internal .Net
Framework Data Provider error 6.'. Both Operating System (Windows 2003) and
databases (SQL Server 2005) are up to date, including all Security Updates
and Service Packs.

Although not many use failover partners to be able to reproduce the issue,
we have identified people with similar problems while searching for the
exception message in the major search engines. Additionally, the same
problem has been reported at 'microsoft.public.dotnet.framework.adonet', but
it has been suggested that KB928365 should be removed, which is not an
option for us considering the security concerns involved.

I am posting in the newsgroups in hope of reaching someone from the .NET
team to report this issue. I think it may be a bug, but it could also be
some configuration requirement that KB928365 introduced. In either case, it
is an issue that affect big databases and I believe that we should pay
special attention to the case.

I am not familiar with the process of reporting an issue to the .NET and/or
SQL Server teams and I would appreciate if someone could give me a hint.

I thank you in advance.

Carlos Mendonça
 
This probably occurred a while back for you. Were you able to see any
resolution? I am seeing the same symptoms as you.

Thank you.

Kevin Burton
 
--
Ian H


Carlos Mendonça said:
Hello,

I work at a Hosting Company in Brazil and we have been experiencing issues
with managed applications using .NET Framework 2.0 that connect to SQL
Server 2005 databases with a failover partner. These issues started
happening after we have applied KB928365
(http://support.microsoft.com/KB/928365).

The issue is an System.InvalidOperationException that is thrown every once
in a while when connecting to the databases. The message is 'Internal .Net
Framework Data Provider error 6.'. Both Operating System (Windows 2003) and
databases (SQL Server 2005) are up to date, including all Security Updates
and Service Packs.

Although not many use failover partners to be able to reproduce the issue,
we have identified people with similar problems while searching for the
exception message in the major search engines. Additionally, the same
problem has been reported at 'microsoft.public.dotnet.framework.adonet', but
it has been suggested that KB928365 should be removed, which is not an
option for us considering the security concerns involved.

I am posting in the newsgroups in hope of reaching someone from the .NET
team to report this issue. I think it may be a bug, but it could also be
some configuration requirement that KB928365 introduced. In either case, it
is an issue that affect big databases and I believe that we should pay
special attention to the case.

I am not familiar with the process of reporting an issue to the .NET and/or
SQL Server teams and I would appreciate if someone could give me a hint.

I thank you in advance.

Carlos Mendonça

Hi Carlos,

I am experiencing this very same problem. Have you had any luck working out
what it is?

Thanks

Ian
 
Unfortunately we have still not found any solution to the problem. One thing
I would suggest, though, would be to set up Counter Logs in the client, the
server and the database server to trace the following objects:

SQL Server: General Statistics Login/sec and Logout/sec
SQL Server: General Statistics User Connections
..NET CLR Data : SqlClient: Current # of pooled and non pooled connections
..NET CLR Data : SqlClient: Current # pooled connections
..NET CLR Data : SqlClient: Current # connection pools
..NET CLR Data : SqlClient: Peak # pooled connections
..NET CLR Data : SqlClient: Total # failed connects

The reason for this is that if you analyze the stack trace of the exception,
you will see that it is being raised in the CreateObject method right after
it checks whether the connection can be pooled (use a disassembler such as
Reflector to open the
System.Data.ProviderBase.DbConnectionPool.CreateObject() method @
System.Data.dll). In other words, the KB928365 *MAY* have changed number of
default pools or the way they are allocated or whatever and by tracing them,
it may be possible to see if fine tuning the connection string could solve
the problem we're experiencing.

Of course, Microsoft could always shed a light on this issue since more and
more people are finding out about it...

Yours,

Carlos Mendonça
 
We have been experiencing the exact same issue and currently have an open
support ticket with Microsoft to try and resolve the problem.

Interestingly, if you check the application event logs on the failover sql
server you should see an event like this (at the exact time of the .Net error
6):

Event Type: Failure Audit
Event Source: MSSQLSERVER
Event Category: (4)
Event ID: 18456
Date: 4/09/2007
Time: 1:59:39 PM

The event log entry also reports the client IP address and the username that
tried to connect but for security reasons I'm not including that information
here.

We have 4 installations that use database mirroring and all of them are
experiencing this issue. I don't believe we have installed KB928365 due to
strict testing policy on windows updates prior to rollout on production
servers.

Jason.
 
Dear Jason,

We too confirm that the event is being reported in the Application log in
the exact same way you saw it. It doesn't say much more regarding the
problem, though. What has been Microsoft's position regarding this issue so
far? Has there been any progress whatsoever in the ticket you have opened?

Thanks,

Carlos Mendonça
 
Hi Carlos,

The person handling the support ticket has been in daily contact with me
(experience of MS tech support has been excellent) but nothing to report so
far. I did find an application which had accidentally been configured so
that the 2nd server was being connected to first instead of as a failover.
This has made it harder for me to prove my case but now that has been
resolved connections are still hitting the 2nd db server.

Am expecting another call back tomorrow when we will review the logs again
and see if any further connections have been rejected.

Jason.
 
We are also experiencing the exact same issue. Please let us know the
resolution. Many Many thanks...!

Cheers
Andy
 
We are also experiencing the exact same issue. Please let us know the
resolution. Many Many thanks...!

Cheers
Andy

I had the same issue, and found a fix for it. In my case i was running
the app on the same server as the principal database. Application
referenced to itself via hostname and caused an issue, unless you
specify an IP of machine instead, and/or move the app to a completely
different server.
 
That's not our case. Thanks for the tip, though.

Carlos Mendonça

We are also experiencing the exact same issue. Please let us know the
resolution. Many Many thanks...!

Cheers
Andy



opened? hint.

I had the same issue, and found a fix for it. In my case i was running
the app on the same server as the principal database. Application
referenced to itself via hostname and caused an issue, unless you
specify an IP of machine instead, and/or move the app to a completely
different server.
 
Our app server and database servers are on different boxes. We do have the
failover setup on the database though.

Anyone has the solution?
 
I'm posting the stack trace we've captured. Please reply below if you have
captured something different.

System.InvalidOperationException: Internal .Net Framework Data Provider
error 6.
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection
owningObject)
at
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection
owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
owningObject)
at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection)
at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at (..) <-- our propetary code begins here

The error code comes from the System.Data.Common.ADP.InternalErrorCode
enumerator (value NewObjectCannotBePooled = 6).

Unfortunately, this problem still has no solution and Microsoft is yet to
disclose some information regarding this issue. Up until now, as far as I
know, they haven't acknowledged nor identified the error.

Carlos
 
Great news! I will ask for some testing and post the results later.

Thanks a lot,

Carlos
 
Did anyone already receive and test this hotfix ?

I also noticed the kb944099 is talking about version 2.0.50727.948 of
system.data.dll
Today I received Microsoft .NET Framework 2.0 SP1 on Windows update, this
Service pack contains version 2.0.50727.1433 of system.dat.dll and is
superseding KB928365. So this sould also fix this problem.

Anyone already tried 1 of this solutions ?

Kind regrards
Tom
 
We did and we confirm it does work. MS indeed solved the problem.

Regards,

Carlos Mendonça
 
We are still seeing this intermittently. The web server reporting the error,
along with the live and mirror database servers, all have .NET 2.0 SP1,
System.Data.dll version 2.0.507272.1433. KB944099 talks of a hotfix version
2.0.507272.948 and I would assume that SP1 includes this fix, but it appears
not to have fixed the problem in our case.

Any suggestions?
 
We are seeing this problem almost once or twice per hour. We also have SP1
and of course could not install the hot fix as it fixes pre-SP1 code. Can
someone from MS please advise. We need a solution.

Thank you
Val
 
Back
Top