我正在使用SQL Server 2008 R2,並且我有一個用VB.NET編寫的轉換,它需要幾個小時才能運行並轉換數百萬條記錄。有時我需要取消該流程,該流程將回滾事務。當發生這種情況時,我不希望它需要幾個小時才能像它那樣回滾。如何設置具有大量記錄的轉換的事務隔離級別
因此,我一起移除了交易,以便沒有時間回滾,但它將所有記錄保留在它們所處的狀態。但是,我有一張有數百萬條記錄的表格。我刪除所有記錄開始。只需要幾小時就可以刪除所有記錄。當我查看錶格的RowCount時,它表示零,就像它刪除了所有內容,但它正在等待某件事,而我無法弄清楚是什麼。我希望將DELETE命令放在隔離級別爲READ UNCOMMITTED的事務中會有所幫助。
在我嘗試此操作之前,我想了解什麼是大量數據事務隔離級別的最佳實踐,因爲這需要幾個小時。另外,您是否認爲如果我將整個轉換放入READ UNCOMMITTED事務中,如果我取消該過程,則不需要任何時間?
我不使用邪惡光標,我沒有觸發器,我不知道TRUNCATE TABLE。感謝提示 – 2011-04-19 15:53:07
TRUNCATE TABLE和BULK INSERT。 – SQLMason 2011-04-19 17:04:20