El time de espera expiró con SqlBulkCopy

Estoy usando SqlBulkCopy para restaurar tablas de copys de security xml. Una de las copys de security de la tabla es ~ 200MB grande y tiene muchos loggings.

Estoy teniendo un error:

Timeout expinetworking. The timeout period elapsed prior to completion of the operation or the server is not responding. 

Probablemente necesites boost el time de espera. Intente boost el valor de sqlBulkCopy.BulkCopyTimeout del valor pnetworkingeterminado, que es de 30 segundos.

Hay dos forms de corregir este error:

  • Incremente el time de espera por defecto es de 30 segundos y 0 significa infinito.

      sqlBulkCopy.BulkCopyTimeout = {time in seconds} 
  • Disminuir BatchSize de forma pnetworkingeterminada, intenta insert todas las filas en un lote

      sqlBulkCopy.BatchSize = {no of rows you want to insert at once} 

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.batchsize.aspx http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy .bulkcopytimeout.aspx

Cambie la propiedad CommandTimeout de su object SqlCommand.

El atributo Connect Timeout de una cadena de connection determina durante cuánto time se ejecuta un object SqlConnection antes de que deje de intentar conectarse a un server.

Cambie también la propiedad SqlBulkCopy.BulkCopyTimeout .