

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# `AWSEC2-SQLServerDBRestore`
<a name="automation-awsec2-sqlserverdbrestore"></a>

**Descripción**

El manual de procedimientos `AWSEC2-SQLServerDBRestore` restaura las copias de seguridad de bases de datos de Amazon S3 a Server 2017 en ejecución en una instancia Amazon Elastic Compute Cloud (EC2) de Linux. Puede proporcionar su propia instancia EC2 con SQL Server 2017 para Linux. Si no se proporciona ninguna instancia EC2, Automatización inicia y configura una nueva instancia EC2 de Ubuntu 16.04 con SQL Server 2017. Automation admite la restauración de copias de seguridad completas, diferenciales y de registros de transacciones. Automation acepta varios archivos de copia de seguridad de bases de datos y restaura automáticamente la copia de seguridad válida más reciente de cada base de datos de los archivos proporcionados.

Para automatizar la copia de seguridad y la restauración de una base de datos de SQL Server local en una instancia EC2 que ejecute SQL Server 2017 Linux, puede utilizar el script AWS PowerShell -signed. [https://awsec2-server-upgrade-prod.s3.us-west-1.amazonaws.com/MigrateSQLServerToEC2Linux.ps1](https://awsec2-server-upgrade-prod.s3.us-west-1.amazonaws.com/MigrateSQLServerToEC2Linux.ps1)

**importante**  
Este manual de procedimientos restablece la contraseña de usuario de administrador del servidor (SA) de SQL Server cada vez que se ejecuta la automatización. Una vez que finalice la automatización, debe establecer su propia contraseña de usuario de SA de nuevo antes de conectarse a la instancia de SQL Server.

[Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSEC2-SQLServerDBRestore)

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux

## Requisitos previos
<a name="sql-server-db-restore-prerequisites"></a>

Para ejecutar esta automatización, debe cumplir los siguientes requisitos previos:
+ El usuario o rol de IAM que ejecute esta automatización debe tener una política integrada asociada con los permisos que se describen en. [Permisos de IAM necesarios](#sql-server-db-restore-policy)
+ Si proporciona su propia instancia EC2, haga lo siguiente:
  + La instancia EC2 que proporcione debe ser una instancia de Linux que ejecute Microsoft SQL Server 2017.
  + La instancia EC2 debe ser configurada con un perfil de instancia de AWS Identity and Access Management (IAM) que tenga asociado la política administrada `AmazonSSMManagedInstanceCore` adjunta. Para obtener más información, consulte [Crear un perfil de instancias de IAM para Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html).
  + El agente de SSM debe estar instalado en su instancia EC2. Para obtener más información, consulte [Installing and Configuring SSM Agent on EC2 Instances para Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html).
  + La instancia EC2 debe tener suficiente espacio libre en disco para descargar y restaurar las copias de seguridad de SQL Server.

## Limitaciones
<a name="sql-server-db-restore-limitations"></a>

Automation no admite la restauración de SQL Server en ejecución en instancias EC2 para Windows Server. Automation solo restaura las copias de seguridad de bases de datos que sean compatibles con SQL Server 2017 para Linux. Para obtener más información, consulte la sección [Ediciones y características admitidas de SQL Server 2017 para Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-components-2017?view=sql-server-2017).

## Parameters
<a name="sql-server-db-restore-parameters"></a>

Esta automatización tiene los siguientes parámetros:
+ **DatabaseNames**

  Tipo: cadena

  Descripción: (opcional) la lista separada por comas de los nombres de las bases de datos que se restaurarán.
+ **DataDirectorySize**

  Tipo: cadena

  Descripción: (opcional) el tamaño del volumen (GiB) deseado del directorio Data de SQL Server para la nueva instancia EC2.

  Valor predeterminado: 100
+ **KeyPair**

  Tipo: cadena

  Descripción: (opcional) el par de claves que se utilizará al crear la nueva instancia EC2.
+ **IamInstanceProfileName**

  Tipo: cadena

  Descripción: (opcional) el perfil de instancia de IAM que se asociará a la nueva instancia EC2. El perfil de instancia de IAM debe tener la política administrada asociada de `AmazonSSMManagedInstanceCore`.
+ **InstanceId**

  Tipo: cadena

  Descripción: (opcional) la instancia que ejecuta SQL Server 2017 en Linux. Si no InstanceId se proporciona, la automatización lanza una nueva instancia de EC2 con la InstanceType edición y proporcionada. SQLServer
+ **InstanceType**

  Tipo: cadena

  Descripción: (opcional) el tipo de instancia EC2 que se va iniciar.
+ **es S3 PresignedUrl**

  Tipo: cadena

  Descripción: (opcional) si S3Input es una URL de S3 prefirmada, indique `yes`.

  Valor predeterminado: no

  Valores válidos: yes \| no 
+ **LogDirectorySize**

  Tipo: cadena

  Descripción: (opcional) el tamaño del volumen (GiB) deseado del directorio Log de SQL Server para la nueva instancia EC2.

  Valor predeterminado: 100
+ **S3Input**

  Tipo: cadena

  Descripción: (obligatorio) nombre del depósito de S3, lista separada por comas de claves de objetos de S3 o lista separada por comas de S3 prefirmados URLs que contiene los archivos de respaldo de SQL que se van a restaurar.
+ **SQLServerEdición**

  Tipo: cadena

  Descripción: (opcional) la edición de SQL Server 2017 que se instalará en la instancia EC2 recién creada.

  Valores permitidos: Standard \| Enterprise \| Web \| Express
+ **SubnetId**

  Tipo: cadena

  Descripción: (opcional) la subred en la que se iniciará la nueva instancia EC2. La subred debe tener conectividad saliente con los servicios. AWS Si no SubnetId se proporciona un valor para, la automatización utiliza la subred predeterminada.
+ **TempDbDirectorySize**

  Tipo: cadena

  Descripción: (opcional) el tamaño del volumen (GiB) deseado del directorio TempDB de SQL Server para la nueva instancia EC2.

  Valor predeterminado: 100

## Permisos de IAM necesarios
<a name="sql-server-db-restore-policy"></a>

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar correctamente el manual de procedimientos.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeInstances",
                "ec2:RebootInstances",
                "ec2:RunInstances",
                "ssm:DescribeInstanceInformation",
                "ssm:GetAutomationExecution",
                "ssm:ListCommandInvocations",
                "ssm:ListCommands",
                "ssm:SendCommand",
                "ssm:StartAutomationExecution"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{111122223333}}:role/{{ROLENAME}}"
        }
    ]
}
```

------

## Pasos de documentos
<a name="sql-server-db-restore-steps"></a>

Para usar esta automatización, sigue los pasos que se aplican a tu tipo de instancia:

**Para las nuevas instancias EC2:**

1. `aws:executeAwsApi`: recupera el ID de AMI para SQL Server 2017 en Ubuntu 16.04.

1. `aws:runInstances`: lanza una nueva instancia EC2 para Linux.

1. `aws:waitForAwsResourceProperty`: espera a que la instancia EC2 recién creada esté lista.

1. `aws:executeAwsApi`: reinicia la instancia si no está lista.

1. `aws:assertAwsResourceProperty`: comprueba que el agente de SSM esté instalado.

1. `aws:runCommand`- Ejecute el script de restauración de SQL Server en PowerShell.

**Para las instancias EC2 existentes:**

1. `aws:waitForAwsResourceProperty`: verifica que la instancia EC2 está lista.

1. `aws:executeAwsApi`: reinicia la instancia si no está lista.

1. `aws:assertAwsResourceProperty`: comprueba que el agente de SSM esté instalado.

1. `aws:runCommand`- Ejecute el script de restauración de SQL Server en PowerShell.

**Salidas**

GetInstance. InstanceId

restoreToNewInstancia.Salida

restoreToExistingInstancia.Salida