AWS Database Migration Service (DMS) を使用して、S3 から SQL Server 2014 テーブルを作成しようとしています。次の S3 スキーマがあります。
{
"TableCount": "1",
"Tables": [
{
"TableName": "employee",
"TablePath": "public/employee/",
"TableOwner": "",
"TableColumns": [
{
"ColumnName": "Id",
"ColumnType": "INT8",
"ColumnNullable": "false",
"ColumnIsPk": "true"
},
{
"ColumnName": "HireDate",
"ColumnType": "TIMESTAMP"
},
{
"ColumnName": "Name",
"ColumnType": "STRING",
"ColumnLength": "20"
}
],
"TableColumnsTotal": "3"
}
]
}
移行タスクを実行すると、次のオーバーフロー エラーが発生します。これは、SQL Server が S3 からの値を SQL Server列2018-04-11 08:02:16.788027
に挿入できないためです。DATETIME
私の質問は、AWS DMS にTIMESTAMP
S3 データをDATETIME2
SQL Server の列として作成するように指示する方法はありますか? 注:移行が実行されるたびに、テーブルが削除され、再作成されます。HireDate を使用して SQL-Server で自分でテーブルを手動で作成しDATETIME2
、DMS 移行の「ターゲット テーブル準備モード」をTRUNCATE
ドロップ/作成ではなくに設定することで、これを回避できますが、これは現在のソリューションには理想的ではありません。
[TARGET_LOAD ]E: Failed to execute statement: 'INSERT INTO [public].[employee]([Id],[HireDate],[Name]) values (?,?,?)' [1022502] (ar_odbc_stmt.c:2456)
[TARGET_LOAD ]E: RetCode: SQL_ERROR SqlState: 22008 NativeError: 0 Message: [Microsoft][ODBC Driver 13 for SQL Server]Datetime field overflow. Fractional second precision exceeds the scale specified in the parameter binding. Line: 1 Column: 4 [1022502] (ar_odbc_stmt.c:2462)
[TARGET_LOAD ]E: Invalid input for column 'HireDate' of table 'public'.'employee' in line number 1.(sqlserver_endpoint_imp.c:2357)