1. 程式人生 > >SQL SERVER2008超時問題,求大神解答

SQL SERVER2008超時問題,求大神解答

        C#程式,使用的是4.0的框架,資料庫是SQL SERVER2008。

        一次向主表提交的資料大概是1萬多到5萬之間,子表中插入的資料量有點大,最少是14多萬條,最大是57多萬條,使用事物批量提交,當子表資料超過1千萬級別時,就容易出現超時(具體報錯是:“Timeout 時間已到。在操作完成之前超時時間已過或伺服器未響應。”)還有就是事物出錯(具體報錯是:“此sqlTranscation已完成,他再也無法使用了。”)。

        這時還好一點,只是偶爾處出現幾次,但是當子表資料量達到1800萬條以後,再向裡邊插資料基本就掛了,報之前的說的兩個錯誤,但是如果此時向子表插入1萬條左右的資料時又沒有什麼問題,但關鍵是程式要處理的資料最少是14萬啊,另外子表好像有2個索引,這兩個索引沒法刪掉,其他地方要用到。

       我有過在資料庫寫觸發器直接把100萬條資料從表結構相同的臨時表中複製到該子表,完全沒有問題,當時是在資料庫操作的,子表原資料也達到了3千萬,後來把觸發器用到程式裡,還是出現了之前的問題,是觸發器報的錯。

       為了解決這個問題,頭髮都揪掉了不少啊。 有沒有大神能幫幫我整麼解決超時的問題?萬分感謝!!