

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

# のターゲットとしての Microsoft SQL Server データベースの使用 AWS Database Migration Service
<a name="CHAP_Target.SQLServer"></a>

を使用して、Microsoft SQL Server データベースにデータを移行できます AWS DMS。SQL Server データベースをターゲットとして使用すると、別の SQL Server データベースまたはサポートされている他のデータベースのいずれかからデータを移行できます。

がターゲットとして AWS DMS サポートする SQL Server のバージョンについては、「」を参照してください[のターゲット AWS DMS](CHAP_Introduction.Targets.md)。

AWS DMS は、Enterprise、Standard、Workgroup、Developer のオンプレミスエディションと Amazon RDS エディションをサポートしています。

 AWS DMS および SQL Server ターゲットデータベースの操作の詳細については、以下を参照してください。

**Topics**
+ [のターゲットとしての SQL Server の使用に関する制限 AWS Database Migration Service](#CHAP_Target.SQLServer.Limitations)
+ [のターゲットとして SQL Server を使用する場合のセキュリティ要件 AWS Database Migration Service](#CHAP_Target.SQLServer.Security)
+ [のターゲットとして SQL Server を使用する場合のエンドポイント設定 AWS DMS](#CHAP_Target.SQLServer.ConnectionAttrib)
+ [Microsoft SQL Server のターゲットデータ型](#CHAP_Target.SQLServer.DataTypes)

## のターゲットとしての SQL Server の使用に関する制限 AWS Database Migration Service
<a name="CHAP_Target.SQLServer.Limitations"></a>

SQL Server データベースを AWS DMSのターゲットとして使用する場合、以下の制限が適用されます。
+ 計算列を含む SQL Server ターゲットテーブルを手動で作成する場合、BCP 一括コピーユーティリティを使用する全ロードレプリケーションがサポートされません。全ロードレプリケーションを使用するには、追加接続属性 (ECA) を設定して`'useBCPFullLoad=false'` エンドポイントで BCP ロードを無効にします。エンドポイントでの ECA 設定の詳細については、「[ソースおよびターゲットエンドポイントの作成](CHAP_Endpoints.Creating.md)」をご参照ください。BCP の詳細な操作方法については、「[Microsoft SQL Server ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server)」をご参照ください。
+ SQL Server 空間データ型 (GEOMETRY および GEOGRAPHY) を持つテーブルをレプリケートする場合、 AWS DMS は、挿入した可能性のある空間参照識別子 (SRID) をデフォルトの SRID に置き換えます。デフォルトの SRID は、GEOMETRY は 0、GEOGRAPHY は 4326 です。
+ 一時テーブルはサポートされていません。ターゲット上に手動で作成されている場合に、一時テーブルを移行すると、トランザクション適用モードのレプリケーションのみのタスクで動作することがあります。
+ 現在のところ、PostgreSQL ソースの `boolean` データ型は、一貫性のない値を持つ `bit` データ型として SQLServer ターゲットに移行されます。

  回避策として、次を実行します。
  + 列`VARCHAR(1)`のデータ型を使用してテーブルを事前に作成します (または、 でテーブル AWS DMS を作成します）。次に、ダウンストリーム処理で「F」を False、「T」を True として扱います。
  + ダウンストリーム処理を変更する必要がないようにするには、「F」の値を「0」に、「T」の値を「1」に変更する変換ルールをタスクに追加して、SQL Server のビットデータ型として格納します。
+ AWS DMS は、列の null 可能性を設定する変更処理をサポートしていません ( `ALTER TABLE` ステートメントで `ALTER COLUMN [SET|DROP] NOT NULL`句を使用）。
+ Windows 認証はサポートされていません。

## のターゲットとして SQL Server を使用する場合のセキュリティ要件 AWS Database Migration Service
<a name="CHAP_Target.SQLServer.Security"></a>

以下では、Microsoft SQL Server ターゲット AWS DMS で を使用するためのセキュリティ要件について説明します。
+  AWS DMS ユーザーアカウントには、少なくとも接続先の SQL Server データベースの`db_owner`ユーザーロールが必要です。
+ SQL Server システム管理者は、すべての AWS DMS ユーザーアカウントにこのアクセス許可を付与する必要があります。

## のターゲットとして SQL Server を使用する場合のエンドポイント設定 AWS DMS
<a name="CHAP_Target.SQLServer.ConnectionAttrib"></a>

追加の接続属性の使用と同様、エンドポイントの設定を使用して、ターゲットの SQL Server データベースを設定できます。 AWS DMS コンソールを使用するか、`--microsoft-sql-server-settings '{"{{EndpointSetting"}}: {{"value"}}, {{...}}}'`JSON 構文で の `create-endpoint` コマンドを使用して[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html)、ターゲットエンドポイントを作成するときに設定を指定します。

次の表は、ターゲットとして SQL Server を使用できるエンドポイント設定を説明しています。


| 名前 | 説明 | 
| --- | --- | 
| `ControlTablesFileGroup` |  AWS DMS 内部テーブルのファイルグループを指定します。レプリケーションタスクが開始されると、すべての内部 AWS DMS コントロールテーブル (awsdms\_ apply\_exception、awsdms\_apply、awsdms\_changes) が指定されたファイルグループに作成されます。<br />デフォルト値: 該当なし <br />有効な値: 文字列 <br />例: `--microsoft-sql-server-settings '{"ControlTablesFileGroup": "filegroup1"}'`<br />ファイルグループを作成するコマンドの例を次に示します。<pre>ALTER DATABASE replicate ADD FILEGROUP Test1FG1; <br />GO ALTER DATABASE replicate <br />  ADD FILE (        <br />    NAME = test1dat5,        <br />    FILENAME = 'C:\temp\DATA\t1dat5.ndf',        <br />    SIZE = 5MB,        <br />    MAXSIZE = 100MB,        <br />    FILEGROWTH = 5MB    <br />  )    <br />TO FILEGROUP Test1FG1;    <br />GO<br />                                </pre> | 
| `ConnectionTimeout` | この追加の接続属性 (ECA) を使用して、SQL Server インスタンスのエンドポイント接続のタイムアウトを秒単位で設定する。デフォルト値は 10 秒です。ECA の例: `ConnectionTimeout=30`。 | 
| `ExecuteTimeout` | この追加の接続属性 (ECA) を使用して、SQL Server インスタンスのクライアントステートメントのタイムアウトを秒単位で設定する。デフォルト値は 60 秒です。<br />例: `'{"ExecuteTimeout": 100}'` | 
| `UseBCPFullLoad` | BCP を使用して全ロードオペレーション用のデータを転送するには、この属性を使用します。ターゲットテーブルに、ソーステーブル内に存在しない IDENTITY 列が含まれている場合、**[use BCP for loading table]** (テーブルのロードに BCP を使用) オプションを無効にする必要があります。<br />デフォルト値: true <br />有効な値: true/false <br />例: `--microsoft-sql-server-settings '{"UseBCPFullLoad": false}'` | 

## Microsoft SQL Server のターゲットデータ型
<a name="CHAP_Target.SQLServer.DataTypes"></a>

次の表は、 の使用時にサポートされる Microsoft SQL Server ターゲットデータ型 AWS DMS と AWS DMS 、データ型からのデフォルトのマッピングを示しています。 AWS DMS データ型の詳細については、「」を参照してください[AWS Database Migration Service のデータ型](CHAP_Reference.DataTypes.md)。


|  AWS DMS データ型  |  SQL Server のデータ型  | 
| --- | --- | 
| BOOLEAN | TINYINT | 
| BYTES | VARBINARY(長さ) | 
| DATE | SQL Server 2008 以降の場合、DATE を使用する。<br />それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。 | 
| TIME | SQL Server 2008 以降の場合、DATETIME2 (%d) を使用する。<br />それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。 | 
| DATETIME | SQL Server 2008 以降では、DATETIME2 (位取り) を使用する。<br />それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。 | 
| INT1 | SMALLINT | 
| INT2 | SMALLINT | 
| INT4 | INT | 
| INT8 | BIGINT | 
| NUMERIC | NUMERIC (p,s) | 
| REAL4 | REAL | 
| REAL8 | FLOAT | 
| STRING | 列が日付または時刻列の場合、次の操作を行います。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Target.SQLServer.html)<br />列が日付または時刻列ではない場合、VARCHAR (長さ) を使用します。 | 
| UINT1 | TINYINT | 
| UINT2 | SMALLINT | 
| UINT4 | INT | 
| UINT8 | BIGINT | 
| WSTRING | NVARCHAR (長さ) | 
| BLOB | VARBINARY(最大)<br />IMAGE<br />このデータ型を で使用するには AWS DMS、特定のタスクで BLOBs の使用を有効にする必要があります。 は、プライマリキーを含むテーブルでのみ BLOB データ型 AWS DMS をサポートします。 | 
| CLOB | VARCHAR(max)<br />このデータ型を で使用するには AWS DMS、特定のタスクで CLOBsの使用を有効にする必要があります。変更データキャプチャ (CDC) 中、 AWS DMS はプライマリキーを含むテーブルでのみ CLOB データ型をサポートしています。 | 
| NCLOB | NVARCHAR(最大)<br />このデータ型を で使用するには AWS DMS、特定のタスクで NCLOBs の使用を有効にする必要があります。CDC 中、 はプライマリキーを含むテーブルでのみ NCLOB データ型 AWS DMS をサポートします。 | 