微軟BI SSIS 2012 ETL 控件與案例精講面試 200 問(SSIS 面試題,ETL 面試題)


開篇介紹

本自測與面試題出自 微軟BI SSIS 2012 ETL 控件與案例精講 (http://www.hellobi.com/course/21) 課程,對於學完本課程的每一課時和閱讀完相關輔助閱讀博客之后,都需要通過以下自測題來鞏固課程中所學習到的基本知識點。具體相關學習方法與面試准備可以參考 微軟BI SSIS 2012 ETL 控件與案例精講課程學習方式與面試准備詳解 一文。

自測與面試 200 問

此自測題也可以作為面試題來准備,雖然對於 ETL 控件的面試大多不會考察到這么細的粒度,但是仍然可以作為面試官考察 BI 開發者對基礎知識點的掌握的熟練程度與深度。在 SSIS 中,一個基本的配置改變,對數據的走向與控制可能就會有天壤之別,所以這些基礎的技能點還是值得大家在學習 SSIS ETL 控件的過程中好好總結的。

自測題分類

  • 文件操作類(自測題 1 - 62 )
  • 控制流控件類(自測題 63 - 133)
  • 數據流控件類(自測題 134 - 202)
  1. 什么是控制流,什么是數據流,控制流和數據流之間的關系是什么?
  2. Connection Manager 連接管理器的作用是什么?不同的數據流組件可以使用同一個 Connection Manager 對象嗎?
  3. 在 OLE DB Source 中什么是 External Column? 什么是 Output Column ?
  4. 請描述一下 Flat File Connection Manager 連接管理器 和 Flat File Destination 組件的關系。
  5. 在 Flat File Connection Manager 連接管理器中 Text Qualifier 的作用是什么?在什么時候需要被用到?
  6. 在 Flat File Connection Manager 連接管理器中 Row Delimiter 和 Column Delimiter 的作用分別是什么?
  7. 描述一下比較常用的 Column Delimiter 有哪些?至少四種。
  8. 在 SSIS 2012 中,有那四種文件格式類型?例如 Delimited 是第一種。
  9. 請舉例說明 Delimited 文件格式的使用場景,所針對的文件格式是什么樣子的?
  10. 請舉例說明 Fixed width 文件格式的使用場景,所針對的文件格式是什么樣子的?
  11. 請舉例說明 Fixed width with row delimiters 文件格式的使用場景,所針對的文件格式是什么樣子的?
  12. 請舉例說明 Ragged right 文件格式的使用場景,所針對的文件格式是什么樣子的?
  13. 請描述 Fixed width with row delimiters 與  Ragged right 的區別和聯系。
  14. 在這四種文件格式中,哪一種是針對不換行的定長文件格式的,Delimited,Fixed width,Fixed width with row delimiters,Ragged right?
  15. 請描述如何使用數據流組件中 Flat File Source 組件的用法。
  16. 請描述數據流組件中 OLE DB Destination 組件的用法。
  17. 對於源文件中有列標題和沒有列標題的文件分別應該在 Flat File Connection Manager 中設置什么?
  18. 請描述控制流組件中 Execute SQL Task 組件的基本用法,使用目的?
  19. 如果源端使用使用變量類型的 SQL 語句,它的 Output Column 順序會發生改變,如何解決這個問題?
  20. 如果在源文件中有空值,如何讓它在輸出到目標表的時候使用目標表列種的默認值 Default Value ?
  21. 如果在源文件中有空值,如何讓它在輸出到目標表的時候顯示為 NULL ?
  22. 如果在源文件中有空值,如何讓它在輸出到目標表的時候顯示空白字符串 ?
  23. 請舉例說明在 Flat File Source 中 'Retain null values from the source as null values in the data flow' 的用法?
  24. 請描述在 OLE DB Destination 的兩種不同的 Data Access mode 'Table or View' 和 'Table or View - Fast Load ' 對於源文件空值處理的影響?
  25. 請描述在 OLE DB Destination 的 'Table or View - Fast Load' 模式下 Keep Nulls 配置的作用?
  26. 請總結在 OLE DB Destination 中 Access Mode 中的各種配置對源文件中 NULL 值的影響?
  27. 描述在 OLE DB Destination 中的 Data Access Mode 'Table or view' 和 'Table or view - fast load' 的區別?
  28. 描述在 OLE DB Destination 中 Table or view - fast load 中 Keep Identity,Table Lock,Check Constraints 的大概作用?
  29. 在數據流中,可以通過什么方式查看在數據流執行過程中的數據?
  30. 如何輸出不規則的平面文件,即此目標文件包含有多個 Section,每個 Section 的格式各不相同,請描述一下思路?
  31. 在 Flat File Destination 組件中,'Overwrite data in the file' 選項的作用是什么,可以在什么場景下使用的到?
  32. 描述在數據流源端中,比如 Flat File Source 組件,它的 Error Output 選項中包含了哪些基本的信息?
  33. 請描述在數據流源端中,比如 Flat File Source 組件它的 Error Output 中 Error 和 Truncation 的區別是什么?它們有哪幾種配置類型?
  34. 請分別解釋在源端的 Error Output 中,Fail Component, Ignore failure, Redirect row 的作用分別是什么?
  35. 當在源端的 Error Output 的 Error 選項中選擇了 Ignore failure,當目標表對數據有嚴格的驗證時,源文件中出現轉換錯誤,包執行后出現什么情況?
  36. 當在源端的 Error Output 的 Error 選項中選擇了 Ignore failure,當目標表對數據有嚴格的驗證時,源文件中出現轉換錯誤,且目標表的 Error Output 也選擇了 Ignore failure,包執行后會出現什么情況?
  37. 當在源端的 Error Output Truncation 選擇了 Ignore failure,當目標表對數據有嚴格的驗證時,源文件中出現超長的字符,包執行后出現什么情況?
  38. 當在源端的 Error Output Truncation 選擇了 Ignore failure,當目標表對數據有嚴格的驗證時且目標表的 Error Output 也選擇了 Ignore failure,源文件中出現超長的字符時,包執行后會出現什么情況?
  39. 當包執行失敗的時候,可以在什么位置查看到包執行的整個流程,以及報錯的信息?
  40. 對於源端的 Error Output 重定向 Redirect Row 的輸出是什么內容,包含了哪些信息?
  41. 對於目標端的 Error Output 重定向 Redirect Row 的輸出是什么內容,包含了哪些信息?
  42. 如果需要獲取類似於錯誤行所有 Column 的數據,以及 Error Code 以及 Error Column 編號應該是在源端還是目標端的 Error Output 進行配置?
  43. 如果需要獲取所有完整的正行的錯誤行數據到錯誤文件或錯誤表留給以后手工檢查,應該是在源端還是目標端的 Error Output 進行配置?
  44. SSIS 2012 ETL 中有沒有 XML Destination 控件嗎?
  45. 如何在數據流中將數據輸出到 XML 文件? 需要使用到哪些基本的控件,在 SQL 查詢的時候應該要注意什么?
  46. 如何在控制流中獎數據輸出到 XML 文件?
  47. 在使用平面文件構建 XML 文件輸出的時候,對輸出數據的類型有什么樣的特別要求? 為什么要使用平面文件 Flat File 而不使用 Raw File ?
  48. 在 Execute SQL Task 中,什么時候會使用 Result Set 為 XML 的配置? 如何將 Result Set 為 XML 的返回值賦值給包中的變量?
  49. 在 Script Task 中,支持那兩種編程 Script?
  50. 在 Script Task 中,如何訪問包中的變量並取值?
  51. 如何在 Script Task 中將字符串輸出到一個文件,會使用到 C# 的那些知識,需要引入什么命名空間?
  52. 什么是 XSD?
  53. 在使用 XML Source 時,當只有 XML 文件,但沒有 XSD 文檔的時候應該如何解決 ?
  54. 什么是 CSV 文件,它的全稱是什么?
  55. 在 SSIS 2012 ETL 中並沒有 CSV Source 和 CSV Destination,應該分別使用那種數據流控件來表示 CSV 的 Source 和 Destination?
  56. 在數據流中 Derived Column 的作用是什么? 表達式中可以實現哪些基本的操作?
  57. 在構建 CSV 輸出的時候,使用 Flat File Destination 組件時應該選用哪種文件格式?
  58. SSIS 2012 ETL 中默認支持到 Excel 的最高版本是哪一個版本?
  59. 在處理 2013 版本的 Excel 的時候通常需要安裝什么樣的驅動?
  60. 對 Excel 2013版本支持的驅動通常情況下是需要在 64位模式下還是32位模式下運行包?
  61. 描述一下如何將表中的數據輸出到同一個 Excel 文件的不同的 Sheet 頁中,實現的思路和過程是什么?
  62. 如何將一個 Excel 文件的不同 Sheet 頁的數據加載到同一個表或者不同表的實現思路和過程是什么?
  63. 描述一下 Execute SQL Task 的作用,在 ETL 開發過程中哪些情況下會使用到 Execute SQL Task?
  64. 在 Execute SQL Task 中的 Parameter Mapping 中 Direction 有哪幾種類型?
  65. 如何配置 Execute SQL Task 的參數,在 Parameter Mapping 中 Parameter Name 的作用是什么?
  66. 在 Execute SQL Task 中調用帶有 Output 參數的存儲過程,在配置 Parameter Mapping 中,應該為此 Output 參數配置哪一種 Direction?
  67. 在 Execute SQL Task 中如何獲取帶有返回值的 Return Value 的存儲過程?
  68. 如果要記錄一個包的開始啟動時間,執行結束時間已經包執行的唯一ID,以及包最終執行狀態,應該使用到哪些系統變量,並如何實現這個基本的 Log記錄?
  69. 在 Execute SQL Task 中 Result Set 有哪四種類型,舉例說明每一種類型的 Result Set 的使用場景?
  70. 如何在變量中保存 Execute SQL Task 返回的 Full Result Set,應該使用哪一種變量類型來保存?
  71. 如何遍歷訪問 Execute SQL Task 中返回的 Full Result Set,有那兩種基本的實現方式?
  72. 在哪些情況下會使用到父子包 Parent Package and Child Package,使用父子包設計的好處 ?
  73. 如果需要將 Parent Package 的參數傳入 Child Package 需要打開 Package 的哪個配置選項?
  74. 在 SSIS ETL 2012 中對於 Package Configuration 第一次打開和第二次打開的位置有什么變化?
  75. 在 Package Configuration Wizard 中, Configuration Type 配置有那幾種類型,配置父子包的時候應該選擇哪一種?
  76. 如何將 Parent Package 中的值傳入到 Child Package 包中的變量?
  77. 如何在 Parent Package 調用 Child Package,在控制流中使用到哪一個控件?
  78. 給包變量賦值有哪三個階段?
  79. 如何在包運行之前給包中的變量賦值?
  80. 可以通過哪些控制流控件調用結束后通過返回值給一個變量賦值?
  81. 如何在包運行的過程中給一個變量賦值,可以使用到哪些控制流控件?
  82. 在控制流中 File System Task 可以對文件做哪些基本的操作?
  83. 在 Script Task 中如何獲取指定目錄下的所有文件名稱,或者指定文件后綴類型的文件名稱?
  84. 在 SSIS 2012 ETL 中,XML Task 有那六大操作類型 Operation Type ,這六種類型各自的作用分別是什么 ?
  85. XML Task 中,如何使用 Validate 操作來驗證一個 XML 文件?
  86. XML Task 中,如何使用 XML 樣式表對 XML 文件進行格式轉換,XLST 文件的作用是什么?
  87. XML Task 中,如何使用 XPATH 查找和抽取 XML 文件中的內容,比如如何返回一個節點,或者節點集合,值等?
  88. XML Task 中,如何使用 Merge 操作來合並兩個 XML 文件中的內容到第三個新的文件,或者將 XML 文件內容插入到另外一個 XML 文件指定的位置?
  89. XML Task 中,使用 Diff 操作比較兩個 XML 文件,可以輸出哪些內容? 這些內容分別描述的是什么?
  90. XML Task 中,使用 Patch 操作時一般需要哪幾種 XML 文件來參與? 這幾種 XML 文件的內容分別應該是什么?
  91. 請描述使用 Send Mail Task 的場景?
  92. 在使用 Send Mail Task 的時候有哪些限制,局限性?
  93. 在使用 Send Mail Task 需要建立哪種類型的連接?
  94. 使用 Send Mail Task 是否可以發送帶附件的郵件類型?
  95. SSIS 中 Event Handler 的作用是什么? OnError 事件有什么樣的作用,我們可以利用 OnError 處理哪些問題?
  96. 什么是變量的 Scope? 控制流控件中 Scope 下的變量和 OnError Scope 下的變量有哪些差別?
  97. 如果要訪問非域中的非Windows 驗證下的 SMTP 服務器並發送郵件,在 SSIS 2012 ETL 中我們還可以使用什么樣的方式?
  98. 在控制流 Script Task 中,默認引用的命名空間中是否包含了對 Windows.Forms 的引用?
  99. 在控制流 Script Task 中,它的 Entry Point 是什么? 這個方法的作用是什么?
  100. 在控制流 Script Task 中,ReadOnlyVariables 和 ReadWriteVariables 分別是表示什么意思?
  101. 如何調試 Script Task 中的腳本,有哪兩種基本的方式,調試的過程是什么?
  102. 在 SSIS 2012 ETL 中,Script Task 有哪一種 Bug 從 2008、2008R2 版本到 2012 版本一直都存在,這個 Bug 是什么?
  103. 在 SSIS 2012 ETL 項目中,對於參數的驗證一般有哪些,為什么需要這些驗證,所起到的作用是什么?
  104. 在你的項目中,對文件類的驗證一般都有哪些,分別是什么,請描述一下驗證的過程?
  105. 描述 SSIS 2012 ETL 控制流的 Execute Process Task 的作用,我們可以使用它來做哪些操作?
  106. 如何使用 Execute Process Task 來實現壓縮和解壓縮操作?
  107. For Loop Container 的作用是什么?它類似於編程語言中的哪一種語法,有哪三個基本的配置?
  108. 可以在 For Loop Container 中循環時間嗎?如何實現?
  109. Foreach Loop Container 最常見的使用場景是什么? 如何使用 Foreach Loop Container 來循環和遍歷在指定目錄下同類型的文件?
  110. 描述一下你所知道的 Foreach Loop Container 中的迭代器 Enumerator,大概有哪幾種?
  111. 在 Foreach Loop Container 中,Foreach File Enumerator 主要在什么時候使用?
  112. 在 Foreach Loop Container 中,Foreach ADO Enumerator 主要在什么時候使用? 它對循環的變量在類型上有什么特別要求?
  113. 在 Foreach Loop Container 中,Foreach From Variable Enumerator 主要在什么時候使用?對循環的變量在類型上有什么要求,請舉例說明使用的場景?
  114. 在 Foreach Loop Container 中,使用 Foreach ADO.NET Schema Rowset Enumerator 可以解決什么樣的問題? 請舉例說明。
  115. Precedence Constraint 優先約束是什么? 它是在控制流中還是數據流中使用?它的作用是什么?
  116. Precedence Constraint 優先約束中約束有哪兩種選項,作用分別是什么?
  117. Precedence Constraint 中,Constraint 約束有哪幾種值,作用分別是什么?
  118. Precedence Constraint 中,Expression 表達式約束是如何使用的?
  119. Precedence Constraint 中,請描述一下在多約束的情況下,Logical AND 和 Logical OR 是如何使用的?
  120. 使用 SQL Profilling Task 數據探測的作用是什么? 可以幫助我們了解到什么樣的信息?
  121. 使用 SQL Profilling Task 對數據源連接有什么樣的限制?
  122. 使用 SQL Profilling Task,對於數據探測的結果通常是以什么形式來保存的?
  123. 對於 SQL Profilling Task 的輸出結果,應該使用 SQL Server 2012 中的哪種工具來進行查看?
  124. SQL Profilling Task 中,Null Ratio Profile (NULL 比例統計) 的作用是什么,可以通過它檢測到哪些信息?
  125. SQL Profilling Task 中,Column Length Distribution Profiles (列長度分布統計數據) 的作用是什么,它包含哪些基本信息?
  126. SQL Profilling Task 中,Statistics Profiles (列統計信息) 的作用是什么,它包含哪些基本信息?
  127. SQL Profilling Task 中,Value Distribution (列值分布統計) 的作用是什么,它包含哪些基本信息?
  128. SQL Profilling Task 中,Pattern Profiles (列模式,正則表達式分配統計) 的作用是什么,它包含哪些基本信息?
  129. SQL Profilling Task 中,Candidate Key Profile (候選主鍵探查) 的作用是什么,它包含哪些基本信息?
  130. SQL Profilling Task 中,Functional Dependency Strength Profile (函數依賴關系統計) 的作用是什么,它包含哪些基本信息?
  131. SQL Profilling Task 中,Value Inclusion Profile (值包含統計) 的作用是什么,它包含哪些基本信息?
  132. 在使用 Bulk Insert 控件時,是否可以對長度類型進行控制,包括類型轉換?
  133. 在分別使用 Bulk Insert 控件,SSIS Data Flow Fast Load,SQL Bulk Insert 語句插入數據的效率表現是怎么樣的?
  134. 請描述一下 Conditional Split 的使用方法和使用場景? 它可以寫表達式嗎? 它可以訪問到上游數據的列,變量,以及使用函數嗎?
  135. 請描述一下 Data Conversion 與 Derived Column 的使用方法,以及它們之間的區別是什么?
  136. 請描述一下 Multicast 多播的使用方法和使用場景? 請舉例說明。
  137. 請描述一下 Aggregate 聚合控制的使用方法,為什么我們要盡量避免在數據流 Data Flow 中使用 Aggregate 控件,在什么情況下可能避免不了要使用它?
  138. 你是如何理解 Synchronous 同步,Asynchronous 異步,Blocking 阻塞這幾個概念的?
  139. 請描述一下 Lookup 控件的基本使用方式,它可以解決什么問題?
  140. 在 Lookup 中什么是輸入源,引用數據集,緩存的數據是哪一部分的數據?
  141. Lookup 有那兩種連接方式,分別是什么?
  142. Lookup 中 OLE DB Connection 連接模式下有哪幾種緩存模式?分別是什么?
  143. Lookup 中字符串對比的時候,在默認 Full Cache 條件下會出現 CASE SENSITIVE 的問題,如何設計或者配置能讓字符串比較不區分大小寫?
  144. Lookup 中 OLE DB Connection 連接模式下 Full Cache 完全緩存模式下數據完全緩存在什么地方,它的緩存過程是什么?
  145. Lookup 中 OLE DB Connection 連接模式下 Partial Cache 部分緩存中的匹配緩存區和不匹配緩存區分別指什么?
  146. Lookup 中 OLE DB Connection 連接模式下 No Cache 的工作機制是什么?
  147. 什么是運行時緩存,Cache Transform 緩存轉換控件中運行時緩存是如何實現的,請描述使用的過程?
  148. 什么是文件緩存,Cache Transform 緩存轉換控件中的文件緩存是如何實現的,情描述使用的過程?
  149. Cache Transform 中的運行時緩存和文件緩存在使用的時候有什么區別,對同包和不同的包調用緩存時有什么樣的使用要求?
  150. 請描述 Merge 合並轉換控件的使用方式,它對輸入的數據源有什么要求與限制?
  151. 盡管在 OLE DB Source 查詢時使用了排序的 SQL 語句,但是仍然在關聯到 Merge 控件的時候出現錯誤,通常是什么原因,應該如何解決?
  152. 請描述 Sort 排序轉換控件的使用方式,如何理解它的 Asynchronous 異步和 Blocking 阻塞特性?
  153. Merge Join 轉換控件的特點是什么?它有哪幾種 Join 的方式,如何使用?請描述各種 Join 方式的使用過程。
  154. Union All 轉換控件的使用和 Merge,Merge Join 轉換控件的使用有什么不同? 它們三者直接的異同點是什么?
  155. 如果需要在數據流 Data Flow 中記錄從源插入的目標的條數,可以有什么樣的實現方法?
  156. 請描述一下 Row Count 轉換控件的使用,如何記錄數據流 Data Flow 中條數並賦值給一個變量,且插入到日志中?
  157. 如何在 SQL 以及 SSIS 中實現 PIVOT 操作?
  158. 在 SSIS 2012 ETL 中,PIVOT 轉換控件中的 Pivot Key, Set Key, Pivot Value 分別是指什么?
  159. 在 SSIS 2012 ETL 中,如何通過 PIVOT 控件自動生成轉換的列 Pivoted Output Columns?需要通過什么樣的設置?
  160. 如何在 SQL 以及 SSIS 中實現 UNPIVOT 操作? 在使用 UNPIVOT 的過程中,能不能從聚合數據還原到 PIVOT 之前的細節數據?
  161. 在 SSIS 2012 ETL 中,UNPIVOT 轉換控件中的 Input Column, Destination Column 以及 Pivot Key value column name 分別指的是什么?
  162. 在數據流 Data Flow 中,Script Component 大概能夠使用到的場景有哪些? 它有哪幾種轉換類型?
  163. 在數據流 Data Flow 中,Script Component與控制流 Control Flow 中的 Script Task 有哪些不同?
  164. 請分別說明 Script Component 中默認的類型下 PreExecute(), PostExecute(), InputXXX_ProcessInputRow() 方法各自的作用是什么?
  165. Script Component 中 InputXXX_ProcessInputRow(Input0Buffer Row) 參數 Row 的生命周期是什么,它表示什么?
  166. 如何使用 Script Component 來實現數據流 Data Flow 中從源到目標的行計數?
  167. 如何使用 Script Component(Source 類型)來訪問並遍歷一個平面文件的每一行?
  168. 如何在 Script Component (Source 類型)創建一個或者多個 Output 輸出?
  169. 描述一下在 Script Component (Source 類型) 中的 Script 中創建輸出流的過程,即 CreateNewOutputRows() 方法的使用。
  170. 如何在 Script Component (Source 類型)中的 Script 訪問輸出 Buffer,如何添加一個新的 Output 行往下輸出?
  171. 什么是 Script Component 同步 Transformation?應該如何設置?
  172. Script Component (Transformation 類型) 中的 Output 中 SynchronousInputID 的作用是什么? 如果值是 None 或者 0 表示是什么意思?
  173. Script Component (Transformation 類型) 中的 InputXXX_ProcessInputRow(Input0Buffer Row) 方法中,Row 包含了那兩部分的內容?
  174. 在數據流 Data Flow 轉換組件中,如何判斷這個轉換組件是一個同步 Synchronous 的還是一個異步 Asynchronous 轉換組件?有哪些基本的判斷方法?
  175. 如果需要將 Script Component (Transformation 類型) 由同步 Synchronous 變為異步 Asynchronous 需要做哪些設置?
  176. 在 Script Component (Transformation - 類型 - 異步) 中,如果有多個輸出,同步轉換和異步轉換是否可以共存?
  177. 在 Script Component (Transformation - 類型 - 異步) 中,InputXXX_ProcessInput() 方法和 InputXXX_ProcessInputRow() 方法的區別是什么?
  178. 在 Script Component (Transformation - 類型 - 異步) 中,InputXXX_ProcessInput(Input0Buffer Buffer) 方法中的 Buffer 參數應該如何理解? 它包含的數據應該是什么?
  179. 為什么說 Script Component (Transformation - 同步) 是一個 Non-Blocking 無阻塞轉換,而(Transformation - 異步)是一個 Semi-Blocking 半阻塞轉換?
  180. 如果我們在 Script Component 中腳本中同時看到這兩個方法 InputXXX_ProcessInput() 和 InputXXX_ProcessInputRow(),我們對 Script Component 的配置可能采取哪些方式? 它們要表達的轉換形式可能是什么?
  181. 描述一下在你所經歷過的項目或者練習中對 Script Component(Destination - 類型) 的使用是如何進行的?
  182. 如何在 Script Component 中訪問連接數據庫中的數據表?需要采用 OLE DB 連接方式還是 ADO.NET 連接方式?
  183. 請描述一下在 Script Component 中訪問連接數據庫並向指定數據表插入數據的過程,所需要涉及到的 SQL 對象有哪些?
  184. 請大致描述一下在 Script Component 組件的四種轉換操作中(Source, 同步 Transformation,異步 Transformation,Destination)通常哪一種或者哪兩種轉換方式效率要高一些,哪一種或者哪幾種轉換方式效率要低一些,請大致分析一下原因。
  185. 結合數據流中的這些組件 Data Conversion, Derived Column, Aggregate,Sort,Script Component 描述一下你是如何理解阻塞,半阻塞,完全阻塞,同步,異步這些概念的? 以及描述一下你所了解的控件哪些是屬於阻塞,半阻塞,完全阻塞,同步,異步類型的?
  186. 在數據流中 OLE DB Command 組件與控制流中的 Execute SQL Task 有哪些異同點?
  187. 在數據流中 OLE DB Command 組件與 OLD DB Destination 有哪些異同點?
  188. 在 OLE DB Command 中使用普通的帶參數的 SQL 語句與帶參數的 Stored Procedure 有什么樣的細微差別?
  189. 雖然說 OLE DB Command 是一個同步轉換組件,但為什么還是要說它是一個 Performance Killer 性能殺手,它的執行特點是什么?
  190. 同步轉換組件的效率是否一定要比異步轉換組件的效率要高,如果不一定的話可以舉出兩個例子來說明。
  191. 在一些使用場景下,可以通過什么樣的方式來實現替換 OLE DB Command 的使用,以達到提升效率的目標?
  192. 描述一下什么是 Slowly Changing Dimension 緩慢漸變維度,在什么場景下我們需要使用到這個概念來解決一些實際問題?
  193. 描述一下你所了解的解決緩慢漸變維度的一些設計方式和方法?
  194. 什么是 Business Key 業務主鍵,什么是 Surrogate Key 代理主鍵? 使用 Surrogate Key 可以解決什么樣的問題,有什么樣的好處?
  195. 在 SSIS 中可以通過哪種控件來實現 SCD,描述一下其實現的步驟,包括在 SSIS 2012 ETL 中 SCD 提到的三種 SCD Type 有哪些?
  196. 描述一下在 SSIS 2012 ETL 中的 SCD 數據流執行的過程,SCD Type 1 和 SCD Type 2 的邏輯實現過程?
  197. 除了 SSIS 2012 ETL 自帶的 SCD 轉換控件以外,還可以通過哪些方式來實現 SCD?
  198. 在微軟 SSIS 2012 ETL 中,對於 SCD Type 2 的可以通過起始時間的設置,或者狀態的設置二選一來實現標識當前維度和維護歷史維度行,如何設計讓這兩者並存出現在維度表中?
  199. 請大致說下對於增量數據的加載有哪些實現方式? 比如對有時間戳的原始數據和沒有時間戳的原始數據增量加載可以如何設計和實現?
  200. 請描述一下 Check Point 的使用場景以它的實現過程和基本的配置。
  201. 如何設計一個 ETL 來監控某指定數據庫,比如數據倉庫各表的大小,行數每天的變化情況? 並根據這些變化情況大致了解每天的增長量,對以后增長趨勢的預測?
  202. 如何設計一個 ETL 監控或者同步指定目錄下各中文件,或指定后綴文件的大小變化,及相關屬性變化等信息,比如數據庫文件大小變化的監控?

可按對應課程案例名稱(案例XXX)查找自測和面試題

  • 001_從數據庫導出數據到平面文件  (1-7)
  • 002_平面文件輸出格式的區別  (8-14)
  • 003_從平面文件導入數據到數據庫之一 (15-19)
  • 004_從平面文件導入數據到數據庫之二 (15-19)
  • 005_平面文件空值處理 (20-29)
  • 006_不規則的平面文件輸出技巧 (30-31)
  • 007_Error Output 錯誤輸出 (32-39)
  • 008_Error Output 錯誤捕獲 (40-43)
  • 009_兩種輸出 XML 文件的方式 (44-51)
  • 010_XML 文件的加載導入 (52-53)
  • 011_CSV 文件的導入與導出 (54-57)
  • 012_EXCEL2013 文件的導入與導出 (58-62)

 控制流控件類 - 14

  • 013_Execute SQL Task 與輸入輸出返回值 (63-71)
  • 014_Execute Package Task 父子包與參數傳遞 (72-77)
  • 015_Expression Task 與變量賦值的三個階段 (78-81)
  • 016_使用File System Task 中處理文件和目錄 (82-83)
  • 017_XML Task 之文件驗證與樣式轉換 (85-86)
  • 018_XML Task 之XPATH抽取與MERGE合並 (87-88)
  • 019_XML Task 之 Diff 與 Patch 互逆操作 (89-90)
  • 020_使用 Send Mail Task 監控包錯誤並發送郵件 (91-97)
  • 021_Script Task 中讀寫變量的操作與斷點調試 (98-102)
  • 022_Script Task 中的文件參數驗證 (103-104)
  • 023_使用 Execute Process Task 壓縮與解壓縮文件 (105-106)
  • 024_For Loop 時間與 Foreach Loop 文件加載 (107-114)
    • 關於 Foreach ADO Enumerator
    • 關於 Foreach ADO.NET Schema Rowset Enumberator
    • 關於 Foreach From Variable Enumerator
  • 025_Precedence Constraint 優先約束詳解 (115-119)
  • 026_使用 SQL Profilling Task 進行數據探測 (120-131)
  • 027_BCP Bulk Insert Data Flow Bulk Insert 四種文件導入方式 (132-133)

 數據流控件類 - 22

  • 028_使用 Conditional Split 條件拆分 (134)
  • 029_Data Conversion 與 Derived Column 之比較 (135)
  • 030_使用 MultiCast 多播輸出到多個目標 (136)
  • 031_使用 Aggregate 聚合輸出(同步異步與阻塞) (137-138)
  • 032_初步使用 Lookup 查找轉換 (139-142)
  • 033_Lookup 的 OLE DB 緩存 Full Cache  Partial Cache 和 No Cache (143-147)
  • 034_Lookup 與 Cache Transform 運行時緩存共享 (147)
  • 035_Lookup 與 Cache Transform 文件緩存共享 (148-149)
  • 036_Merge 合並與 Sort 排序(異步與阻塞) (150-152)
  • 037_Merge Join 的特點 (153)
  • 038_Union All 的使用與 Merge Merge Join 之比較 (154)
  • 039_使用 Row Count 記錄從數據源寫入目標表的條數  (155-156)
  • 040_在 SQL 和 SSIS 中使用 PIVOT 進行行列轉換 (157-159)
  • 041_在 SQL 和 SSIS 中使用 UNPIVOT 轉換操作 (160-161)
  • 042 _初步使用 Script Component 記錄數據流行數 (162-166)
  • 043_使用 Script Component Source 解析不規則文件 (167-170)
  • 044_使用 Script Component 同步 Transformation 解析不規則文件 (171-174)
  • 045_使用 Script Component Transformation 異步轉換不規則文件 (175-180)
  • 046_使用 Script Component Destination 和 ADO.NET 解析不規則文件(一) (181-185)
  • 046_使用 Script Component Destination 和 ADO.NET 解析不規則文件(二) (181-185)
  • 047_OLE DB Command 性能殺手 (186-191)
  • 048_數據倉庫 Slowly Changing Dimension 緩慢漸變維度 (192-194)
  • 049_Slowly Changing Dimension 的實現 (195-198)
  • 案例作業及其它(199-202)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM