After they’ve been running nicely for a long time our DTS jobs began failing, writing the notoriously long error event 81. Having a closer look at the event description it became obvious that they failed at different steps every time. The description however, did not change:
Step ‘[any step here]‘ failed Step Error Source: Microsoft OLE DB Provider for SQL Server Step Error Description:[DBNETLIB][ConnectionRead (recv()).]General network error. Check your network documentation.After much investigating and checking the usual suspects (client connection timeout setting on the SQL server), I stumbled over KB article 899599 which refers to BizTalk but helped. It turned out that the server’s TCP/IP stack had been hardened using a group policy. So the SynAttackProtect flag was activated and killed off the DTS job’s sessions when there was a lot of data to transfer.
Locate and check the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SynAttackProtect
If you are seeing the above problem and it is set to 1, change it to 0 on MOM’s data-warehouse server (or have the group policy altered).
More information about the SYN flooding attack protection feature can be found in the Windows Server 2003 Resource Kit Registry Reference.