

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.

# Automatice las tareas de bases de datos en SQL Server Express en Amazon EC2 mediante un programador AWS Lambda de tareas
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2"></a>

*Subhani Shaik, Amazon Web Services*

## Resumen
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-summary"></a>

Este patrón muestra cómo programar y administrar las tareas de la base de datos en SQL Server Express Edition, que es la versión gratuita de SQL Server. Sin embargo, SQL Server Express Edition carece del servicio de agentes de SQL Server, que normalmente gestiona las operaciones automatizadas de las bases de datos. Este patrón explica cómo puede utilizar el Programador de tareas y AWS Lambda como alternativa para automatizar las tareas de bases de datos en la edición SQL Server Express que se ejecuta en una instancia de Amazon Elastic Compute Cloud (Amazon EC2).

El [Programador de tareas](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) es una utilidad integrada en el sistema Windows que facilita la ejecución automática de tareas rutinarias. Proporciona un mecanismo para programar y administrar las operaciones automatizadas, eliminando la necesidad de intervención manual en los procesos repetititvos. [AWS Lambda](https://aws.amazon.com/lambda/) es un servicio de computación sin servidor que ejecuta código automáticamente en respuesta a los eventos, sin necesidad de administrar la infraestructura subyacente.

## Requisitos previos y limitaciones
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-prereqs"></a>

**Requisitos previos **
+ Una activa Cuenta de AWS
+ Una nube privada virtual (VPC) creada con Amazon Virtual Private Cloud (Amazon VPC)
+ Una instancia de Amazon EC2 con Windows Server
+ Volúmenes de Amazon Elastic Block Store (Amazon EBS) adjuntos a una instancia de Amazon EC2 con Windows Server
+ Elementos binarios de [SQL Server Express Edition](https://www.microsoft.com/en-us/download/details.aspx?id=101064)

**Limitaciones**
+ Para obtener información sobre las limitaciones de las características de SQL Server Express Edition, consulte el [sitio web de Microsoft](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2019?view=sql-server-ver16).
+ Algunos Servicios de AWS no están disponibles en todos Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

**Versiones de producto**
+ SQL Server 2016 o posterior con SQL Server Express Edition

## Arquitectura
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-architecture"></a>

En el siguiente diagrama se muestra una instancia de Amazon EC2 que se ejecuta con SQL Server Express Edition. Se puede acceder a la instancia a través del cliente de protocolo de escritorio remoto (RDP) o desde AWS Systems Manager Session Manager. AWS Key Management Service (AWS KMS) gestiona el cifrado de datos de los volúmenes de Amazon EBS para garantizar la data-at-rest seguridad. La infraestructura también incluye AWS Identity and Access Management (IAM), que proporciona control de acceso y administra los permisos para la ejecución de las funciones de Lambda. Amazon Simple Storage Service (Amazon S3) guarda las funciones de Lambda.

![Una instancia de Amazon EC2 que se ejecuta con SQL Server Express Edition instalada en una subred privada.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/3af2174d-bf49-4e43-86f7-34759e5eea84/images/3a37dcb8-10af-42f2-8ff1-fab4f87eb646.png)


## Tools (Herramientas)
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-tools"></a>

**Servicios de AWS**
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) proporciona volúmenes de almacenamiento de nivel de bloque para su uso con instancias de Amazon EC2.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) brinda capacidad de computación escalable en la Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) le ayuda a crear y controlar claves criptográficas para proteger sus datos.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)es una AWS Systems Manager herramienta totalmente gestionada. Con Session Manager, puede gestionar sus instancias de Amazon EC2, dispositivos perimetrales, servidores locales y máquinas virtuales (). VMs
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

