

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengotomatiskan tugas database di SQL Server Express di Amazon EC2 dengan AWS Lambda menggunakan dan Penjadwal Tugas
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2"></a>

*Subhani Shaik, Amazon Web Services*

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

Pola ini menunjukkan bagaimana menjadwalkan dan mengelola tugas-tugas database dalam edisi SQL Server Express, yang merupakan versi gratis dari SQL Server. Namun, edisi SQL Server Express tidak memiliki layanan SQL Server Agent yang biasanya menangani operasi database otomatis. Pola ini menjelaskan bagaimana Anda dapat menggunakan Penjadwal Tugas dan AWS Lambda sebagai alternatif untuk mengotomatiskan tugas database dalam edisi SQL Server Express yang berjalan pada instance Amazon Elastic Compute Cloud (Amazon EC2).

[Penjadwal Tugas](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) adalah utilitas sistem Windows bawaan yang memfasilitasi pelaksanaan otomatis tugas-tugas rutin. Ini menyediakan mekanisme untuk menjadwalkan dan mengelola operasi otomatis, menghilangkan kebutuhan untuk intervensi manual dalam proses berulang. [AWS Lambda](https://aws.amazon.com/lambda/)adalah layanan komputasi tanpa server yang secara otomatis menjalankan kode sebagai respons terhadap peristiwa, tanpa mengharuskan Anda mengelola infrastruktur yang mendasarinya.

## Prasyarat dan batasan
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS
+ Virtual Private Cloud (VPC) yang dibuat dengan Amazon Virtual Private Cloud (Amazon VPC)
+ Instans Amazon EC2 dengan Windows Server
+ Volume Amazon Elastic Block Store (Amazon EBS) yang dilampirkan ke instans Amazon EC2 dengan Windows Server
+ [Binari SQL Server Express Edition](https://www.microsoft.com/en-us/download/details.aspx?id=101064)

**Batasan**
+ Untuk informasi tentang batasan fitur edisi SQL Server Express, lihat [situs web Microsoft](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2019?view=sql-server-ver16).
+ Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [AWS Layanan menurut Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Untuk titik akhir tertentu, lihat [Titik akhir dan kuota layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

**Versi produk**
+ SQL Server 2016 atau yang lebih baru dengan edisi SQL Server Express

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

Diagram berikut menunjukkan instans Amazon EC2 yang berjalan dengan edisi SQL Server Express diinstal. Instans dapat diakses melalui klien Remote Desktop Protocol (RDP) atau dari. AWS Systems Manager Session Manager AWS Key Management Service (AWS KMS) menangani enkripsi data untuk volume Amazon EBS untuk memastikan data-at-rest keamanan. Infrastruktur juga mencakup AWS Identity and Access Management (IAM), yang menyediakan kontrol akses dan mengelola izin untuk pelaksanaan fungsi Lambda. Amazon Simple Storage Service (Amazon S3) menyimpan fungsi Lambda.

![Instans Amazon EC2 yang berjalan dengan edisi SQL Server Express diinstal pada subnet pribadi.](https://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/3af2174d-bf49-4e43-86f7-34759e5eea84/images/3a37dcb8-10af-42f2-8ff1-fab4f87eb646.png)


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

**Layanan AWS**
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html) menyediakan volume penyimpanan tingkat blok untuk digunakan bersama dengan instans Amazon EC2 Anda.
+ [Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)adalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
+ [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
+ [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)adalah AWS Systems Manager alat yang dikelola sepenuhnya. Dengan Session Manager, Anda dapat mengelola instans Amazon EC2, perangkat edge, server lokal, dan mesin virtual (). VMs
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) membantu Anda meluncurkan AWS sumber daya ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur yang dapat diskalakan. AWS

**Alat lainnya**
+ [Microsoft SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/download-sql-server-management-studio-ssms) adalah alat untuk mengelola SQL Server, termasuk mengakses, mengkonfigurasi, dan mengelola komponen SQL Server.
+ [Python adalah bahasa](https://www.python.org/) pemrograman komputer tujuan umum. Anda dapat menggunakannya untuk membangun aplikasi, mengotomatiskan tugas, dan mengembangkan layanan di [AWS Cloud](https://aws.amazon.com/developer/language/python/)aplikasi.
+ [Penjadwal Tugas](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) adalah alat Microsoft yang dapat Anda gunakan untuk menjadwalkan tugas rutin di komputer Anda secara otomatis.

## Praktik terbaik
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-best-practices"></a>
+ [Praktik terbaik untuk Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-best-practices.html)
+ [Praktik terbaik untuk bekerja dengan AWS Lambda fungsi](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)
+ [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)

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

### Buat instans Amazon EC2 dan instal edisi SQL Server Express
<a name="create-an-amazon-ec2-instance-and-install-sql-server-express-edition"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menerapkan instans Amazon EC2. | Untuk membuat instans Amazon EC2, buka konsol Amazon EC2 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)di dan pilih [Amazon Machine Image (AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)) dari daftar instance yang tersedia untuk Windows Server.<br />Untuk informasi selengkapnya, lihat [Meluncurkan instans Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) di dokumentasi. AWS  | DBA, AWS DevOps | 
| Instal edisi SQL Server Express. | Untuk menginstal edisi SQL Server Express, selesaikan langkah-langkah berikut:1. Untuk [terhubung ke instans Amazon EC2 Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html), pilih opsi:**Opsi A** — Gunakan Remote Desktop Protocol (RDP). Untuk petunjuknya, lihat [Connect to Windows Anda menggunakan klien RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-rdp.html) dalam dokumentasi. AWS **Opsi B** — Gunakan konsol Amazon EC2 dan. AWS Systems Manager Session Manager Untuk petunjuknya, lihat [Connect ke instans Amazon EC2 menggunakan Session Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-with-systems-manager-session-manager.html) dalam dokumentasi. AWS <br />2. Untuk mengunduh edisi SQL Server Express yang diperlukan, buka [Unduhan SQL Server di situs web](https://www.microsoft.com/en-in/sql-server/sql-server-downloads) Microsoft.<br />3. Untuk menginstal edisi SQL Server Express, ikuti petunjuk dalam [Rencanakan instalasi SQL Server di situs web](https://learn.microsoft.com/en-us/sql/sql-server/install/planning-a-sql-server-installation?view=sql-server-ver16) Microsoft. | DBA, AWS DevOps | 

### Buat tugas pemeliharaan basis data otomatis
<a name="create-automated-database-maintenance-tasks"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Identifikasi tugas rutin. | Identifikasi tugas rutin yang ingin Anda otomatiskan. Misalnya, tugas-tugas berikut memenuhi syarat untuk otomatisasi:+ Backup database (Log penuh, diferensial, dan transaksi)<br />+ Pemeliharaan dan reorganisasi indeks<br />+ Pembaruan statistik<br />+ Operasi khusus aplikasi<br />+ Pembersihan atau pengarsipan data | DBA | 
| Siapkan skrip SQL. | Untuk menyiapkan skrip SQL, lakukan hal berikut:1. Buat kueri SQL untuk setiap tugas pemeliharaan. Berikut ini adalah contoh query [T-SQL](https://learn.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver16) untuk melakukan backup database tertentu: `Backup Database <Database_Name> To Disk='C:\Backups\Database_Name.bak'`<br />2. Simpan file skrip sebagai`<File Name>.sql`. Kemudian, simpan skrip ke lokasi yang dapat diakses di drive lokal server di instans Amazon EC2 atau berbagi file jaringan. | DBA | 
| Konfigurasikan izin akses. | Untuk mengonfigurasi izin akses, lakukan hal berikut:1. Tetapkan izin sistem file yang sesuai. Untuk petunjuk, lihat [Mengkonfigurasi izin sistem file untuk akses Database Engine](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-file-system-permissions-for-database-engine-access?view=sql-server-ver16) di situs web Microsoft.<br />2. Periksa apakah akun layanan SQL Server memiliki akses yang diperlukan. Untuk petunjuk, lihat [Mengkonfigurasi akun layanan Windows dan izin](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-ver16) di situs web Microsoft.<br />3. Verifikasi konektivitas jaringan untuk berbagi jarak jauh. Untuk informasi selengkapnya, lihat [Mengakses data menggunakan berbagi file](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-file-shares.html) dalam AWS dokumentasi. | DBA | 

### Mengotomatiskan tugas dengan Penjadwal Tugas
<a name="automate-tasks-with-task-scheduler"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat file batch. | + Untuk membuat file batch, gunakan editor teks untuk mengetik perintah berikut. Ganti parameter `username` dan `password` dengan nilai Anda sendiri. Kemudian simpan file sebagai`<Name>.bat`.<pre>sqlcmd -S servername -U username -P password -i <T-SQL query path.sql></pre>+ Untuk membuat file batch untuk tugas SQL, gunakan editor teks dan ketik perintah berikut. Ganti parameter`ServerName`,`DatabaseName`,`username`, dan `password` dengan nilai Anda sendiri. Kemudian simpan file sebagai`<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 | 
| Buat tugas di Penjadwal Tugas. | Untuk membuat tugas di Penjadwal Tugas, gunakan langkah-langkah berikut:1. Untuk membuka Penjadwal Tugas, ketik **taskschd.msc** di pencarian Windows.<br />2. Pilih menu **Action**, lalu pilih **Create Basic Task**.<br />3. Untuk **Nama**, berikan nama untuk tugas tersebut, lalu pilih **Berikutnya**.<br />4. Untuk **Trigger**, pilih opsi kapan Anda ingin tugas dimulai dan kemudian pilih **Berikutnya**.<br />5. Berikan informasi **Mulai** dan **Ulang** untuk tugas tersebut, lalu pilih **Berikutnya**.<br />6. Untuk bagian **Tindakan**, pilih **Mulai program** dan kemudian pilih **Berikutnya**.<br />7. **Untuk **Program/skrip**, tentukan jalur untuk file batch yang Anda buat di tugas sebelumnya dan kemudian pilih Berikutnya.**<br />8. Pilih **Selesai**.<br />Untuk menjalankan tugas secara manual, klik kanan tugas yang baru dibuat dan kemudian pilih **Jalankan**. | DBA | 
| Lihat status tugas. | Untuk melihat status tugas di Penjadwal Tugas, gunakan langkah-langkah berikut:1. Di Penjadwal Tugas, buka **Perpustakaan Penjadwal Tugas**, yang menampilkan semua tugas.<br />2. Untuk melihat status tugas yang Anda buat sebelumnya, pilih tugas dan kemudian buka tab **Riwayat**. | DBA, AWS DevOps | 

### Mengotomatiskan tugas dengan AWS Lambda
<a name="automate-tasks-with-lamlong"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menerapkan solusinya. | Untuk menerapkan solusi pola ini, gunakan langkah-langkah berikut:1. Buat fungsi Lambda. Untuk petunjuk, lihat [Membuat fungsi Lambda pertama Anda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) dalam dokumentasi. AWS <br />2. Jadwalkan fungsi Lambda. Untuk petunjuk, lihat [Memanggil fungsi Lambda pada jadwal dalam](https://docs.aws.amazon.com/lambda/latest/dg/with-eventbridge-scheduler.html) AWS dokumentasi.<br />3. Jalankan kueri T-SQL. Untuk informasi selengkapnya, lihat [Tutorial: Menggunakan fungsi Lambda untuk mengakses database Amazon RDS dalam dokumentasi](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-lambda-tutorial.html). AWS Tutorial ini menjelaskan cara menghubungkan database Amazon RDS dari fungsi Lambda untuk menjalankan kueri SQL | AWS DevOps, DevOps insinyur | 

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


| Isu | Solusi | 
| --- | --- | 
| Masalah Lambda | Untuk bantuan terkait kesalahan dan masalah yang mungkin Anda temui saat menggunakan AWS Lambda, lihat [Memecahkan masalah di Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-troubleshooting.html) dalam dokumentasi. AWS  | 

## Sumber daya terkait
<a name="automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2-resources"></a>
+ [Tipe instans Amazon EC2](https://aws.amazon.com/ec2/instance-types/)
+ [AWS Lambda dokumentasi](https://docs.aws.amazon.com/lambda/latest/dg/with-eventbridge-scheduler.html)
+ [AWS Lambda harga](https://aws.amazon.com/lambda/pricing/)
+ [Penjadwal Tugas untuk pengembang](https://learn.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page) (situs web Microsoft)