freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ssis操作和優(yōu)化指南(編輯修改稿)

2025-08-03 12:04 本頁面
 

【文章內(nèi)容簡介】 執(zhí)行,您無需將每個源行與目標進行比較以便知道是否已處理該記錄。更復雜的 過程可能有若干臨時環(huán)境。每個臨時環(huán)境都是 的一個階段的目標。在這些類型的環(huán)境中,將您的每個臨時環(huán)境視作一個單獨的目標,并且針對重新開始對您的 的每個分段進行設計。具有單個目標的示例可重新開始的最簡單數(shù)據(jù)流是以一個整數(shù)作為主鍵的小型數(shù)據(jù)流。在 是源時,您可以使用相應的最佳做法,限制從源提取的數(shù)據(jù),然后對源進行查詢。請考慮 的典型示例表:“”。該表具有以下結構:[].[]([],[],[],[],[],[](),[],[],[] ,)在這個示例中,該表使用一個整數(shù)作為主鍵。如果數(shù)據(jù)在移動時將是靜態(tài)的,或者數(shù)據(jù)僅插入此表中(沒有更新),則您只需知道該主鍵,即可了解某一行是否到達目標。將每個主鍵值與目標進行比較的代價相對高昂。而是應使用一個策略,按 列對源文件中的數(shù)據(jù)進行排序。對于此類策略,您只需要知道數(shù)據(jù)是按順序進行處理的,以及在目標已提交的最高 是什么。在一個 包中,您可以通過執(zhí)行以下操作做到這一點。1. 檢查您的目標上的最高鍵。2. 從您的源生成查詢,以便僅提取 高于目標上的最高 的記錄。3. 在您的源查詢中使用 可確保在下次啟動包時,最高 的比較仍然有效。在 中,使用關系數(shù)據(jù)源作為您的源,您可以使用執(zhí)行 任務將最高值提取到您的包中的變量中。但是,應考慮完全沒有任何行在目標中存在的可能性。()在檢索最大 時,需要考慮的一點是空表的檢索結果將為 。這可能使包中使用的邏輯出現(xiàn)一些問題。一個更好的方法是首先在您的源上使用執(zhí)行 任務,找出您的源中的最小未處理 。接下來,在您的目標中查詢最大 ;如果該值不存在,則使用一個低于您的源中最小 的值。生成您的源查詢以便只提取高于該值的記錄,并且不要忘記在您的查詢中使用 。注意:盡管從邏輯上講,只需通過從目標中檢索一個值,并且使用 函數(shù)或者在您的源查詢的 子句中使用 語句,可以獲取相同的結果,但這樣做可能會導致性能問題,特別是在您的源查詢會導致增加復雜性時。不要極力采用這種快捷方式。而是應找到可以安全地用作下限的值,并且使用該值生成源查詢。注意:如果您的源是 ,則對聚集索引使用 子句不會導致 執(zhí)行額外的排序工作。已對數(shù)據(jù)進行排序,從而無需執(zhí)行 即可檢索數(shù)據(jù)。如果位于目標的數(shù)據(jù)在同一列上也具有聚集索引,則在源進行排序會優(yōu)化您的源查詢,并且優(yōu)化向目標插入數(shù)據(jù)的操作。它所具有的另一個效果是確保 管道內(nèi)的排序,因此使您能夠在故障點處重新開始數(shù)據(jù)流。若要生成此示例包,請執(zhí)行以下操作。1. 在新項目或現(xiàn)有項目中創(chuàng)建一個新包。將該包重命名為“”。2. 創(chuàng)建連接管理器以便連接到您的源和目標。對于此示例,為源服務器和目標服務器創(chuàng)建一個 連接管理器。3. 將一個新的執(zhí)行 任務拖到控制流圖面上,并且將其重命名為“從源提取最小 ”。4. 在包級別創(chuàng)建一個 變量并將其命名為 。我們將使用此變量存儲您剛添加的執(zhí)行 任務所提取的值。確保數(shù)據(jù)類型為 ,以便匹配表中 的值,并且設置相應的初始值。5. 按照如下所示配置“從源提取最小 ”。a. 對其進行編輯并且將“連接”設置為您的源服務器的連接管理器。b. 盡管您可以在某個變量中存儲您的 ,但對于此示例,將 保留為“直接輸入”。打開 的輸入窗口,并且輸入以下查詢:((), )注意:在將您的 查詢輸入 的編輯器中之前對這些查詢進行測試。這樣做可以簡化調(diào)試工作,因為在 查詢編輯器窗口中沒有真正的調(diào)試幫助。圖:對執(zhí)行 任務進行配置以便在源找到最小 。c. 單擊“確定”關閉“輸入 查詢”窗口。d. 將屬性設置為“單行”。e. 在執(zhí)行 任務編輯器的左窗格中,單擊“結果集”以便配置您將從該查詢捕獲值的方式。f. 單擊“添加”按鈕以便添加結果集。g. 在新的結果集中,將“結果名稱”更改為。請確保(您在步驟 中創(chuàng)建的步驟)顯示在“變量名稱”之下。該變量將存儲該 查詢的結果。h. 關閉“執(zhí)行 任務編輯器”。在關閉后,該任務上應該沒有顯示任何錯誤。6. 將另一個執(zhí)行 任務拖到控制圖面上。將該任務命名為“從目標提取最大 ”。將成功優(yōu)先約束從“從源提取最小 ”連接到這個新任務。7. 創(chuàng)建作用域為包的一個新變量。將這個新變量命名為。向其提供 的數(shù)據(jù)類型以便匹配 的數(shù)據(jù)類型,并且為其提供適當?shù)某跏贾怠?. 為新任務打開“執(zhí)行 任務編輯器”,并且執(zhí)行以下操作:a. 將設置為“單行”。b. 設置為您的目標服務器連接管理器c. :直接輸入d. 對于,使用 ((), ?) 注意:? 是一個查詢參數(shù)。我們將暫時設置該參數(shù)的值。e. 單擊“確定”關閉“查詢編輯器”,然后在的左窗格中單擊“參數(shù)映射”。f. 單擊“添加”以便添加單個參數(shù)。i. 對于“變量名稱”,選擇。ii. 對于“方向”,您應該選擇“輸入”。iii. 數(shù)據(jù)類型應該是 ,在此上下文中這是 位整數(shù)。iv. 將“參數(shù)名稱”更改為。請注意,該名稱必須更改為 。字符名稱將導致錯誤。g. 在左窗格中,單擊“結果集”。單擊“添加”按鈕以便添加新結果集。i. 將“結果名稱”更改為 。ii. 在“結果集”下,選擇作為您在步驟 中創(chuàng)建的變量的。在此任務執(zhí)行后該變量將包含您輸入的查詢的結果。注意:下一步將因您在數(shù)據(jù)流中使用的源的類型而異。 源可將包含 語句的 變量用作其查詢。 連接不能這樣做,但可對其進行參數(shù)化,以便將某個包或項目參數(shù)用作其源查詢。在此第一個示例中,您將 源與包含源查詢的變量一起使用。9. 將一個數(shù)據(jù)流任務拖到您的控制圖面上。將其重命名為“主數(shù)據(jù)移動”,并且將成功優(yōu)先約束從“從目標提取最大 ”連接到此數(shù)據(jù)流任務。當包在此時執(zhí)行時,您已存儲了為當前執(zhí)行建立起始點而需要知道的值。接下來,您需要設置一個變量以便承載 源查詢。10. 創(chuàng)建作用域為包級別的一個新變量。將該變量命名為并且將數(shù)據(jù)類型設置為字符串。您將通過執(zhí)行以下操作,使用表達式基于您為查詢的起始點確定的值在運行時動態(tài)派生此變量的值。a. 單擊“表達式”列右側的省略號按鈕以打開表達式生成器。b. 在表達式生成器的左上部窗口中展開“變量和參數(shù)”節(jié)點。您將使用在步驟 中創(chuàng)建的變量。您應該在列出的變量中看到此變量。該變量的數(shù)據(jù)類型為 ;但是,您將使用它作為 變量的一部分。為此,您將需要將其轉(zhuǎn)換為 數(shù)據(jù)類型。在右上角的面板中,展開“類型轉(zhuǎn)換”節(jié)點以便找到 (, ) 類型轉(zhuǎn)換。c. 在“表達式”中,鍵入您的查詢。在需要您的變量名稱或類型轉(zhuǎn)換的位置,您可以將它們從適當?shù)拇翱谕系健氨磉_式”框中以便添加它們。這將有助于減少此編輯器中拼寫錯誤的數(shù)目。按如下所示生成表達式: , , , , , , , , (, ) [] 請注意,使用類型轉(zhuǎn)換將您的整數(shù)值更改為寬度最寬為 個字符的字符串。使用 個字符寬度是為了確保其足夠大,足以包含整個范圍的 值(在適用時會包括負值)。對于 ,您將需要 個字符寬度。根據(jù)檢索的數(shù)據(jù)類型調(diào)整字符變量的大小。在您鍵入了表達式后,單擊“計算表達式”按鈕以便確保 可以對您的表達式進行正確分析。您將看到它會正確將 的初始值放置于計算的表達式中。在運行時將會相應設置該值。請確保在您的 語句中包含 子句。只有通過 ,您才能從關系數(shù)據(jù)庫中獲取有保證的順序。您生成的重新開始方法取決于鍵值的順序。d. 單擊“確定”按鈕關閉表達式生成器。您的動態(tài)構建的 語句現(xiàn)在存儲于您的 變量中。11. 雙擊“主數(shù)據(jù)移動”數(shù)據(jù)流任務以便打開數(shù)據(jù)流設計圖面。12. 將一個 源拖到您的數(shù)據(jù)流控制圖面上。將其重命名為“從 檢索”。注意:不能在數(shù)據(jù)流組件的名稱中包含句點,因此,不允許使用“從 提取”的全名。如果您沒有在表名稱中使用下劃線,則可以在 命名規(guī)范中使用下劃線代替句點。13. 雙擊“從 檢索”源以便打開“ 源編輯器”。a. 對于“ 連接管理器”,選擇您的“源服務器”連接管理器。b. 在“數(shù)據(jù)訪問模式”下拉列表中,選擇“變量中的 命令”。c. 在“變量名稱”下拉列表中,選擇在步驟 中創(chuàng)建的變量。d. 單擊“預覽”確保您的查詢可在源服務器上運行。e. 在編輯器的“列”頁上,確保選擇了所有列。f. 單擊“確定”以退出“ 源編輯器”。14. 將一個 目標拖到控制圖面上。將其重命名為“ 目標”。將“從 檢索”源連接到這個新目標。通過雙擊打開該目標,然后通過執(zhí)行以下操作進行配置。a. 在“ 連接管理器”下拉列表中選擇“目標服務器”連接管理器。b. 對于“數(shù)據(jù)訪問模式”,如果“表或視圖 快速加載”尚未選擇,則選擇它。c. 在“表或視圖的名稱”下,從下拉列表中進行選擇,或者鍵入您的目標服務器的名稱。在這個例子中,該名稱是。d. 如果您在使用上面給出的 的定義,則對于演示,可以保留“連接管理器”頁上的默認設置。如果您在使用 數(shù)據(jù)庫,將需要選擇“保留標識值”。e. 在編輯器的“映射”頁上,映射您的列。注意:在幾乎所有情況下,最好將錯誤行發(fā)送到目標文件并且重定向輸出。這并不是在管道上演示重新開始所必需的。有關創(chuàng)建錯誤流和重定向行的步驟,請參閱在數(shù)據(jù)流組件中配置錯誤輸出 ()。f. 單擊“確定”以退出“ 目標編輯器”。15. 通過開始一個導入并停止,然后重新開始,對此方法進行測試。每次數(shù)據(jù)流都應該自需要移動的下一行拾取。之前的行將被忽略。您剛剛生成了一個在失敗后可重新開始其數(shù)據(jù)流的簡單的包??墒褂迷摪鳛槠鹗键c,用于有關設計可重試的包的示例。請注意,您不希望該控制流中的任何任務保存檢查點。如果該包失敗并且必須重新開始,則您需要執(zhí)行“從源提取最小 ”和“從目標提取最大 ”組件,以便找到該數(shù)據(jù)流在前一次執(zhí)行中中斷時的確切位置。在任何時候只要在數(shù)據(jù)中存在一些特性,從而能夠找到數(shù)據(jù)流的中斷點,那么像例子中所展現(xiàn)的那樣對包進行設計以便能夠找到其進展情況并重新開始其流就是一個很好的做法。而在更容易受到網(wǎng)絡不確定性影響的環(huán)境(例如云)中,這一做法變得尤為重要。具有多個目標的示例此原則可以擴展到具有多個目標的數(shù)據(jù)流。此原則很有用的一個情形就是在將數(shù)據(jù)移入分片的數(shù)據(jù)模型(就像使用 通常所做的那樣)時。在這些情形中,使用有條件拆分將每一行發(fā)送到其正確目標;或者對于引用數(shù)據(jù),可以使用多播將所有數(shù)據(jù)發(fā)送給所有目標。下面是為重新開始進行設計時要牢記的關鍵原則。 不同的目標在失敗時可能會進展到不同點。因此,您必須找到在每個目標中插入的最高鍵值。創(chuàng)建一個變量以便承載每個目標上的最高值。 在您的源上的起始點將是已成功插入目標中的最低鍵值之后的下一條記錄。例如,如果插入某一分片集的最高鍵值如下所示,則在您的源上,您必須從 之后的下一條記錄恢復您的數(shù)據(jù)流。o o o 因為這會產(chǎn)生某些數(shù)據(jù)可能被多次提取的可能性,所以您必須對每個目標進行篩選,以便避免主鍵沖突。使用有條件拆分轉(zhuǎn)換可篩選出已處理的鍵值。對于上面的分片示例,您要創(chuàng)建名為 、 和 的變量。在執(zhí)行 任務中,您要找到要在每個變量中存儲的值。在有條件拆分中,您可以定義名為 、 和 的輸出。輸出的表達式應該如下所示。 [] [] []如果任何行進入在特定分片上小于 的管道,但記錄轉(zhuǎn)到該分片,將不會發(fā)送該記錄并且將不會遇到任何主鍵沖突。讓這些記錄轉(zhuǎn)到默認輸出,或者任何斷開連接的輸出,這樣將不會進一步處理它們。圖 :針對 個分片配置的有條件拆分,并且配置為在目標沒有主鍵沖突時允許重新開始。在任何執(zhí)行開始時,每個目標上的最大鍵值存儲于 變量中。在管道中,發(fā)往具有過低鍵值的分片的那些行將不會發(fā)送到目標,因此將不會被重新處理。這些行將轉(zhuǎn)到默認輸出。因為默認輸出未連接,因此它們將不會在管道中進一步發(fā)展。針對重新開始的其他提示 在您的目標是某個文件時,使用一個變量表示您的文件名并且使每個文件名都有意義(例如,在文件名末尾追加序號或時間戳)。將不同數(shù)據(jù)塊區(qū)處理到不同文件。如果您按相同順序進行處理,并且您的塊區(qū)明確定義,則可以查看已創(chuàng)建的文件并且從那里確
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1