本頁面說明如何在從 Microsoft SQL Server 資料庫複製資料到 BigQuery 資料表時,變更 Cloud Data Fusion 中的結構定義。如要確保複寫工作在結構定義變更後,仍能繼續複製 SQL Server 來源的資料,請執行下列步驟。
變更結構定義
前往您的執行個體:
在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。
如要在 Cloud Data Fusion Studio 中開啟執行個體,請依序按一下「Instances」和「View instance」。
在 Cloud Data Fusion 網頁介面中,按一下「Replication」(複製)。
停止複製作業。
對來源資料表套用支援的結構定義變更,例如新增可為空值的資料欄。
使用
sys.sp_cdc_enable_table
程序建立新的擷取表格,並為參數@capture_instance
提供不重複的值。在 BigQuery 中對目標資料表套用相同的結構定義變更。
重新啟動複製工作。
選用:當工作開始串流作業停止後發生的新變更時,您可以使用
sys.sp_cdc_disable_table
儲存程序,刪除舊的擷取表。將參數@capture_instance
設為舊擷取執行個體名稱。
在將結構定義變更套用至來源資料表後,以及建立新的擷取資料表之前 (如前面步驟所述),所有變更都會由舊結構定義的舊擷取作業擷取。如果您新增資料欄,則該期間的任何變更事件都不會包含新資料欄的資料。如果應用程式無法處理這類轉換,請按照下列步驟操作:
暫停所有產生資料庫記錄的應用程式。
確認複製工作已處理所有現有事件。
停止複製作業。
將結構定義變更套用至來源資料表,例如新增可為空值的資料欄。
使用
sys.sp_cdc_enable_table
程序建立新的擷取表格,並為參數@capture_instance
指定不重複的值。恢復在第一步驟中暫停的應用程式。
在 BigQuery 中對目標資料表套用相同的結構定義變更。
重新啟動複製工作。
選用:當工作開始串流在先前步驟中建立的新擷取資料表後發生的新變更時,您可以使用
sys.sp_cdc_disable_table
儲存程序來刪除舊的擷取資料表。將參數@capture_instance
設為舊擷取執行個體名稱。