

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

# SQL Server の評価
<a name="CHAP_Tasks.AssessmentReport.SqlServer"></a>

このセクションでは、Microsoft SQL Server のソースエンドポイントを使用する移行タスクの個別の移行前評価について説明します。

**Topics**
+ [フルロード中にターゲットデータベースでセカンダリインデックスが有効になっているかどうかを検証する](#CHAP_Tasks.AssessmentReport.SqlServer.SecondaryIndexesEnabled)
+ [`BatchApplyEnabled` が true に設定されている場合、制限付き LOB モードのみを使用していることを検証する](#CHAP_Tasks.AssessmentReport.SqlServer.LimitedLOBMode)
+ [ターゲットデータベースでタスクの範囲内のテーブルでトリガーが有効になっているかどうかを検証します。](#CHAP_Tasks.AssessmentReport.SqlServer.TargetDatabaseTriggersEnabled)
+ [タスクの範囲内のテーブルに計算列が含まれているかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.ComputedColumns)
+ [タスクの範囲内のテーブルに列ストアインデックスがあるかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.ColumnstoreIndexes)
+ [メモリ最適化テーブルがタスクの範囲に入っているかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.MemoryOptimized)
+ [テンポラルテーブルがタスクの範囲に入っているかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.TemporalTables)
+ [遅延持続性がデータベースレベルで有効になっているかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.DelayedDurability)
+ [高速データ復旧がデータベースレベルで有効になっているかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.AcceleratedRecovery)
+ [テーブルマッピングのプライマリキーを持つテーブルが 10K を超えているかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.TableMapping)
+ [ソースデータベースに特殊文字を含むテーブルまたはスキーマ名があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.SpecialCharacters)
+ [ソースデータベースにマスキングされたデータを含む列名があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.MaskedData)
+ [ソースデータベースに暗号化されたバックアップがあるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.EncryptedBackups)
+ [ソースデータベースに URL または Windows Azure に保存されたバックアップがあるかどうかを検証する。](#CHAP_Tasks.AssessmentReport.SqlServer.RemoteBackups)
+ [ソースデータベースが複数のディスクにバックアップされているかどうかを検証する。](#CHAP_Tasks.AssessmentReport.SqlServer.MultipleDisks)
+ [ソースデータベースに少なくとも 1 つの完全バックアップがあるかどうかを確認する](#CHAP_Tasks.AssessmentReport.SqlServer.FullBackup)
+ [ソースデータベースにスパース列とカラム構造圧縮があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.SparseOrStructureCompression)
+ [ソースデータベースインスタンスに SQL Server 2008 または SQL Server 2008 R2 のサーバーレベルの監査があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.Audit)
+ [ソースデータベースに完全 LOB モードのジオメトリ列があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.GeometryColumns)
+ [ソースデータベースにアイデンティティプロパティを持つ列があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.Identity)
+ [DMS ユーザーに FULL LOAD のアクセス許可があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.FullLoadPermissions)
+ [DMS ユーザーに FULL LOAD および CDC または CDC のみのアクセス許可があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.FullLoadCDCPermissions)
+ [オンプレミスデータベースまたは EC2 データベースで CDC に対して MS レプリケーションが有効になっているかどうかを確認します。](#CHAP_Tasks.AssessmentReport.SqlServer.IgnoreMsReplicationEnablement)
+ [DMS ユーザーに VIEW DEFINITION アクセス許可があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.ViewDefinition)
+ [DMS ユーザーに、Sysadmin ロールを持たないユーザーの MASTER データベースに対して VIEW DATABASE STATE アクセス許可があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.ViewDatabaseState)
+ [DMS ユーザーに VIEW SERVER STATE アクセス許可があるかどうかを確認する。](#CHAP_Tasks.AssessmentReport.SqlServer.)
+ [text repl size パラメータが無制限でないかどうかを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.replsizeparameter)
+ [プライマリキーまたは一意のインデックスがバッチ適用のターゲットに存在するかどうかを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.batchapply)
+ [バッチ適用が有効になっている場合にプライマリキーと一意のインデックスの両方がターゲットに存在するかどうかを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.batchapplysimultaneously)
+ [DMS 検証が有効になっている場合にテーブルにプライマリキーまたは一意のインデックスがあるかどうかを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.dmsvalidation)
+ [AWS DMS ユーザーがターゲットに必要な権限を持っているかどうかを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.dmsprivileges)
+ [MaxFullLoadSubTasks 設定の使用に関する推奨事項](#CHAP_Tasks.AssessmentReport.Sqlserver.maxfullloadsubtask)
+ [数字ランダム化の変換ルールを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.gigits.randomise)
+ [数字マスクの変換ルールを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.digits.mask)
+ [ハッシュマスクの変換ルールを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.hash.mask)
+ [データ検証タスク設定とデータマスキングの数字ランダム化が同時に有効になっていないことを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.all.digits.random)
+ [データ検証タスク設定とデータマスキングのハッシュマスクが同時に有効になっていないことを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.all.hash.mask)
+ [データ検証タスク設定とデータマスキングの数字マスクが同時に有効になっていないことを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.all.digit.mask)
+ [選択したオブジェクトが少なくとも 1 つソースデータベースに存在することを検証します](#CHAP_Tasks.AssessmentReport.Sqlserver.selection.rules)
+ [セカンダリ制約とインデックス (非プライマリ) がソースデータベースに存在することを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.secondary.constraints)
+ [ターゲットエンドポイントがリードレプリカではないことを確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.target.replica)
+ [バックアップチェーンを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.backup.chain)
+ [`EXCLUSIVE_AUTOMATIC_TRUNCATION` 保護ポリシーを適用するためのデータベースユーザーのアクセス許可を確認する](#CHAP_Tasks.AssessmentReport.Sqlserver.safeguard.permission)
+ [セカンダリノード接続と AWS DMS ソースエンドポイントに必要な保護属性を検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.node.safeguard.policy)
+ [がセカンダリノードに接続されているときに、エンドポイントに必要なすべての追加の接続属性 (ECAs) AWS DMS があることを検証する](#CHAP_Tasks.AssessmentReport.Sqlserver.node.without.eca)

## フルロード中にターゲットデータベースでセカンダリインデックスが有効になっているかどうかを検証する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SecondaryIndexesEnabled"></a>

**API キー:** `sqlserver-check-secondary-indexes`

この移行前評価では、ターゲットデータベースへのフルロード中にセカンダリインデックスが有効になっているかどうかを検証します。セカンダリインデックスを無効化または削除することをお勧めします。

詳細については、「[Best practices for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)」を参照してください。

## `BatchApplyEnabled` が true に設定されている場合、制限付き LOB モードのみを使用していることを検証する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.LimitedLOBMode"></a>

**API キー:** `sqlserver-batch-apply-lob-mode`

この移行前評価では、DMS タスクに LOB 列が含まれているかどうかを検証します。LOB 列がタスクの範囲に含まれている場合、制限付き LOB モードのみと `BatchApplyEnabled` を共に使用する必要があります。そのようなテーブルには別々のタスクを作成し、代わりにトランザクション適用モードを使用することをお勧めします。

詳細については、「[DMS バッチ適用機能を使用して CDC レプリケーションパフォーマンスを向上させるにはどうすればよいですか?](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)」を参照してください。

## ターゲットデータベースでタスクの範囲内のテーブルでトリガーが有効になっているかどうかを検証します。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TargetDatabaseTriggersEnabled"></a>

**API キー:** `sqlserver-check-for-triggers`

AWS DMS は、フルロード DMS タスクのパフォーマンスとターゲットのレイテンシーに影響を与える可能性のあるターゲットデータベース内のトリガーを特定しました。これらのトリガーがタスクの実行中は無効になっていて、カットオーバー期間中は有効になっていることを確認してください。

## タスクの範囲内のテーブルに計算列が含まれているかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ComputedColumns"></a>

**API キー:** `sqlserver-check-for-computed-fields`

この移行前評価では、計算された列が存在するかどうかをチェックします。 は、SQL Server の計算された列からの変更のレプリケーションをサポート AWS DMS していません。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## タスクの範囲内のテーブルに列ストアインデックスがあるかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ColumnstoreIndexes"></a>

**API キー:** `sqlserver-check-for-columnstore-indexes`

この移行前評価では、列ストアインデックスを持つテーブルの有無をチェックします。 AWS DMS は、列ストアインデックスを持つ SQL Server テーブルからの変更のレプリケーションをサポートしていません。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## メモリ最適化テーブルがタスクの範囲に入っているかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MemoryOptimized"></a>

**API キー:** `sqlserver-check-for-memory-optimized-tables`

この移行前評価では、メモリ最適化テーブルの有無をチェックします。 AWS DMS は、メモリ最適化テーブルからの変更のレプリケーションをサポートしていません。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## テンポラルテーブルがタスクの範囲に入っているかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TemporalTables"></a>

**API キー:** `sqlserver-check-for-temporal-tables`

この移行前評価では、テンポラルテーブルの有無をチェックします。 AWS DMS は、テンポラルテーブルからの変更のレプリケーションをサポートしていません。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## 遅延持続性がデータベースレベルで有効になっているかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.DelayedDurability"></a>

**API キー:** `sqlserver-check-for-delayed-durability`

この移行前評価では、遅延耐久性の有無をチェックします。 AWS DMS は、遅延耐久性を使用するトランザクションからの変更のレプリケーションをサポートしていません。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## 高速データ復旧がデータベースレベルで有効になっているかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.AcceleratedRecovery"></a>

**API キー:** `sqlserver-check-for-accelerated-data-recovery`

この移行前評価では、高速データ復旧の有無をチェックします。 AWS DMS は、高速データ復旧によるデータベースからの変更のレプリケーションをサポートしていません。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## テーブルマッピングのプライマリキーを持つテーブルが 10K を超えているかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TableMapping"></a>

**API キー:** `sqlserver-large-number-of-tables`

この移行前評価では、プライマリキーを持つテーブルが 10,000 以上あるかをチェックします。MS-Replication で設定されたデータベースでは、プライマリキーがあるテーブル数が過剰な場合、タスクが失敗する可能性があります。

この評価は、フルロードと CDC の移行、CDC のみの移行の場合にのみ利用できます。この評価は、フルロードのみの移行では有効ではありません。

MS-Replication の設定の詳細については、「[SQL Server からの継続的なレプリケーションのデータ変更をキャプチャする](CHAP_Source.SQLServer.CDC.md)」を参照してください。

## ソースデータベースに特殊文字を含むテーブルまたはスキーマ名があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SpecialCharacters"></a>

**API キー:** `sqlserver-check-for-special-characters`

この移行前評価では、ソースデータベースに次のセットの文字を含むテーブルまたはスキーマ名があるかどうかを検証します。

```
\\ -- \n \" \b \r ' \t ;
```

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースにマスキングされたデータを含む列名があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MaskedData"></a>

**API キー:** `sqlserver-check-for-masked-data`

この移行前評価では、ソースデータベースにマスクされたデータがあるかどうかを検証します。 AWS DMS はマスクされたデータをマスクせずに移行します。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースに暗号化されたバックアップがあるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.EncryptedBackups"></a>

**API キー:** `sqlserver-check-for-encrypted-backups`

この移行前評価では、ソースデータベースに暗号化されたバックアップがあるかどうかを検証します。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースに URL または Windows Azure に保存されたバックアップがあるかどうかを検証する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.RemoteBackups"></a>

**API キー:** `sqlserver-check-for-backup-url`

この移行前評価では、ソースデータベースに URL または Windows Azure に保存されたバックアップがあるかどうかを検証します。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースが複数のディスクにバックアップされているかどうかを検証する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MultipleDisks"></a>

**API キー:** `sqlserver-check-for-backup-multiple-stripes`

この移行前評価では、ソースデータベースが複数のディスクにバックアップされているかどうかを検証します。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースに少なくとも 1 つの完全バックアップがあるかどうかを確認する
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullBackup"></a>

**API キー:** `sqlserver-check-for-full-backup`

この移行前評価では、ソースデータベースに少なくとも 1 つの完全バックアップがあるかどうかを検証します。SQL Server を完全バックアップ用に設定し、データをレプリケートする前にバックアップを実行しておく必要があります。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースにスパース列とカラム構造圧縮があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SparseOrStructureCompression"></a>

**API キー:** `sqlserver-check-for-sparse-columns`

この移行前評価では、ソースデータベースにスパース列とカラム構造圧縮があるかどうかを検証します。DMS は、スパース列とカラム構造圧縮をサポートしていません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースインスタンスに SQL Server 2008 または SQL Server 2008 R2 のサーバーレベルの監査があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.Audit"></a>

**API キー:** `sqlserver-check-for-audit-2008`

この移行前評価では、ソースデータベースが SQL Server 2008 または SQL Server 2008 R2 のサーバーレベルの監査を有効にしているかどうかを検証します。DMS には、SQL Server 2008 および 2008 R2 関連の既知の問題があります。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースに完全 LOB モードのジオメトリ列があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.GeometryColumns"></a>

**API キー:** `sqlserver-check-for-geometry-columns`

この移行前評価では、SQL Server をソースとして使用するときに、ソースデータベースにフルラージオブジェクト (LOB) モードのジオメトリ列があるかどうかを検証します。データベースにジオメトリ列が含まれている場合、制限付き LOB モードを使用するか、インライン LOB モードを使用するように `InlineLobMaxSize` タスク設定を行うことをお勧めします。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## ソースデータベースにアイデンティティプロパティを持つ列があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.Identity"></a>

**API キー:** `sqlserver-check-for-identity-columns`

この移行前評価では、ソースデータベースに `IDENTITY` プロパティを含む列があるかどうかを検証します。DMS は、このプロパティを対応するターゲットデータベース列に移行しません。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## DMS ユーザーに FULL LOAD のアクセス許可があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullLoadPermissions"></a>

**API キー:** `sqlserver-check-user-permission-for-full-load-only`

この移行前評価では、DMS タスクのユーザーに FULL LOAD モードでタスクを実行するアクセス許可があるかどうかを検証します。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## DMS ユーザーに FULL LOAD および CDC または CDC のみのアクセス許可があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullLoadCDCPermissions"></a>

**API キー:** `sqlserver-check-user-permission-for-cdc`

この移行前評価では、DMS ユーザーに `FULL LOAD and CDC` または `CDC only` モードでタスクを実行するアクセス許可があるかどうかを検証します。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## オンプレミスデータベースまたは EC2 データベースで CDC に対して MS レプリケーションが有効になっているかどうかを確認します。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.IgnoreMsReplicationEnablement"></a>

**API キー:** `sqlserver-check-attribute-for-enable-ms-cdc-onprem`

オンプレミスデータベースまたは EC2 データベースで CDC に対して MS レプリケーションが有効になっているかどうかを確認します。

MS-Replication の設定の詳細については、「[オンプレミスまたは Amazon EC2 上のセルフマネージド型 SQL Server のデータ変更のキャプチャ](CHAP_Source.SQLServer.CDC.md#CHAP_Source.SQLServer.CDC.Selfmanaged)」を参照してください。

## DMS ユーザーに VIEW DEFINITION アクセス許可があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ViewDefinition"></a>

**API キー:** `sqlserver-check-user-permission-on-view-definition`

この移行前評価では、エンドポイント設定で指定されたユーザーに `VIEW DEFINITION` アクセス許可があるかどうかを検証します。DMS には、オブジェクト定義を表示する `VIEW DEFINITION` アクセス許可が必要です。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## DMS ユーザーに、Sysadmin ロールを持たないユーザーの MASTER データベースに対して VIEW DATABASE STATE アクセス許可があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ViewDatabaseState"></a>

**API キー:** `sqlserver-check-user-permission-on-view-database-state`

この移行前評価では、エンドポイント設定で指定されたユーザーに `VIEW DATABASE STATE` アクセス許可があるかどうかを検証します。DMS では、MASTER データベース内のデータベースオブジェクトにアクセスするのにこのアクセス許可が必要です。ユーザーに sysadmin 権限がない場合、DMS にはこのアクセス許可も必要です。DMS では、関数、証明書、ログインを作成し、認証情報を付与するためにこのアクセス許可が必要です。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## DMS ユーザーに VIEW SERVER STATE アクセス許可があるかどうかを確認する。
<a name="CHAP_Tasks.AssessmentReport.SqlServer."></a>

**API キー:** `sqlserver-check-user-permission-on-view-server-state`

この移行前評価は、追加の接続属性 (ECA) で指定されたユーザーに `VIEW SERVER STATE` アクセス許可があるかどうかを確認します。`VIEW SERVER STATE` は、ユーザーがサーバー全体の情報と状態を表示できるようにするサーバーレベルのアクセス許可です。このアクセス許可により、SQL Server インスタンスに関する情報を公開する動的管理ビュー (DMV) と動的管理関数 (DMF) にアクセスできます。このアクセス許可は、DMS ユーザーが CDC リソースにアクセスするのに必要です。このアクセス許可は、`FULL LOAD and CDC` または `CDC only` モードで DMS タスクを実行するのに必要です。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## text repl size パラメータが無制限でないかどうかを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.replsizeparameter"></a>

**API キー:**`sqlserver-check-for-max-text-repl-size`

データベースで max text repl size パラメータを設定すると、LOB 列のデータ移行エラーが発生する可能性があります。DMS では、これを -1 に設定することが強く推奨されます。

詳細については、「[Microsoft SQL Server 問題のトラブルシューティング](CHAP_Troubleshooting.md#CHAP_Troubleshooting.SQLServer)」を参照してください。

## プライマリキーまたは一意のインデックスがバッチ適用のターゲットに存在するかどうかを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.batchapply"></a>

**API キー:**`sqlserver-check-batch-apply-target-pk-ui-absence`

バッチ適用は、ターゲットテーブルでプライマリキーまたは一意のインデックスを持つテーブルでのみサポートされます。プライマリキーまたは一意のインデックスがないテーブルはバッチが失敗し、変更は一つずつ処理されます。このようなテーブルは独自のタスクに移動し、代わりにトランザクション適用モードを活用することをお勧めします。または、ターゲットテーブルに一意のキーを作成することができます。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## バッチ適用が有効になっている場合にプライマリキーと一意のインデックスの両方がターゲットに存在するかどうかを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.batchapplysimultaneously"></a>

**API キー:**`sqlserver-check-batch-apply-target-pk-ui-simultaneously`

バッチ適用は、ターゲットテーブルでプライマリキーまたは一意のインデックスを持つテーブルでのみサポートされます。プライマリキーまたは一意のインデックスが同時に存在するテーブルはバッチが失敗し、変更は一つずつ処理されます。このようなテーブルは独自のタスクに移動し、代わりにトランザクション適用モードを活用することをお勧めします。または、移行時にターゲットテーブルの一意のキーまたはプライマリキーを削除してから、ターゲットテーブルを再構築することもできます。

詳細については、「[SQL Server を のソースとして使用する場合の制限 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)」を参照してください。

## DMS 検証が有効になっている場合にテーブルにプライマリキーまたは一意のインデックスがあるかどうかを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.dmsvalidation"></a>

**API キー:**`sqlserver-check-pk-validity`

データ検証では、ソースとターゲットの両方のテーブルにプライマリキーまたは一意のインデックスがなければなりません。

詳細については、「[AWS DMS データ検証](CHAP_Validating.md)」を参照してください。

## AWS DMS ユーザーがターゲットに必要な権限を持っているかどうかを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.dmsprivileges"></a>

**API キー:**`sqlserver-check-target-privileges`

 AWS DMS ユーザーは、ターゲットデータベースに少なくとも db\$1owner ユーザーロールを持っている必要があります。

詳細については、「[のターゲットとして SQL Server を使用する場合のセキュリティ要件 AWS Database Migration Service](CHAP_Target.SQLServer.md#CHAP_Target.SQLServer.Security)」を参照してください。

## MaxFullLoadSubTasks 設定の使用に関する推奨事項
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.maxfullloadsubtask"></a>

**API キー:**`sqlserver-tblnum-for-max-fullload-subtasks`

この評価では、タスクに含まれるテーブルの数を確認し、フルロードプロセス中に最適なパフォーマンスが得られるように `MaxFullLoadSubTasks` パラメータの値を大きくすることを推奨します。デフォルトでは、 は 8 つのテーブルを同時に AWS DMS 移行します。`MaxFullLoadSubTasks` パラメータをより大きな値に変更すると、フルロードのパフォーマンスが向上します。

詳細については、「[全ロードタスク設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)」を参照してください。

## 数字ランダム化の変換ルールを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.gigits.randomise"></a>

**API キー:** `sqlserver-datamasking-digits-randomize`

この評価では、テーブルマッピングで使用される列が数字ランダム化の変換ルールに適合しているかどうかを検証します。さらに、変換対象として選択された列がプライマリキー、一意の制約、または外部キーの一部であるかどうかも確認します。これは、数字ランダム化の変換を適用しても一意性は保証されないためです。

## 数字マスクの変換ルールを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.digits.mask"></a>

**API キー:** `sqlserver-datamasking-digits-mask`

この評価では、テーブルマッピングで使用される列が数字マスクの変換ルールでサポートされていないかどうかを検証します。さらに、変換対象として選択された列がプライマリキー、一意の制約、または外部キーの一部であるかどうかも確認します。これは、一意性が保証されないために、このような列に数字マスクの変換を適用すると、DMS タスクが失敗する可能性があるからです。

## ハッシュマスクの変換ルールを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.hash.mask"></a>

**API キー:** `sqlserver-datamasking-hash-mask`

この評価では、テーブルマッピングで使用される列がハッシュマスクの変換ルールでサポートされていないかどうかを検証します。また、ソース列の長さが 64 文字を超えているかどうかも確認します。ハッシュマスキングをサポートするには、ターゲット列の長さが 64 文字を超えていることが理想的です。さらに、変換対象として選択された列がプライマリキー、一意の制約、または外部キーの一部であるかどうかも確認します。これは、数字ランダム化の変換を適用しても一意性は保証されないためです。

## データ検証タスク設定とデータマスキングの数字ランダム化が同時に有効になっていないことを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.digits.random"></a>

**API キー:** `all-to-all-validation-with-datamasking-digits-randomize`

この移行前評価では、データ検証設定とデータマスキングの数字ランダム化が同時に有効になっていないことを確認します。これらの機能には互換性はありません。

## データ検証タスク設定とデータマスキングのハッシュマスクが同時に有効になっていないことを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.hash.mask"></a>

**API キー:** `all-to-all-validation-with-datamasking-hash-mask`

この移行前評価では、データ検証設定とデータマスキングのハッシュマスクが同時に有効になっていないことを確認します。これらの機能には互換性はありません。

## データ検証タスク設定とデータマスキングの数字マスクが同時に有効になっていないことを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.digit.mask"></a>

**API キー:** `all-to-all-validation-with-digit-mask`

この移行前評価では、データ検証設定とデータマスキングの数字マスクが同時に有効になっていないことを確認します。これらの機能には互換性はありません。

## 選択したオブジェクトが少なくとも 1 つソースデータベースに存在することを検証します
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.selection.rules"></a>

**API キー:** `all-check-source-selection-rules`

この移行前評価では、ワイルドカードベースのルールのパターンマッチングなど、選択ルールで指定された少なくとも 1 つのオブジェクトがソースデータベースに存在することを確認します。

## セカンダリ制約とインデックス (非プライマリ) がソースデータベースに存在することを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.secondary.constraints"></a>

**API キー:** `all-check-secondary-constraints`

この移行前評価では、セカンダリ制約とインデックス (外部キー、チェック制約、クラスター化されていないインデックス) がソースデータベースに存在することを確認します。

## ターゲットエンドポイントがリードレプリカではないことを確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.target.replica"></a>

**API キー:** `all-check-target-read-replica`

この移行前評価では、ターゲットエンドポイントがリードレプリカとして設定されていないことを確認します。 AWS DMS は、ターゲットデータベースへの書き込みアクセスを必要とし、読み取り専用レプリカにレプリケートできません。

## バックアップチェーンを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.backup.chain"></a>

**API キー:** `sqlserver-check-for-backup-broken-chain`

この移行前評価では、ソースデータベースのバックアップチェーンが壊れていないことを確認します。バックアップチェーンが壊れると、 AWS DMS が CDC レプリケーションに必要なトランザクションログにアクセスできなくなる可能性があります。

## `EXCLUSIVE_AUTOMATIC_TRUNCATION` 保護ポリシーを適用するためのデータベースユーザーのアクセス許可を確認する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.safeguard.permission"></a>

**API キー:** `sqlserver-safeguard-permissions`

この移行前評価では、データベースユーザーに`EXCLUSIVE_AUTOMATIC_TRUNCATION`保護ポリシーを使用するために必要なアクセス許可があるかどうかを検証します。ユーザーは、 `dbo.syscategories`および`dbo.sysjobs`システムオブジェクトに対する SELECT アクセス許可を dmsuser に付与する必要があります。

詳細については、「[SQL Server を のソースとして使用する場合のエンドポイント設定 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.ConnectionAttrib)」を参照してください。

## セカンダリノード接続と AWS DMS ソースエンドポイントに必要な保護属性を検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.node.safeguard.policy"></a>

**API キー:** `sqlserver-check-sec-node-sg-policy`

この移行前評価では、保護を有効にしてセカンダリノードに接続するときに、ソースエンドポイントに必要な追加の接続属性 (ECAs) が設定されていることを確認します。

詳細については、「[SQL Server を のソースとして使用する場合のエンドポイント設定 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.ConnectionAttrib)」を参照してください。

## がセカンダリノードに接続されているときに、エンドポイントに必要なすべての追加の接続属性 (ECAs) AWS DMS があることを検証する
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.node.without.eca"></a>

**API キー:** `sqlserver-check-sec-node-without-eca`

この移行前評価では、ソースエンドポイントがセカンダリノードに接続するときに、必要なすべての追加の接続属性 (ECAs) が設定されていることを確認します。

詳細については、「[セルフマネージド型 SQL Server の AlwaysOn 可用性グループの使用](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.AlwaysOn)」を参照してください。