轉換 SAP ASE 資料庫物件 (SybaseToSQL)

連線到 SAP Adaptive Server Enterprise (ASE)、連線到 SQL Server 或 Azure SQL 並設定專案和資料對應選項之後,您可以將 SAP Adaptive Server Enterprise (ASE) 資料庫物件轉換成 SQL Server 或 Azure SQL 資料庫物件。

轉換程序

轉換資料庫物件會從 ASE 取得物件定義、將其轉換為類似的 SQL Server 或 Azure SQL 物件,然後將此資訊載入 SSMA 中繼資料。 此程序不會將資訊載入 SQL Server 或 Azure SQL 的執行個體。 然後,您可以使用 SQL Server 或 Azure SQL 中繼資料總管來檢視物件及其屬性。

在轉換期間,SSMA 會將輸出訊息列印至輸出窗格,並將錯誤訊息列印至 [錯誤清單] 窗格。 使用輸出和錯誤資訊來判斷您是否必須修改 ASE 資料庫或轉換程序,以取得所需的轉換結果。

設定轉換選項

轉換物件前,請先檢閱 [專案設定] 對話方塊中的專案轉換選項。 您可以使用這個對話方塊來設定 SSMA 如何轉換函式和全域變數。 如需詳細資訊,請參閱專案設定 (轉換) (SybaseToSQL)

轉換 ASE 資料庫物件

轉換 ASE 資料庫物件時,必須先選取要轉換的物件,再讓 SSMA 執行轉換。 若要在轉換期間檢視輸出訊息,請在 [檢視] 功能表上點選 [輸出]。

將 ASE 物件轉換成 SQL Server 或 SQL Azure 語法

  1. 在 Sybase 中繼資料總管中,展開 ASE 伺服器,然後展開 [資料庫]。

  2. 選取要轉換的物件:

    • 若要轉換所有資料庫,請選取 [資料庫] 旁的核取方塊。

    • 若要轉換或省略資料庫,請選取或清除資料庫名稱旁的核取方塊。

    • 若要轉換或省略個別結構描述,請依序展開資料庫和 [結構描述],然後選取或清除結構描述旁的核取方塊。

    • 若要轉換或省略某個物件類別,請展開結構描述,然後勾選或清除類別旁的核取方塊。

    • 若要轉換或省略個別物件,請展開類別資料夾,然後勾選或清除物件旁邊的核取方塊。

  3. 若要轉換所有選取的物件,請以滑鼠右鍵按一下 [資料庫],然後選取 [轉換結構描述]。

    您也能以滑鼠右鍵按一下物件或其內含的資料夾,然後選取 [轉換結構描述],以轉換個別物件或物件類別。

注意

某些 SAP ASE 系統函式的行為不會完全符合對等的 SQL Server 系統函式。 為了模擬 SAP ASE 行為,SSMA 會在名為 's2ss' 的結構描述下,於轉換的 SQL Server 資料庫中產生使用者定義函式。 依據專案設定,某些 SQL Server 系統函式會取代為這些模擬函式。 SSMA 會建立下列使用者定義的函式:

char_length_nvarchar
char_length_varchar
charindex_nvarchar
charindex_varchar
hextoint
index_colorder

inttohex
ssma_current_time
ssma_datediff
ssma_datepart
substring_nvarchar
substring_varbinary

substring_varchar
to_unichar
uhighsurr
ulowsurr

Azure SQL 不支援的物件

SSMA for SAP ASE 會在轉換至 SQL Server 內部部署期間使用下列 T-SQL 關鍵字,但 SQL Azure T-SQL 語法並不支援這些關鍵字:

CHECKPOINT
CREATE/ALTER/DROP DEFAULT
CREATE/DROP RULE
DBCC TRACEOFF
DBCC TRACEON

GRANT/REVOKE/DENY ALL
KILL
READTEXT
SELECT INTO
SET OFFSETS

SETUSER
SHUTDOWN
WRITETEXT

檢視轉換問題

某些 SAP ASE 物件可能無法轉換。 您可以檢視摘要轉換報告來判斷轉換成功率。

檢視摘要報告

  1. 在 Sybase 中繼資料總管中,選取 [資料庫]。

  2. 在右側窗格中,選取 [報告] 索引標籤。

    此報告會顯示已評估或已轉換之所有資料庫物件的摘要評估報告。 您也可以檢視個別物件的摘要報告:

    • 若要檢視個別資料庫的報告,請在 Sybase 中繼資料總管中選取資料庫。

    • 若要檢視個別資料庫物件的報告,請在 Sybase 中繼資料總管中選取物件。 發生轉換問題的物件會帶有紅色錯誤圖示。

針對轉換失敗的物件,您可以檢視導致轉換失敗的語法。

檢視個別轉換問題

  1. 在 Sybase 中繼資料總管中,展開 [資料庫]。

  2. 展開顯示紅色錯誤圖示的資料庫。

  3. 展開 [結構描述] 資料夾,然後展開顯示紅色錯誤圖示的結構描述。

  4. 在結構描述下,展開具有紅色錯誤圖示的資料夾。

  5. 選取具有紅色錯誤圖示的物件。

  6. 在右側窗格中,選取 [報告] 索引標籤。

  7. [報告] 索引標籤頂端有一個下拉式清單。 如果清單顯示 [統計資料],請將選取項目變更為 [來源]。

    SSMA 會顯示原始程式碼,程式碼正上方有數個按鈕。

  8. 選取 [下一個問題],紅色錯誤圖示附有指向右邊的箭頭。

    SSMA for SAP ASE 會反白顯示在目前物件中找到的第一個有問題的原始程式碼。

對於無法轉換的每個項目,您必須決定要對該物件執行的動作:

  • 您可以在 [SQL] 索引標籤上編輯程序和觸發程序的原始程式碼。

  • 您可以改變 SAP ASE 物件,以移除或修改有問題的程式碼。 若要將更新的程式碼載入 SSMA,您必須更新中繼資料。 如需詳細資訊,請參閱連線至 SAP ASE (SybaseToSQL)

  • 您可以將物件排除在移轉作業之外。 在 SQL Server 或 Azure SQL 中繼資料總管和 Sybase 中繼資料總管中,清除項目旁的核取方塊,再將物件載入 SQL Server 或 Azure SQL,並從 SAP ASE 移轉資料。

下一步

移轉程序的下一個步驟是將已轉換的資料庫物件載入 SQL Server/SQL Azure (SybaseToSQL)

另請參閱

將 SAP ASE 資料庫移轉至 SQL Server - Azure SQL Database (SybaseToSQL)