

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 將資料倉儲結構描述轉換為 Amazon RDS AWS SCT
<a name="CHAP_Converting.DW"></a>

 AWS Schema Conversion Tool (AWS SCT) 會將將資料倉儲結構描述轉換為 Amazon RDS 或 Aurora 資料庫結構描述的大部分程序自動化。由於來源和目標資料庫引擎可以有許多不同的功能，因此盡可能 AWS SCT 嘗試在目標資料庫中建立同等結構描述。如果無法直接轉換， AWS SCT 會提供評估報告，其中包含可能採取的動作清單。您可以使用 AWS SCT管理金鑰、映射資料類型和物件，以及建立手動轉換。

AWS SCT 可以轉換下列資料倉儲結構描述。
+ Amazon Redshift
+ Azure Synapse Analytics （第 10 版）
+ BigQuery
+ Greenplum 資料庫 (4.3 版）
+ Microsoft SQL Server (2008 版及更新版本）
+ Netezza (7.0.3 版和更新版本）
+ Oracle (10.2 版及更高版本）
+ Snowflake （第 3 版）
+ Teradata (13 版及更高版本）
+ Vertica (7.2 版及更新版本）

如需有關轉換線上交易處理 (OLTP) 資料庫結構描述的資訊，請參閱 [在 中轉換資料庫結構描述 AWS Schema Conversion Tool](CHAP_Converting.md)。

若要轉換資料倉儲結構描述，請執行下列步驟：

1. 指定最佳化策略和規則，並指定 AWS SCT 您要使用的遷移規則。您可以設定變更欄的資料類型、將物件從某個結構描述移至另一個結構描述，以及變更物件名稱的規則。

    您可以在**設定**中指定最佳化和遷移規則。如需最佳化策略的詳細資訊，請參閱[選擇與 搭配使用的最佳化策略和規則 AWS SCT](#CHAP_Converting.DW.Strategy)。如需遷移規則的詳細資訊，請參閱 [在 中建立遷移規則 AWS SCT](#CHAP_Converting.DW.MigrationRules) 

1. 提供關於來源資料倉儲的統計資料，讓 AWS SCT 可將您的資料倉儲轉換最佳化。您可以直接從資料庫收集統計資料，也可以上傳現有的統計資料檔案。如需有關提供資料倉儲統計資料的詳細資訊，請參閱[收集或上傳 的統計資料 AWS SCT](#CHAP_Converting.DW.Statistics)。

1. 建立資料庫遷移評估報告，詳細說明無法自動轉換的結構描述元素。您可以使用此報告來識別哪些地方需要您在目標資料庫中手動建立與來源資料庫相容的結構描述。如需評估報告的詳細資訊，請參閱[在 中使用評估報告 AWS Schema Conversion Tool](CHAP_AssessmentReport.md)。

1. 轉換結構描述。 AWS SCT 會建立轉換後結構描述的本機版本供您檢閱，但在您準備好之前，不會套用到您的目標資料庫。如需轉換的詳細資訊，請參閱[使用 轉換您的結構描述 AWS SCT](#CHAP_Converting.DW.Convert)。

1.  轉換結構描述後，您可以管理和編輯您的索引鍵。索引鍵管理是資料倉儲轉換的核心。如需對應金鑰的詳細資訊，請參閱[在 中管理和自訂金鑰 AWS SCT](#CHAP_Converting.DW.Keys)。

1.  如果有無法自動轉換的結構描述元素，您有兩個選擇：更新來源結構描述然後再次轉換，或是在目標資料庫中建立同等結構描述元素。如需手動轉換結構描述元素的詳細資訊，請參閱[在 中處理手動轉換 AWS SCT](#CHAP_Converting.DW.Manual)。如需更新來源結構描述的詳細資訊，請參閱[在 中更新和重新整理轉換後的結構描述 AWS SCT](#CHAP_Converting.DW.UpdateRefresh)。

1. 準備好後，您可將轉換的結構描述套用到目標資料庫。如需儲存及套用轉換的結構描述的詳細資訊，請參閱[在 中儲存和套用轉換後的結構描述 AWS SCT](#CHAP_Converting.DW.SaveAndApply)。

## Amazon Redshift 做為目標的許可
<a name="CHAP_Converting.DW.ConfigureTarget"></a>

Amazon Redshift 做為目標所需的許可如下：
+ CREATE ON DATABASE – 允許 在資料庫中建立新的結構描述。
+ CREATE ON SCHEMA – 允許 在資料庫結構描述中建立物件。
+ GRANT USAGE ON LANGUAGE – 允許 在資料庫中建立新的函數和程序。
+ GRANT SELECT ON ALL TABLES IN SCHEMA pg\$1catalog – 為使用者提供有關 Amazon Redshift 叢集的系統資訊。
+ GRANT SELECT ON pg\$1class\$1info – 提供使用者資料表分佈樣式的相關資訊。

您可以使用下列程式碼範例來建立資料庫使用者並授予許可。

```
CREATE USER user_name PASSWORD your_password;
GRANT CREATE ON DATABASE db_name TO user_name;
GRANT CREATE ON SCHEMA schema_name TO user_name;
GRANT USAGE ON LANGUAGE plpythonu TO user_name;
GRANT USAGE ON LANGUAGE plpgsql TO user_name;
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO user_name;
GRANT SELECT ON pg_class_info TO user_name;
GRANT SELECT ON sys_serverless_usage TO user_name;
GRANT SELECT ON pg_database_info TO user_name;
GRANT SELECT ON pg_statistic TO user_name;
```

在上述範例中，將 *user\$1name* 取代為您的使用者名稱。然後，將 *db\$1name* 取代為目標 Amazon Redshift 資料庫的名稱。接著，將 *schema\$1name* 取代為 Amazon Redshift 結構描述的名稱。針對要套用轉換後的程式碼或遷移資料的每個目標結構描述，重複 `GRANT CREATE ON SCHEMA` 作業。最後，使用安全密碼取代 *your\$1password*。

您可以在目標 Amazon Redshift 資料庫上套用延伸套件。延伸套件是附加模組，可模擬將物件轉換到 Amazon Redshift 目標資料庫時所需的來源資料庫函數。如需詳細資訊，請參閱[搭配 使用延伸套件 AWS Schema Conversion Tool](CHAP_ExtensionPack.md)。

對於此操作， AWS SCT 需要代表您存取 Amazon S3 儲存貯體的許可。若要提供此許可，請使用下列政策建立 AWS Identity and Access Management (IAM) 使用者。

## 選擇與 搭配使用的最佳化策略和規則 AWS SCT
<a name="CHAP_Converting.DW.Strategy"></a>

若要最佳化 AWS Schema Conversion Tool 轉換資料倉儲結構描述的方式，您可以選擇您希望工具使用的策略和規則。在轉換結構描述並檢閱建議的索引鍵後，您可以調整規則或變更策略，以取得您想要的結果。

**若要選擇最佳化策略和規則**

1. 選擇 **Settings** (設定)，然後選擇 **Project Settings** (專案設定)。**Current project settings** (目前專案設定) 對話方塊會出現。

1. 在左側窗格中選擇 **Optimization Strategies** (最佳化策略)。最佳化策略會顯示在右側窗格中，並已選取預設值。

1. 對於 **Strategy Sector** (策略區段)，選擇您要使用的最佳化策略。您可以選擇下列項目：
   + **使用中繼資料，忽略統計資訊** – 在此策略中，只會使用中繼資料中的資訊進行最佳化決策。例如，如果來源資料表上有多個索引，則會使用來源資料庫排序順序，且第一個索引會變成散發索引鍵。

      
   + **忽略中繼資料、使用統計資訊** – 在此策略中，最佳化決策僅衍生自統計資訊。這個策略僅套用至有提供統計資料的資料表和欄。如需詳細資訊，請參閱[收集或上傳 的統計資料 AWS SCT](#CHAP_Converting.DW.Statistics)。

      
   + **使用中繼資料並使用統計資訊** – 在此策略中，中繼資料和統計資料都會用於最佳化決策。

      

1. 選擇最佳化策略之後，您可以選擇您要使用的規則。您可以選擇下列項目：
   + **Choose Distribution Key and Sort Keys using metadata** (使用中繼資料來選擇散發索引鍵和排序索引鍵)
   + **Choose fact table and appropriate dimension for collation** (選擇事實資料表和定序的適當維度)
   + **Analyze cardinality of indexes' columns** (分析索引欄的基數)
   + **從查詢日誌資料表尋找最常用的資料表和資料欄**

   對於每個規則，您可以輸入排序索引鍵的權重和散發索引鍵的權重。 AWS SCT 會在轉換您的結構描述時使用您選擇的權重。當您稍後檢閱建議的索引鍵，如果不滿意結果，可以返回此處並變更設定。如需詳細資訊，請參閱[在 中管理和自訂金鑰 AWS SCT](#CHAP_Converting.DW.Keys)。

## 收集或上傳 的統計資料 AWS SCT
<a name="CHAP_Converting.DW.Statistics"></a>

若要最佳化 AWS Schema Conversion Tool 轉換資料倉儲結構描述的方式，您可以提供來自來源資料庫的統計資料，供工具使用。您可以直接從資料庫收集統計資料，也可以上傳現有的統計資料檔案。

**若要提供和檢閱統計資料**

1. 開啟專案，並連接到來源資料庫。

1. 從專案的左側面板中選擇結構描述物件，並開啟物件的內容 (按一下滑鼠右鍵) 選單。選擇 **Collect Statistics** (收集統計資料) 或 **Upload Statistics** (上傳統計資料)，如下所示。  
![\[選擇了 Collect Statistics (收集統計資料) 的內容選單\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/collect-statistics.png)

1. 從專案的左側面板中選擇結構描述物件，然後選擇 **Statistics** (統計資料) 索引標籤。您可以檢視物件的統計資料。  
![\[Statistics (統計資料) 索引標籤\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/statistics.png)

   當您稍後檢閱建議的索引鍵，如果不滿意結果，可以收集其他統計資料並重複此程序。如需詳細資訊，請參閱[在 中管理和自訂金鑰 AWS SCT](#CHAP_Converting.DW.Keys)。

## 在 中建立遷移規則 AWS SCT
<a name="CHAP_Converting.DW.MigrationRules"></a>

使用 轉換結構描述之前 AWS SCT，您可以設定遷移規則。*遷移規則*可以執行這類動作，例如變更資料欄的資料類型、將物件從一個結構描述移至另一個結構描述，以及變更物件的名稱。例如，假設您的來源結構描述中有一組名為 `test_TABLE_NAME` 的資料表。您可以設定在目標結構描述中將 `test_` 字首變更為 `demo_` 字首的規則。

**注意**  
您只能為不同的來源和目標資料庫引擎建立遷移規則。

您可以建立執行下列任務的遷移規則：
+ 新增、移除或取代字首
+ 新增、移除或取代字尾
+ 變更資料欄定序
+ 變更資料類型
+ 變更 `char`、`varchar`、 `nvarchar`和 `string`資料類型的長度
+ 移動物件
+ 重新命名物件

您可以為下列物件建立遷移規則：
+ 資料庫 
+ 結構描述 
+ 資料表 
+ 資料行 

### 建立遷移規則
<a name="CHAP_Converting.DW.MigrationRules.Map"></a>

您可以建立遷移規則，並將規則儲存為專案的一部分。開啟專案後，請使用下列程序來建立遷移規則。

**建立遷移規則**

1. 在**檢視**功能表上，選擇**映射檢視**。

1.  在**伺服器映射**中，選擇一對來源和目標伺服器。

1. 選擇**新的遷移規則**。**隨即出現轉換規則**對話方塊。

1. 選擇 **Add new rule** (新增新的規則)。新的資料列會新增到規則清單。

1. 設定您的規則：

   1. 在 **Name** (名稱) 中，輸入規則名稱。

   1. 在 **For** (對象) 中，選擇規則套用的物件類型。

   1. 在**套用**遷移規則之前，輸入要套用至物件的篩選條件。將使用類似子句來評估 where 子句。您可以輸入確切名稱以選擇一個物件，也可以輸入模式以選擇多個物件。

      **where** 子句可用的欄位，根據物件類型而不同。例如，如果物件類型是結構描述，則只有一個欄位可用於結構描述名稱。

   1. 針對**動作**，選擇您要建立的遷移規則類型。

   1. 根據規則類型，輸入一或兩個額外的值。例如，若要重新命名物件，請輸入物件的新名稱。若要取代字首，請輸入舊字首和新字首。

1. 設定遷移規則之後，請選擇**儲存**以儲存規則。您也可以選擇 **Cancel** (取消) 以取消變更。  
![\[轉換規則對話方塊\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/transformation-rules.png)

1. 完成新增、編輯和刪除規則之後，請選擇 **Save All** (全部儲存) 儲存所有變更。

1. 選擇**關閉**以關閉**轉換規則**對話方塊。

您可以使用切換圖示關閉遷移規則，而不將其刪除。您可以使用複製圖示來複製現有的遷移規則。您可以使用鉛筆圖示來編輯現有的遷移規則。您可以使用刪除圖示來刪除現有的遷移規則。若要儲存您對遷移規則所做的任何變更，請選擇**全部儲存**。

### 匯出遷移規則
<a name="CHAP_Converting.DW.MigrationRules.Export"></a>

如果您使用 AWS Database Migration Service (AWS DMS) 將資料從來源資料庫遷移至目標資料庫，您可以提供遷移規則的相關資訊 AWS DMS。如需任務的詳細資訊，請參閱[使用 AWS Database Migration Service 複寫任務](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)。

**匯出遷移規則**

1. 在 中 AWS Schema Conversion Tool，選擇**檢視功能表上的映射****檢視**。

1.  在**遷移規則**中，選擇遷移規則，然後選擇**修改遷移規則**。

1.  選擇**匯出指令碼。 AWS DMS**

1. 瀏覽至您要儲存指令碼的位置，然後選擇 **Save** (儲存)。您的遷移規則會儲存為可供 使用的 JSON 指令碼 AWS DMS。

## 使用 轉換您的結構描述 AWS SCT
<a name="CHAP_Converting.DW.Convert"></a>

將專案同時連線至來源資料庫和目標資料庫後， AWS Schema Conversion Tool 專案會在左側面板中顯示來源資料庫的結構描述。結構描述會呈現為樹狀檢視格式，並且延遲載入樹狀目錄的每個節點。當您在樹狀檢視中選擇節點， AWS SCT 會在此時向來源資料庫請求結構描述資訊。

您可以從來源資料庫選擇結構描述項目，然後將結構描述轉換到適用於目標資料庫之資料庫引擎的對等結構描述。您可以從來源資料庫選擇任何結構描述項目加以轉換。如果您選擇的結構描述項目取決於父項項目，則 AWS SCT 也會產生父項項目的結構描述。例如，如果您從要轉換的資料表中選擇資料欄，則 AWS SCT 會產生資料欄的結構描述、資料欄所在的資料表，以及資料表所在的資料庫。

### 轉換結構描述
<a name="CHAP_Converting.DW.Convert.Convert"></a>

若要從來源資料庫轉換結構描述，請選取要轉換之結構描述名稱的核取方塊。接著，從專案的左側面板選擇此結構描述。 會以藍色 AWS SCT 反白顯示結構描述名稱。開啟結構描述的內容 （按一下滑鼠右鍵） 選單，然後選擇**轉換結構描述**，如下所示。

![\[轉換結構描述\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/transform_schema.png)


當您轉換來源資料庫的結構描述後，您可以從專案左側面板選擇結構描述項目，並在專案中央面板查看轉換後的結構描述。中央下方面板顯示用來建立轉換後結構描述的屬性和 SQL 命令，如下所示。

![\[選擇來源結構描述項目\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/select_schema_item.png)


轉換結構描述之後，您可以儲存您的專案。來自來源資料庫的結構描述資訊會與您的專案一起儲存。此功能表示您可以離線工作，而無需連線到來源資料庫。如果您為來源資料庫選擇**從資料庫重新整理**， 會 AWS SCT 連線至來源資料庫，以更新專案中的結構描述。如需詳細資訊，請參閱[在 中更新和重新整理轉換後的結構描述 AWS SCT](#CHAP_Converting.DW.UpdateRefresh)。

您可以為無法自動轉換的項目建立資料庫遷移評估報告。評估報告可以用來識別和解決無法自動轉換的結構描述項目。如需詳細資訊，請參閱[在 中使用評估報告 AWS Schema Conversion Tool](CHAP_AssessmentReport.md)。

當 AWS SCT 產生轉換後的結構描述時，不會立即將其套用至目標資料庫。反之，轉換後的結構描述會儲存於本機，直到您準備將其套用至目標資料庫。如需詳細資訊，請參閱[套用轉換後的結構描述](#CHAP_Converting.DW.Applying)。

### 編輯轉換後的結構描述
<a name="CHAP_Converting.DW.Convert.Edit"></a>

您可以編輯轉換後的結構描述，並將變更儲存在專案中。

**若要編輯轉換後的結構描述**

1. 在顯示來源資料庫結構描述的左側窗格中，選擇您要編輯其轉換後結構描述的結構描述項目。

1. 在顯示所選項目之轉換後結構描述的中央下方面板，選擇 **SQL** 索引標籤。

1. 在針對 **SQL** 索引標籤顯示的文字中，視需要變更結構描述。當您更新結構描述後，結構描述會自動與您的專案一起儲存。  
![\[重新整理目標資料庫的結構描述\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/edit_converted_schema.png)

在您進行更新後，您對轉換後結構描述進行的變更會與專案一起儲存。如果您新近從來源資料庫轉換結構描述項目，並曾對先前已轉換結構描述的該項目進行了更新，則會根據您的來源資料庫，以新轉換的結構描述項目取代這些現有更新。

### 清除轉換後的結構描述
<a name="CHAP_Converting.DW.Convert.Clear"></a>

在您將結構描述套用至目標資料庫之前， AWS SCT 只會將轉換後的結構描述儲存在本機專案中。您可以透過選擇目標資料庫的樹狀檢視節點，然後選擇 **Refresh from Database** (從資料庫重新整理)，從專案中清除計劃的結構描述。由於尚未將結構描述寫入目標資料庫，從資料庫中重新整理會移除 AWS SCT 專案中計劃的結構描述元素，以符合目標資料庫中存在的內容。

## 在 中管理和自訂金鑰 AWS SCT
<a name="CHAP_Converting.DW.Keys"></a>

使用 轉換結構描述後 AWS Schema Conversion Tool，您可以管理和編輯金鑰。索引鍵管理是資料倉儲轉換的核心。

若要管理索引鍵，請在目標資料庫中選擇一個表格，然後選擇 **Key Management** (索引鍵管理) 索引標籤，如下所示。

![\[Key management (索引鍵管理) 索引標籤\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/key-management.png)


左側窗格包含索引鍵建議，也包含每個建議的信心度。您可以選擇其中一個建議，也可以在右側窗格中編輯以自訂索引鍵。

如果索引鍵的選擇看起來不如您的預期，您可以編輯您的最佳化策略，然後重試轉換。如需詳細資訊，請參閱[選擇與 搭配使用的最佳化策略和規則 AWS SCT](#CHAP_Converting.DW.Strategy)。

### 相關主題
<a name="w2aac21c25c13"></a>
+ [選擇最佳排序索引鍵](https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-sort-key.html)
+ [選擇最佳的分佈樣式](https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-best-dist-key.html)

## 在 中建立和使用評估報告 AWS SCT
<a name="CHAP_Converting.DW.AssessmentReport"></a>

 AWS Schema Conversion Tool 會建立*資料庫遷移評估報告*，協助您轉換結構描述。資料庫遷移評估報告提供有關將結構描述從來源資料庫轉換為目標資料庫的重要資訊。報告摘要所有結構描述轉換任務，並詳細說明無法轉換為目標資料庫資料庫之資料庫引擎的結構描述動作項目。本報告亦包含將相同的程式碼寫入無法自動轉換的資料庫時，所需要進行的作業量估算。

### 建立資料庫遷移評估報告
<a name="CHAP_Converting.DW.AssessmentReport.Create"></a>

請使用下列程序，建立資料庫遷移評估報告。

**若要建立資料庫遷移評估報告**

1. 在顯示來源資料庫結構描述的左側窗格中，選擇您要建立評估報告的結構描述物件。

1. 開啟該物件的內容 (按一下右鍵) 選單，然後選擇 **Create Report** (建立報告)。  
![\[建立資料庫遷移評估報告\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/create_assessment_report.png)

### 評估報告摘要
<a name="CHAP_Converting.DW.AssessmentReport.Summary"></a>

當您建立評估報告後，評估報告檢視會開啟，顯示 **Summary** (摘要) 索引標籤。**摘要**索引標籤會顯示資料庫遷移評估報告的摘要資訊。它會顯示已自動轉換的項目，以及未自動轉換的項目。

![\[評估報告摘要\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/summary_tab.png)


針對無法自動轉換至目標資料庫引擎的結構描述項目，此摘要包括在您的目標資料庫執行個體中建立與來源相同的結構描述項目時，所需要進行的作業量估算。

此報告將轉換上述結構描述項目的估算時間分類如下：
+ **簡單** – 可在不到一小時內完成的動作。
+ **中** – 動作較複雜，可在一到四小時內完成。
+ **重大** – 非常複雜且需要超過四小時才能完成的動作。

### 評估報告動作項目
<a name="CHAP_Converting.DW.AssessmentReport.ActionItems"></a>

評估報告檢視也包含 **Action Items** (動作項目) 索引標籤。此索引標籤包含無法自動轉換為目標資料庫之資料庫引擎的項目清單。如果您在清單中選取動作項目， AWS SCT 會在結構描述中反白該動作項目套用的項目。

此報告也包含如何手動轉換結構描述項目的建議。如需決定如何處理手動轉換的詳細資訊，請參閱[在 中處理手動轉換 AWS SCT](#CHAP_Converting.DW.Manual)。

![\[Action items (動作項目) 索引標籤\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/action_items_tab.png)


### 儲存評估報告
<a name="CHAP_Converting.DW.AssessmentReport.Save"></a>

您可以將資料庫遷移評估報告儲存為 PDF 檔案或逗號分隔值 (CSV) 檔案形式的本機複本。CSV 檔案只包含動作項目資訊。PDF 檔案同時包含摘要和動作項目資訊，如以下範例所示。

![\[資料庫遷移評估報告\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/assessment_report.png)


## 在 中處理手動轉換 AWS SCT
<a name="CHAP_Converting.DW.Manual"></a>

評估報告包含無法自動轉換到目標資料庫之資料庫引擎的項目清單。對於每個無法轉換的項目，**Action Items** (動作項目) 索引標籤上都會有一個動作項目。

您可以用下列方式回應評估報告中的動作項目：
+ 修改您的來源資料庫結構描述。
+ 修改您的目標資料庫結構描述。

### 修改來源結構描述
<a name="CHAP_Converting.DW.Manual.Source"></a>

對於某些項目，將來源資料庫中的資料庫結構描述修改為可以自動轉換的結構描述，可能會比較輕鬆。首先，驗證新的變更與您的應用程式架構相容，然後更新來源資料庫中的結構描述。最後，使用更新後的結構描述資訊來重新整理您的專案。您可以轉換已更新的結構描述，並產生新的資料庫遷移評估報告。已在來源結構描述中變更的項目，不會再顯示動作項目。

此程序的優點是當您從來源資料庫重新整理時，已更新的結構描述永遠可用。

### 修改您的目標結構描述
<a name="CHAP_Converting.DW.Manual.Target"></a>

對於某些項目，將轉換後的結構描述套用到您的目標資料庫，然後針對無法自動轉換的項目，手動新增同等結構描述項目到目標資料庫，可能會比較輕鬆。您可以透過套用結構描述，寫入所有可自動轉換至目標資料庫的結構描述。如需詳細資訊，請參閱[在 中儲存和套用轉換後的結構描述 AWS SCT](#CHAP_Converting.DW.SaveAndApply)。

寫入至目標資料庫的結構描述不包含無法自動轉換的項目。將結構描述套用到目標資料庫後，接著您可以在目標資料庫中手動建立等同於來源資料庫中項目的結構描述。資料庫遷移評估報告中的動作項目包含如何建立相同結構描述的建議。

**警告**  
如果您在目標資料庫中手動建立結構描述，請儲存一份手動作業的複本。如果您再次從專案套用轉換後的結構描述到目標資料庫，它會覆寫您已完成的手動作業。

在部分案例中，您無法在目標資料庫中建立相同的結構描述。您可能必須重新架構部分的應用程式與資料庫，以使用引擎為您的目標資料庫提供的功能。在其他案例中，您可以直接忽略無法自動轉換的結構描述。

## 在 中更新和重新整理轉換後的結構描述 AWS SCT
<a name="CHAP_Converting.DW.UpdateRefresh"></a>

您可以在 AWS Schema Conversion Tool 專案中同時更新來源結構描述和目標結構描述。
+ **來源** – 如果您更新來源資料庫的結構描述， 會將專案中的結構描述 AWS SCT 取代為來源資料庫的最新結構描述。使用此功能，如果已對來源資料庫的結構描述進行了變更，您可以更新您的專案。
+ **目標** – 如果您更新目標資料庫的結構描述， 會將專案中的結構描述 AWS SCT 取代為目標資料庫中的最新結構描述。如果您尚未將任何結構描述套用至目標資料庫， 會從專案 AWS SCT 清除轉換後的結構描述。然後，您可以從來源資料庫轉換結構描述以用於全新的目標資料庫。

您可以選擇**從資料庫重新整理**來更新 AWS SCT 專案中的結構描述。

## 在 中儲存和套用轉換後的結構描述 AWS SCT
<a name="CHAP_Converting.DW.SaveAndApply"></a>

當 AWS Schema Conversion Tool 產生轉換後的結構描述 （如 所示[使用 轉換您的結構描述 AWS SCT](#CHAP_Converting.DW.Convert)) 時，不會立即將轉換後的結構描述套用至目標資料庫。反之，轉換後的結構描述會儲存於本機專案中，直到您準備將其套用至目標資料庫。利用此功能，您可以處理無法自動轉換到目標資料庫引擎的結構描述項目。如需無法自動轉換的項目的詳細資訊，請參閱[在 中使用評估報告 AWS Schema Conversion Tool](CHAP_AssessmentReport.md)。

您可以選擇讓工具將轉換後的結構描述儲存為 SQL 指令碼檔案，之後再套用結構描述到目標資料庫。您也可以讓工具直接將轉換後的結構描述套用到目標資料庫。

### 將轉換後的結構描述儲存至檔案
<a name="CHAP_Converting.DW.Saving"></a>

您可以將轉換後的結構描述儲存為文字檔案中的 SQL 指令碼。透過使用此方法，您可以從 修改產生的 SQL 指令碼， AWS SCT 以解決工具無法自動轉換的項目。然後，您可以在目標資料庫執行個體上執行更新後的指令碼，以將轉換後的結構描述套用到目標資料庫。

**若要將轉換的結構描述儲存為 SQL 指令碼**

1.  選擇您的結構描述並開啟內容 （按一下滑鼠右鍵） 選單。

1.  選擇**儲存為 SQL**。

1.  輸入檔案名稱，然後選擇**儲存**。

1.  使用下列其中一個選項儲存轉換後的結構描述：
   + **單一檔案**
   + **每個階段的單一檔案**
   + **每個陳述式的單一檔案**

**選擇 SQL 指令碼的格式**

1. 在**設定**功能表中，選擇**專案設定**。

1.  選擇**儲存指令碼**。

1.  針對**廠商**，選擇資料庫平台。

1. 針對**儲存 SQL 指令碼，**選擇您要儲存資料庫結構描述指令碼的方式。

1.  選擇**確定**以儲存設定。

### 套用轉換後的結構描述
<a name="CHAP_Converting.DW.Applying"></a>

當您準備好將已轉換的結構描述套用至目標資料庫時，請從您專案的右側窗格選擇結構描述元素。開啟結構描述元素的內容 (按一下右鍵) 選單，然後選擇 **Apply to database** (套用至資料庫)，如下所示。

![\[套用至資料庫\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/write_to_database.png)


### 延伸套件結構描述
<a name="CHAP_Converting.DW.SaveAndApply.Ext"></a>

第一次套用轉換後的結構描述到目標資料庫執行個體時， AWS SCT 會新增額外的結構描述到您的目標資料庫執行個體。此結構描述會實作來源資料庫的系統功能，當您將轉換後結構描述寫入至目標資料庫執行個體時需要這些功能。此結構描述稱為延伸套件結構描述。

請勿修改延伸套件結構描述，否則寫入至目標資料庫執行個體的轉換後結構描述會發生未預期的結果。當您的結構描述完全遷移到目標資料庫執行個體，而且您不再需要時 AWS SCT，您可以刪除延伸套件結構描述。

延伸套件結構描述的命名是根據您的來源資料庫，如下所示：
+ Greenplum：`aws_greenplum_ext`
+ Microsoft SQL Server: `aws_sqlserver_ext`
+ Netezza：`aws_netezza_ext`
+ Oracle: `aws_oracle_ext`
+ Snowflake： `aws_snowflake_ext`
+ Teradata：`aws_teradata_ext`
+ Vertica：`aws_vertica_ext`

如需詳細資訊，請參閱[搭配 使用延伸套件 AWS Schema Conversion Tool](CHAP_ExtensionPack.md)。

### Python 程式庫
<a name="CHAP_Converting.DW.SaveAndApply.Py"></a>

若要在 Amazon Redshift 中建立自訂函數，請使用 Python 語言。使用 AWS SCT 延伸套件為您的 Amazon Redshift 資料庫安裝 python 程式庫。如需詳細資訊，請參閱[搭配 使用延伸套件 AWS Schema Conversion Tool](CHAP_ExtensionPack.md)。