We use the IS 4.7 (SAP Business Connector) running on Win2K, SP5. The only IS update applied is BC47_CoreFix1. We use JDK 1.3.1_09.
We connect to two SQL Server 2000 databases. BCSQL is resident on the same server as the IS (housapits). NMAT is on a different server (housql01).
Two weekends ago, we applied Microsoft Security patches to our servers. The IS received the following patches:
KB867282
KB873333
KB885250
KB885834
KB885835
KB888113
KB890047
KB891711
KB891781
The SQL Server machine received the following patches:
KB867282
KB873333
KB885250
KB885834
KB888113
KB890047
KB891781
The other two patches (KB885835 and KB891711) had been applied some time earlier.
No other changes are known to have taken place. No SQL Server updates were made. The machines were both rebooted as part of installing the security patches, so that might have activated or otherwise affected a change that was made previously.
Ever since then, we have had continual problems reaching the NMAT database. We have had no problems accessing the one on the local box. Specifically, we receive the following error (from getLastError):
[Microsoft][SQLServer 2000 Driver for JDBC]Connection reset by peer: socket write error java.sql.SQLException
java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC]Connection reset by peer: socket write error
The pipeline shows that we have obtained a JDBC connection object.
If I restart or cold start the IS (not the Win2K server, just the IS) I can access the NMAT database just fine. After some time it degrades and the errors occur again. The BCSQL database is accessed just as heavily, but we have no problem with it. Also, I can connect to my development version of NMAT successfully, but that may not be meaningful, since we don�t load that connection so it doesn�t degrade.
We monitored network traffic between the two boxes. Once the errors start occurring, there is no traffic. The ‘connect’ returns a connection token without going to the SQL Server. We then throw the socket exception on the ‘execSQL’ call. I’m guessing that somehow we are getting a stale connection token from the driver pool and failing when we use it. We are using the Microsoft JDBC drivers, version 2.2.0029 (SP1). These drivers are now up to version 2.2.0040 (SP3), but I am hesitant to just install the new drivers without knowing that they will fix the problem and not introduce new ones. Plus, if the problem was with the driver, then we should have seen it all along. This problem just started ten days ago.
Have you had any reports of side effects of the security updates we applied? How can we proceed to diagnose the root cause of this problem? Any help you can provide is most appreciated.