

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Automatizza le attività di database in SQL Server Express su Amazon EC2 AWS Lambda utilizzando Task Scheduler
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2"></a>

*Subhani Shaik, Amazon Web Services*

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

Questo modello dimostra come pianificare e gestire le attività del database nell'edizione SQL Server Express, che è la versione gratuita di SQL Server. Tuttavia, l'edizione SQL Server Express non dispone del servizio SQL Server Agent che in genere gestisce le operazioni automatizzate del database. Questo modello spiega come utilizzare Task Scheduler e AWS Lambda come alternativa per automatizzare le attività di database nell'edizione SQL Server Express in esecuzione su un'istanza Amazon Elastic Compute Cloud (Amazon EC2).

[Task Scheduler](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) è un'utilità di sistema Windows integrata che facilita l'esecuzione automatica delle attività di routine. Fornisce un meccanismo per pianificare e gestire le operazioni automatizzate, eliminando la necessità di interventi manuali nei processi ricorrenti. [AWS Lambda](https://aws.amazon.com/lambda/)è un servizio di elaborazione serverless che esegue automaticamente il codice in risposta agli eventi, senza richiedere la gestione dell'infrastruttura sottostante.

## Prerequisiti e limitazioni
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Un cloud privato virtuale (VPC) creato con Amazon Virtual Private Cloud (Amazon VPC)
+ Un'istanza Amazon EC2 con Windows Server
+ Volumi Amazon Elastic Block Store (Amazon EBS) collegati a un'istanza Amazon EC2 con Windows Server
+ [File binari di SQL Server Express Edition](https://www.microsoft.com/en-us/download/details.aspx?id=101064)

**Limitazioni**
+ Per informazioni sulle limitazioni delle funzionalità dell'edizione SQL Server Express, vedere il [sito Web Microsoft](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2019?view=sql-server-ver16).
+ Alcune Servizi AWS non sono disponibili in tutte Regioni AWS. Per la disponibilità regionale, vedi [AWS Servizi per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

**Versioni del prodotto**
+ SQL Server 2016 o versione successiva con SQL Server Express

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

Il diagramma seguente mostra un'istanza Amazon EC2 in esecuzione con l'edizione SQL Server Express installata. L'istanza è accessibile tramite il client Remote Desktop Protocol (RDP) o da. AWS Systems Manager Session Manager AWS Key Management Service (AWS KMS) gestisce la crittografia dei dati per i volumi Amazon EBS per garantire la data-at-rest sicurezza. L'infrastruttura include anche AWS Identity and Access Management (IAM), che fornisce il controllo degli accessi e gestisce le autorizzazioni per l'esecuzione delle funzioni Lambda. Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) archivia le funzioni Lambda.

![Un'istanza Amazon EC2 in esecuzione con l'edizione SQL Server Express installata su una sottorete privata.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/3af2174d-bf49-4e43-86f7-34759e5eea84/images/3a37dcb8-10af-42f2-8ff1-fab4f87eb646.png)


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

**Servizi AWS**
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) fornisce volumi di storage a livello di blocchi da utilizzare con le istanze Amazon EC2.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornisce capacità di calcolo scalabile nel Cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)è uno strumento completamente gestito AWS Systems Manager . Con Session Manager, puoi gestire le istanze Amazon EC2, i dispositivi edge, i server locali e le macchine virtuali (). VMs
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una comune rete da gestire all'interno del proprio data center, ma con i vantaggi dell'infrastruttura scalabile di AWS.

**Altri strumenti**
+ [Microsoft SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/download-sql-server-management-studio-ssms) è uno strumento per la gestione di SQL Server, che include l'accesso, la configurazione e l'amministrazione dei componenti di SQL Server.
+ [Python](https://www.python.org/) è un linguaggio di programmazione per computer generico. È possibile utilizzarlo per creare applicazioni, automatizzare attività e sviluppare servizi su. [Cloud AWS](https://aws.amazon.com/developer/language/python/)
+ [Task Scheduler](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) è uno strumento Microsoft che puoi utilizzare per pianificare automaticamente le attività di routine sul tuo computer.

## Best practice
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-best-practices"></a>
+ [Le migliori pratiche per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-best-practices.html)
+ [Le migliori pratiche per lavorare con le AWS Lambda funzioni](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)
+ [Best practice per la sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)

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

### Crea un'istanza Amazon EC2 e installa l'edizione SQL Server Express
<a name="create-an-amazon-ec2-instance-and-install-sql-server-express-edition"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa un'istanza Amazon EC2. | Per creare un'istanza Amazon EC2, apri la console Amazon EC2 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)all'indirizzo e seleziona un'[Amazon Machine Image (AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)) dall'elenco di istanze disponibili per Windows Server.<br />Per ulteriori informazioni, consulta [Avvio di un'istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) nella AWS documentazione. | DBA, AWS DevOps | 
| Installa l'edizione SQL Server Express. | Per installare l'edizione SQL Server Express, completare i seguenti passaggi:1. Per [connetterti alla tua istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html), scegli un'opzione:**Opzione A**: utilizza Remote Desktop Protocol (RDP). Per istruzioni, vedi [Connect alla tua istanza Windows utilizzando un client RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-rdp.html) nella AWS documentazione.**Opzione B**: utilizza la console Amazon EC2 e. AWS Systems Manager Session Manager Per istruzioni, consulta [Connect alla tua istanza Amazon EC2 utilizzando Session Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-with-systems-manager-session-manager.html) nella AWS documentazione.<br />2. Per scaricare l'edizione di SQL Server Express richiesta, vai alla sezione [Download di SQL Server](https://www.microsoft.com/en-in/sql-server/sql-server-downloads) sul sito Web di Microsoft.<br />3. Per installare l'edizione SQL Server Express, segui le istruzioni in [Pianificare un'installazione di SQL Server](https://learn.microsoft.com/en-us/sql/sql-server/install/planning-a-sql-server-installation?view=sql-server-ver16) sul sito Web di Microsoft. | DBA, AWS DevOps | 

### Crea attività automatizzate di manutenzione del database
<a name="create-automated-database-maintenance-tasks"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Identifica le attività di routine. | Identifica le attività di routine che desideri automatizzare. Ad esempio, le seguenti attività sono idonee per l'automazione:+ Backup del database (completo, differenziale e registro delle transazioni)<br />+ Manutenzione e riorganizzazione degli indici<br />+ Aggiornamenti delle statistiche<br />+ Operazioni specifiche dell'applicazione<br />+ Pulizia o archiviazione dei dati | DBA | 
| Preparare gli script SQL. | Per preparare gli script SQL, procedi come segue:1. Crea query SQL per ogni attività di manutenzione. Di seguito è riportato un esempio di query [T-SQL](https://learn.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver16) per eseguire un backup specifico del database: `Backup Database <Database_Name> To Disk='C:\Backups\Database_Name.bak'`<br />2. Salva il file di script come`<File Name>.sql`. Quindi, salva gli script in una posizione accessibile sull'unità locale del server sull'istanza Amazon EC2 o su una condivisione di file di rete. | DBA | 
| Configura le autorizzazioni di accesso. | Per configurare le autorizzazioni di accesso, procedi come segue:1. Imposta le autorizzazioni appropriate per il file system. Per istruzioni, vedere [Configurare le autorizzazioni del file system per l'accesso al motore di database](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-file-system-permissions-for-database-engine-access?view=sql-server-ver16) sul sito Web di Microsoft.<br />2. Verificare che l'account del servizio SQL Server disponga dell'accesso necessario. Per istruzioni, vedi [Configurare gli account e le autorizzazioni dei servizi Windows](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-ver16) sul sito Web di Microsoft.<br />3. Verifica la connettività di rete per le condivisioni remote. Per ulteriori informazioni, consulta [Accesso ai dati tramite condivisioni di file](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-file-shares.html) nella AWS documentazione. | DBA | 

### Automatizza le attività con Task Scheduler
<a name="automate-tasks-with-task-scheduler"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea file batch. | + Per creare un file batch, utilizzate un editor di testo per digitare il seguente comando. Sostituite i parametri `username` e `password` con i vostri valori. Quindi salva il file con nome`<Name>.bat`.<pre>sqlcmd -S servername -U username -P password -i <T-SQL query path.sql></pre>+ Per creare un file batch per le attività SQL, utilizzate un editor di testo e digitate i seguenti comandi. Sostituite i parametri `ServerName` `DatabaseName``username`,, e `password` con i vostri valori. Quindi salva il file con nome`<Name>.bat`.<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 | 
| Crea attività in Task Scheduler. | Per creare un'attività in Task Scheduler, utilizza i seguenti passaggi:1. Per aprire Task Scheduler, digitare **taskschd.msc** nella ricerca di Windows.<br />2. **Scegli il menu **Azione**, quindi seleziona Crea attività di base.**<br />3. Per **Nome**, fornisci un nome per l'attività, quindi scegli **Avanti**.<br />4. Per **Trigger**, seleziona l'opzione relativa al momento in cui desideri avviare l'attività, quindi scegli **Avanti**.<br />5. Fornisci le informazioni di **inizio** e **ricorrenza** per l'attività, quindi scegli **Avanti**.<br />6. Nella sezione **Azione**, seleziona **Avvia un programma**, quindi scegli **Avanti**.<br />7. **Per **Programma/script**, specificate il percorso del file batch creato nell'operazione precedente, quindi scegliete Avanti.**<br />8. Scegli **Fine**.<br />**Per eseguire l'operazione manualmente, fate clic con il pulsante destro del mouse sull'attività appena creata, quindi selezionate Esegui.** | DBA | 
| Visualizza lo stato delle attività. | Per visualizzare lo stato di un'attività in Task Scheduler, utilizza i seguenti passaggi:1. In Task Scheduler, vai alla **Task Scheduler Library**, che mostra tutte le attività.<br />2. Per visualizzare lo stato dell'attività creata in precedenza, seleziona l'attività e vai alla scheda **Cronologia**. | DBA, AWS DevOps | 

### Automatizza le attività con AWS Lambda
<a name="automate-tasks-with-lamlong"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa la soluzione. | Per implementare la soluzione di questo modello, utilizzare i seguenti passaggi:1. Creazione di una funzione Lambda. Per istruzioni, consulta [Creare la prima funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) nella AWS documentazione. <br />2. Pianifica la funzione Lambda. Per istruzioni, consulta [Invocare una funzione Lambda in base a una](https://docs.aws.amazon.com/lambda/latest/dg/with-eventbridge-scheduler.html) pianificazione nella AWS documentazione.<br />3. Esegui query T-SQL. Per ulteriori informazioni, consulta [Tutorial: Using a Lambda function to access a un database Amazon RDS nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-lambda-tutorial.html). AWS Il tutorial spiega come connettere i database Amazon RDS dalle funzioni Lambda per eseguire query SQL. | AWS DevOps, DevOps ingegnere | 

## Risoluzione dei problemi
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Problemi con Lambda | Per informazioni su errori e problemi che potresti riscontrare durante l'utilizzo AWS Lambda, consulta [Risoluzione dei problemi in Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-troubleshooting.html) nella AWS documentazione. | 

## Risorse correlate
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-resources"></a>
+ [Tipi di istanza Amazon EC2](https://aws.amazon.com/ec2/instance-types/)
+ [AWS Lambda documentazione](https://docs.aws.amazon.com/lambda/latest/dg/with-eventbridge-scheduler.html)
+ [AWS Lambda prezzi](https://aws.amazon.com/lambda/pricing/)
+ [Task Scheduler per sviluppatori](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) (sito Web Microsoft)