我已經有SSIS包出口2.5千兆字節的數據包含1000萬記錄到Sql Server數據庫有10個分區,包括主文件組。SSIS包中有「ROW PER BATCH」和「MAX INSERT COMMIT SIZE」的含義嗎?
之前更改默認最大插入提交大小即「2147483647」和每批次行。它正在採取7分鐘的快速加載選項完成改造。
但是用一些公式來修飾它的一些體面的價值後,執行只用了2分鐘。
FYI- DefaultMaxBufferRows & DefaultMaxBufferSize分別在兩個scenorio即10000和10 MB默認值。
爲了計算最大插入提交大小每批 下面calucation用於 & 行。
1)計算來自正在傳輸的源記錄的長度。大約有1038個字節。
CREATE TABLE [dbo].[Game_DATA2](
[ID] [int] IDENTITY(1,1) NOT NULL, -- AUTO CALCULATED
[Number] [varchar](255) NOT NULL, -- 255 bytes
[AccountTypeId] [int] NOT NULL, -- 4 bytes
[Amount] [float] NOT NULL,-- 4 bytes
[CashAccountNumber] [varchar](255) NULL, -- 255 bytes
[StartDate] [datetime] NULL,-- 8 bytes
[Status] [varchar](255) NOT NULL,-- 255 bytes
[ClientCardNumber] [varchar](255) NULL -- 255 bytes
)
2)每批行數= packate_size/bytes/record = 32767/1038 = 32。
3)最大插入提交大小= packate尺寸*交易數= 32767×100 = 3276700 (Packate大小和數量的事務是變量可以按要求改變)
問題:
每個批次的行和最大插入提交大小是否有相關性?由於在調用DFT(數據流任務)執行時檔案article中沒有提及任何信息。
這些配置是否可以與DefaultBuffermaxzie和
DefualtBuffermaxrows?if yes how?
那麼對於具有行的實際預期數量爲10 million.Can我們用上述公式的文件的RPB價值?或者,它是**嘗試和錯誤**的基礎方法。 –
@HarsimranjeetSingh,留下RPB在默認情況下插入其設置爲實際的行號,OLE DB會爲你。您可以設置上述限制條件。在你的情況下,我會先玩MICS。 – Ferdipux