.net - SQL Server 2012 Remote connection giving Timeout and ASYNC_NETWORK_IO errors -
i experiencing problems service connects remote instance of sql server 2012.
the .net 2.0 service runs on clients machine , connects using tcp/ip remote web server running instance of sql server 2012. web server used windows server 2003 , sql server 2005 , upgraded 6 months ago without problems. service checks see if there data needs download.
client machine
- windows server 2003
web server
- windows server 2012
- sql server 2012
this running fine 5+ years until last friday when stopped working , gives following error log message
event type: warning event source: event category: none event id: 0 date: 21/05/2013 time: 16:45:11 user: n/a computer: description: system.reflection.targetinvocationexception: exception has been thrown target of invocation. ---> system.data.sqlclient.sqlexception: timeout expired. timeout period elapsed prior completion of operation or server not responding. @ system.data.sqlclient.sqlinternalconnection.onerror(sqlexception exception, boolean breakconnection) @ system.data.sqlclient.tdsparser.throwexceptionandwarning(tdsparserstateobject stateobj) @ system.data.sqlclient.tdsparserstateobject.readsnierror(tdsparserstateobject stateobj, uint32 error) @ system.data.sqlclient.tdsparserstateobject.readsni(dbasyncresult asyncresult, tdsparserstateobject stateobj) @ system.data.sqlclient.tdsparserstateobject.readnetworkpacket() @ system.data.sqlclient.tdsparserstateobject.readbytearray(byte[] buff, int32 offset, int32 len) @ system.data.sqlclient.tdsparserstateobject.readuint32() @ system.data.sqlclient.tdsparser.readsqlvalueinternal(sqlbuffer value, byte tdstype, int32 typeid, int32 length, tdsparserstateobject stateobj) @ system.data.sqlclient.tdsparser.readsqlvalue(sqlbuffer value, sqlmetadatapriv md, int32 length, tdsparserstateobject stateobj) @ system.data.sqlclient.sqldatareader.readcolumndata() @ system.data.sqlclient.sqldatareader.readcolumnheader(int32 i) @ system.data.sqlclient.sqldatareader.readcolumn(int32 i, boolean settimeout) @ system.data.sqlclient.sqldatareader.getvalueinternal(int32 i) @ system.data.sqlclient.sqldatareader.getvalue(int32 i) @ redblack.data.synchronisation.syncmanager.upsertrecords(string sourceselect, string desttable, string[] destfields, list`1 relations) @ general.cypro.application.websynchronisation.syncroutines.fetchorders(upsertflags upsertoptions) --- end of inner exception stack trace --- @ system.runtimemethodhandle._invokemethodfast(object target, object[] arguments, signaturestruct& sig, methodattributes methodattributes, runtimetypehandle typeowner) @ system.reflection.runtimemethodinfo.invoke(object obj, bindingflags invokeattr, binder binder, object[] parameters, cultureinfo culture, boolean skipvisibilitychecks) @ system.delegate.dynamicinvokeimpl(object[] args) @ redblack.cypro.application.websynchronisation.job.run(object[] args) ... system.data.sqlclient.sqlexception: timeout expired. timeout period elapsed prior completion of operation or server not responding. @ system.data.sqlclient.sqlinternalconnection.onerror(sqlexception exception, boolean breakconnection) @ system.data.sqlclient.tdsparser.throwexceptionandwarning(tdsparserstateobject stateobj) @ system.data.sqlclient.tdsparserstateobject.readsnierror(tdsparserstateobject stateobj, uint32 error) @ system.data.sqlclient.tdsparserstateobject.readsni(dbasyncresult asyncresult, tdsparserstateobject stateobj) @ system.data.sqlclient.tdsparserstateobject.readnetworkpacket() @ system.data.sqlclient.tdsparserstateobject.readbytearray(byte[] buff, int32 offset, int32 len) @ system.data.sqlclient.tdsparserstateobject.readuint32() @ system.data.sqlclient.tdsparser.readsqlvalueinternal(sqlbuffer value, byte tdstype, int32 typeid, int32 length, tdsparserstateobject stateobj) @ system.data.sqlclient.tdsparser.readsqlvalue(sqlbuffer value, sqlmetadatapriv md, int32 length, tdsparserstateobject stateobj) @ system.data.sqlclient.sqldatareader.readcolumndata() @ system.data.sqlclient.sqldatareader.readcolumnheader(int32 i) @ system.data.sqlclient.sqldatareader.readcolumn(int32 i, boolean settimeout) @ system.data.sqlclient.sqldatareader.getvalueinternal(int32 i) @ system.data.sqlclient.sqldatareader.getvalue(int32 i) @ redblack.data.synchronisation.syncmanager.upsertrecords(string sourceselect, string desttable, string[] destfields, list`1 relations) @ general.cypro.application.websynchronisation.syncroutines.fetchorders(upsertflags upsertoptions)
i have checked activity monitor on web server , when query run suspended wait_type of async_network_io.
i have run query trying run manually in management studio on clients server connecting remotely web server instance , runs 40 seconds returning 2600+ rows before gives me following error
msg 121, level 20, state 0, line 0 transport-level error has occurred when receiving results server. (provider: tcp provider, error: 0 - semaphore timeout period has expired.)
i have run same query on machine in management studio remotely connecting web server instance , returns complete 4000 rows in 0.312 seconds.
i @ loss trying figure out seems me sort of network issue. clients hardware technicians have checked network , have said fine far concerned.
if need more information let me know
thanks
this has been resolved , issue in end turned out problem clients internet. dont have details bt found issue @ exchange , once fixed program began working again.
Comments
Post a Comment