**Otras herramientas**
+ [Microsoft SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/download-sql-server-management-studio-ssms) es una herramienta para administrar SQL Server, que incluye el acceso, la configuración y la administración de los componentes de SQL Server.
+ [Python](https://www.python.org/) es un lenguaje de programación informático de uso general. Puede usar esta herramienta para crear aplicaciones, automatizar tareas y desarrollar servicios en [Nube de AWS](https://aws.amazon.com/developer/language/python/).
+ El [Programador de tareas](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) es una herramienta de Microsoft que puede usar para programar tareas rutinarias en su equipo automáticamente.

## Prácticas recomendadas
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-best-practices"></a>
+ [Prácticas recomendadas para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-best-practices.html)
+ [Prácticas recomendadas para trabajar con funciones AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)
+ [Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (Prácticas recomendadas de seguridad en IAM)

## Epics
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-epics"></a>

### Creación de una instancia de Amazon EC2 e instalación de SQL Server Express Edition
<a name="create-an-amazon-ec2-instance-and-install-sql-server-express-edition"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente una instancia de Amazon EC2. | Para crear una instancia de Amazon EC2, abra la consola Amazon EC2 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)en y seleccione una [imagen de máquina de Amazon (AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)) de la lista de instancias disponibles para Windows Server.<br />Para obtener más información, consulte [Lanzar una instancia de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) en la AWS documentación. | ADMINISTRADOR DE BASES DE DATOS, AWS DevOps | 
| Instale SQL Server Express Edition. | Para instalar SQL Server Express Edition, siga los pasos que se indican a continuación:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html) | ADMINISTRADOR DE BASES DE DATOS, AWS DevOps | 

### Creación de tareas automatizadas de mantenimiento de bases de datos
<a name="create-automated-database-maintenance-tasks"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique las tareas rutinarias. | Identifique las tareas rutinarias que desea automatizar. Por ejemplo, las siguientes tareas pueden automatizarse:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html) | Administrador de base de datos | 
| Preparación de scripts de SQL | Para preparar scripts de SQL, siga los pasos que se detallan a continuación:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html) | Administrador de base de datos | 
| Configuración de permisos de acceso | Para configurar permisos de acceso, haga lo siguiente:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html) | Administrador de base de datos | 

### Automatización de las tareas con el Programador de tareas
<a name="automate-tasks-with-task-scheduler"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree archivos por lotes. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html)<pre>sqlcmd -S servername -U username -P password -i <T-SQL query path.sql></pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html)<pre><br />@echo off<br />sqlcmd -S [ServerName] -d [DatabaseName] -U username -P password -i "PathToSQLScript\Script.sql" -o "PathToOutput\Output.txt"</pre> | AWS DevOps, DBA | 
| Cree tareas en el Programador de tareas. | Para crear una tarea en el Programador de tareas, siga estos pasos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html)<br />Para ejecutar la tarea manualmente, haga clic con el botón derecho en la tarea recién creada y, a continuación, seleccione **Ejecutar**. | Administrador de base de datos | 
| Consulte el estado de la tarea. | Para ver el estado de una tarea en el Programador de tareas, siga estos pasos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html) | ADMINISTRADOR DE BASES DE DATOS, AWS DevOps | 

### Automatice las tareas con AWS Lambda
<a name="automate-tasks-with-lamlong"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente la solución. | Para implementar la solución de este patrón, siga los pasos que se describen a continuación:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.html) | AWS DevOps, DevOps ingeniero | 

## Resolución de problemas
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Problemas con Lambda | Para obtener ayuda con los errores y problemas que pueda encontrar al usar Lambda AWS Lambda, consulte [Solución de problemas en Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-troubleshooting.html) en la AWS documentación. | 

## Recursos relacionados
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-resources"></a>
+ [Tipos de instancias de Amazon EC2](https://aws.amazon.com/ec2/instance-types/)
+ [AWS Lambda documentación](https://docs.aws.amazon.com/lambda/latest/dg/with-eventbridge-scheduler.html)
+ [AWS Lambda precios](https://aws.amazon.com/lambda/pricing/)
+ [Programador de tareas para desarrolladores](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) (sitio web de Microsoft)