

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用した SAP データベースへの接続 AWS Schema Conversion Tool
<a name="CHAP_Source.SAP"></a>

 AWS SCT を使用して、スキーマ、データベースコードオブジェクト、アプリケーションコードを SAP (Sybase) Adaptive Server Enterprise (ASE) から次のターゲットに変換できます。
+ Amazon RDS for MySQL
+ Amazon Aurora MySQL 互換エディション
+ Amazon RDS for MariaDB
+ Amazon RDS for PostgreSQL
+ Amazon Aurora PostgreSQL 互換エディション

詳細については、次のセクションを参照してください。

**Topics**
+ [ソースデータベースとしての SAP ASE の特権](#CHAP_Source.SAP.Permissions)
+ [ソースとしての SAP ASE (Sybase) への接続](#CHAP_Source.SAP.Connecting)
+ [MySQL をターゲットデータベースとする場合の権限](#CHAP_Source.SAP.ConfigureMySQL)
+ [SAP ASE から MySQL への変換設定](#CHAP_Source.SAP.MySQLConversionSettings)
+ [ターゲットデータベースとしての PostgreSQL の権限](#CHAP_Source.SAP.ConfigurePostgreSQL)
+ [SAP ASE から PostgreSQL への変換設定](#CHAP_Source.SAP.PostgreSQLConversionSettings)

## ソースデータベースとしての SAP ASE の特権
<a name="CHAP_Source.SAP.Permissions"></a>

SAP ASE データベースをソースとして使用するには、データベースユーザーを作成して特権を付与します。これを行うには、以下のステップに従います。

**データベースユーザーを作成して設定する**

1. ソースデータベースに接続する。

1. 次のコマンドを使用してデータベースユーザーを作成する。新しいユーザーのパスワードを入力する。

   ```
   USE master
   CREATE LOGIN min_privs WITH PASSWORD <password>
   sp_adduser min_privs
   grant select on dbo.spt_values to min_privs
   grant select on asehostname to min_privs
   ```

1. 移行するすべてのデータベースに対して、次の権限を付与する。

   ```
   USE <database_name>
   sp_adduser min_privs
   grant select on dbo.sysusers to min_privs
   grant select on dbo.sysobjects to min_privs
   grant select on dbo.sysindexes to min_privs
   grant select on dbo.syscolumns to min_privs
   grant select on dbo.sysreferences to min_privs
   grant select on dbo.syscomments to min_privs
   grant select on dbo.syspartitions to min_privs
   grant select on dbo.syspartitionkeys to min_privs
   grant select on dbo.sysconstraints to min_privs
   grant select on dbo.systypes to min_privs
   grant select on dbo.sysqueryplans to min_privs
   ```

## ソースとしての SAP ASE (Sybase) への接続
<a name="CHAP_Source.SAP.Connecting"></a>

以下の手順を使用して、SAP ASE ソースデータベースを AWS Schema Conversion Toolに接続します。

**SAP ASE ソースデータベースに接続するには**

1. で AWS Schema Conversion Tool、**ソースの追加**を選択します。

1. [**SAP ASE**] を選択し、その後 [**Next**] (次へ) を選択します。

   [**Add source**] (ソースの追加) ダイアログボックスが表示されます。

1. [**接続名**] にデータベースの名前を入力します。この名前が AWS SCT の左側のパネルのツリーに表示されます。

1. からデータベース認証情報を使用する AWS Secrets Manager か、手動で入力します。
   + Secrets Manager のデータベース認証情報を使用するには、以下の手順に従ってください。

     1. [**AWS シークレット**] で、シークレットの名前を選択します。

     1. [**入力**] を選択すると、Secrets Manager のデータベース接続ダイアログボックスにすべての値が自動的に入力されます。

     Secrets Manager のデータベース認証情報を使用する方法については、「[AWS Secrets Manager の の設定 AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md)」を参照してください。
   + SAP ASE ソースデータベースの接続情報を手動で入力するには、次の手順に従います。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/CHAP_Source.SAP.html)

1. **接続のテスト**を選択して、 がソースデータベースに接続 AWS SCT できることを確認します。

1. [**Connect**] (接続) を選択して、ソースデータベースに接続します。

## MySQL をターゲットデータベースとする場合の権限
<a name="CHAP_Source.SAP.ConfigureMySQL"></a>

ターゲットとして MySQL に必要な権限を以下に示します。
+ CREATE ON \$1.\$1
+ ALTER ON \$1.\$1
+ DROP ON \$1.\$1
+ INDEX ON \$1.\$1
+ REFERENCES ON \$1.\$1
+ SELECT ON \$1.\$1
+ CREATE VIEW ON \$1.\$1
+ SHOW VIEW ON \$1.\$1
+ TRIGGER ON \$1.\$1
+ CREATE ROUTINE ON \$1.\$1
+ ALTER ROUTINE ON \$1.\$1
+ EXECUTE ON \$1.\$1
+ INSERT, UPDATE ON AWS\$1SAPASE\$1EXT.\$1
+ CREATE TEMPORARY TABLES ON AWS\$1SAPASE\$1EXT.\$1

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

```
CREATE USER 'user_name' IDENTIFIED BY 'your_password';
GRANT CREATE ON *.* TO 'user_name';
GRANT ALTER ON *.* TO 'user_name';
GRANT DROP ON *.* TO 'user_name';
GRANT INDEX ON *.* TO 'user_name';
GRANT REFERENCES ON *.* TO 'user_name';
GRANT SELECT ON *.* TO 'user_name';
GRANT CREATE VIEW ON *.* TO 'user_name';
GRANT SHOW VIEW ON *.* TO 'user_name';
GRANT TRIGGER ON *.* TO 'user_name';
GRANT CREATE ROUTINE ON *.* TO 'user_name';
GRANT ALTER ROUTINE ON *.* TO 'user_name';
GRANT EXECUTE ON *.* TO 'user_name';
GRANT INSERT, UPDATE ON AWS_SAPASE_EXT.* TO 'user_name';
GRANT CREATE TEMPORARY TABLES ON AWS_SAPASE_EXT.* TO 'user_name';
```

前述の例では、[*user\$1name*] をお客様の設定のユーザー名に置き換えます。次に、*your\$1password* を安全なパスワードに置き換えます。

Amazon RDS for MySQL または Aurora MySQL をターゲットとして使用するには、`lower_case_table_names` パラメータを `1` に設定します。この値は、MySQL サーバーがテーブル、インデックス、トリガー、データベースなどのオブジェクト名の識別子を、大文字と小文字を区別せずに処理することを意味します。ターゲットインスタンスでバイナリログを有効にしている場合は、`log_bin_trust_function_creators` パラメータを `1` と設定します。この場合、ストアド関数を作成するのに、`DETERMINISTIC` 特性、`READS SQL DATA` 特性、`NO SQL` 特性を使用する必要はありません。これらのパラメータを設定するには、新しい DB パラメータグループを作成するか、既存の DB パラメータグループを変更します。

## SAP ASE から MySQL への変換設定
<a name="CHAP_Source.SAP.MySQLConversionSettings"></a>

SAP ASE から MySQL への変換設定を編集するには、[**設定**] を選択し、[**変換設定]** を選択します。上のリストから **[SAP ASE]** を選択し、次に **[SAP ASE – MySQL]** または **[SAP ASE – Amazon Aurora (MySQL 互換)]** を選択します。 AWS SCT に、SAP ASE から PostgreSQL への変換に使用できるすべての設定が表示されます。

の SAP ASE から MySQL への変換設定には、以下のオプション AWS SCT が含まれています。
+ 変換されたコード内のアクション項目に関するコメントの数を制限する。

  選択した**重要度以上のアクション項目の変換されたコードにコメントを追加する で**、アクション項目の重要度を選択します。 は、選択した重要度以上のアクション項目の変換されたコードにコメント AWS SCT を追加します。

  たとえば、変換したコード内のコメントの数を最小限に抑えるには、[**エラーのみ**] を選択します。変換したコードのすべてのアクション項目にコメントを含めるには、[**すべてのメッセージ**] を選択します。
+ 変換後のコードでソースデータベースオブジェクトの正確な名前を使用する。

  デフォルトでは、 はデータベースオブジェクト、変数、およびパラメータの名前を小文字 AWS SCT に変換します。これらの名前を元の大文字と小文字を区別しないでおくには、[**ソースデータベースオブジェクト名の大文字と小文字を区別する**] を選択します。ソース SAP ASE データベースサーバーで大文字と小文字を区別するオブジェクト名を使用する場合は、このオプションを選択してください。

## ターゲットデータベースとしての PostgreSQL の権限
<a name="CHAP_Source.SAP.ConfigurePostgreSQL"></a>

PostgreSQL をターゲットとして使用するには、 `CREATE ON DATABASE` 権限 AWS SCT が必要です。ターゲット PostgreSQL データベースごとにこの権限を必ず付与してください。

変換されたパブリックシノニムを使用するには、データベースのデフォルト検索パスを `"$user", public_synonyms, public` に変更します。

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

```
CREATE ROLE user_name LOGIN PASSWORD 'your_password';
GRANT CREATE ON DATABASE db_name TO user_name;
ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;
```

前述の例では、[*user\$1name*] をお客様の設定のユーザー名に置き換えます。[*db\$1name*] をターゲットデータベースの名前に置き換えます。最後に、[*your\$1password*] を安全なパスワードに置き換えます。

PostgreSQL では、スキーマの所有者または `superuser` だけがスキーマを削除できます。スキーマ所有者が一部のオブジェクトを所有していない場合でも、スキーマとスキーマに含まれるすべてのオブジェクトを削除できます。

異なるユーザーを使用して異なるスキーマを変換してターゲットデータベースに適用すると、 AWS SCT がスキーマを削除できない場合にエラーメッセージが表示されることがあります。このエラーメッセージを回避するには、`superuser` ロールを使用してください。

## SAP ASE から PostgreSQL への変換設定
<a name="CHAP_Source.SAP.PostgreSQLConversionSettings"></a>

SAP ASE から PostgreSQL への変換設定を編集するには、[**設定**] を選択し、次に [**変換設定**] を選択します。上のリストから **[SAP ASE]** を選択し、次に **[SAP ASE – PostgreSQL]** または **[SAP ASE – Amazon Aurora (PostgreSQL 互換)]** を選択します。 AWS SCT に、SAP ASE から PostgreSQL への変換に使用できるすべての設定が表示されます。

の SAP ASE から PostgreSQL への変換設定には、以下のオプション AWS SCT が含まれています。
+ 変換されたコード内のアクション項目に関するコメントの数を制限する。

  選択した**重要度以上のアクション項目の変換されたコードにコメントを追加する で**、アクション項目の重要度を選択します。 は、選択した重要度以上のアクション項目の変換されたコードにコメント AWS SCT を追加します。

  たとえば、変換したコード内のコメントの数を最小限に抑えるには、[**エラーのみ**] を選択します。変換したコードのすべてのアクション項目にコメントを含めるには、[**すべてのメッセージ**] を選択します。
+ 変換されるコード内のスキーマ名に使用するテンプレートを定義する。[**スキーマ名生成テンプレート**] では、次のオプションのいずれかを選択します。
  + [**<source\$1db>**] – PostgreSQL のスキーマ名として SAP ASE データベース名を使用します。
  + [**<source\$1schema>**] – PostgreSQL のスキーマ名として SAP ASE スキーマ名を使用します。
  + [**<source\$1db>\$1<schema>**] – SAP ASE データベースとスキーマ名の組み合わせを PostgreSQL のスキーマ名として使用します。
+ 変換後のコードでソースデータベースオブジェクトの正確な名前を使用する。

  デフォルトでは、 はデータベースオブジェクト、変数、およびパラメータの名前を小文字 AWS SCT に変換します。これらの名前を元の大文字と小文字を区別しないでおくには、[**ソースデータベースオブジェクト名の大文字と小文字を区別する**] を選択します。ソース SAP ASE データベースサーバーで大文字と小文字を区別するオブジェクト名を使用する場合は、このオプションを選択してください。

  大文字と小文字を区別するオペレーションでは、データベースオブジェクト名の小文字への変換を回避 AWS SCT できます。そのためには、[**大文字と小文字を区別する操作では小文字へのキャストを避ける**] を選択します。
+ SAP ASE の異なるテーブルで同じ名前のインデックスを使用できるようにする。

  PostgreSQL では、スキーマで使用するインデックス名はすべて一意でなければなりません。がすべてのインデックスに一意の名前 AWS SCT を生成するようにするには、**インデックスに一意の名前を生成する**を選択します。