class Aws::DatabaseMigrationService::Types::MicrosoftSQLServerSettings

Provides information that defines a Microsoft SQL Server endpoint.

@note When making an API call, you may pass MicrosoftSQLServerSettings

data as a hash:

    {
      port: 1,
      bcp_packet_size: 1,
      database_name: "String",
      control_tables_file_group: "String",
      password: "SecretString",
      query_single_always_on_node: false,
      read_backup_only: false,
      safeguard_policy: "rely-on-sql-server-replication-agent", # accepts rely-on-sql-server-replication-agent, exclusive-automatic-truncation, shared-automatic-truncation
      server_name: "String",
      username: "String",
      use_bcp_full_load: false,
      use_third_party_backup_device: false,
      secrets_manager_access_role_arn: "String",
      secrets_manager_secret_id: "String",
    }

@!attribute [rw] port

Endpoint TCP port.
@return [Integer]

@!attribute [rw] bcp_packet_size

The maximum size of the packets (in bytes) used to transfer data
using BCP.
@return [Integer]

@!attribute [rw] database_name

Database name for the endpoint.
@return [String]

@!attribute [rw] control_tables_file_group

Specifies a file group for the DMS internal tables. When the
replication task starts, all the internal DMS control tables
(awsdms\_ apply\_exception, awsdms\_apply, awsdms\_changes) are
created for the specified file group.
@return [String]

@!attribute [rw] password

Endpoint connection password.
@return [String]

@!attribute [rw] query_single_always_on_node

Cleans and recreates table metadata information on the replication
instance when a mismatch occurs. An example is a situation where
running an alter DDL statement on a table might result in different
information about the table cached in the replication instance.
@return [Boolean]

@!attribute [rw] read_backup_only

When this attribute is set to `Y`, DMS only reads changes from
transaction log backups and doesn't read from the active
transaction log file during ongoing replication. Setting this
parameter to `Y` enables you to control active transaction log file
growth during full load and ongoing replication tasks. However, it
can add some source latency to ongoing replication.
@return [Boolean]

@!attribute [rw] safeguard_policy

Use this attribute to minimize the need to access the backup log and
enable DMS to prevent truncation using one of the following two
methods.

*Start transactions in the database:* This is the default method.
When this method is used, DMS prevents TLOG truncation by mimicking
a transaction in the database. As long as such a transaction is
open, changes that appear after the transaction started aren't
truncated. If you need Microsoft Replication to be enabled in your
database, then you must choose this method.

*Exclusively use sp\_repldone within a single task*\: When this
method is used, DMS reads the changes and then uses sp\_repldone to
mark the TLOG transactions as ready for truncation. Although this
method doesn't involve any transactional activities, it can only be
used when Microsoft Replication isn't running. Also, when using
this method, only one DMS task can access the database at any given
time. Therefore, if you need to run parallel DMS tasks against the
same database, use the default method.
@return [String]

@!attribute [rw] server_name

Fully qualified domain name of the endpoint.
@return [String]

@!attribute [rw] username

Endpoint connection user name.
@return [String]

@!attribute [rw] use_bcp_full_load

Use this to attribute to transfer data for full-load operations
using BCP. When the target table contains an identity column that
does not exist in the source table, you must disable the use BCP for
loading table option.
@return [Boolean]

@!attribute [rw] use_third_party_backup_device

When this attribute is set to `Y`, DMS processes third-party
transaction log backups if they are created in native format.
@return [Boolean]

@!attribute [rw] secrets_manager_access_role_arn

The full Amazon Resource Name (ARN) of the IAM role that specifies
DMS as the trusted entity and grants the required permissions to
access the value in `SecretsManagerSecret`. The role must allow the
`iam:PassRole` action. `SecretsManagerSecret` has the value of the
Amazon Web Services Secrets Manager secret that allows access to the
SQL Server endpoint.

<note markdown="1"> You can specify one of two sets of values for these permissions. You
can specify the values for this setting and
`SecretsManagerSecretId`. Or you can specify clear-text values for
`UserName`, `Password`, `ServerName`, and `Port`. You can't specify
both. For more information on creating this `SecretsManagerSecret`
and the `SecretsManagerAccessRoleArn` and `SecretsManagerSecretId`
required to access it, see [Using secrets to access Database
Migration Service resources][1] in the *Database Migration Service
User Guide*.

 </note>

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager
@return [String]

@!attribute [rw] secrets_manager_secret_id

The full ARN, partial ARN, or friendly name of the
`SecretsManagerSecret` that contains the SQL Server endpoint
connection details.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MicrosoftSQLServerSettings AWS API Documentation

Constants

SENSITIVE