

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

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

**Deskripsi**

`AWSEC2-SQLServerDBRestore`Runbook mengembalikan backup database Microsoft SQL Server yang disimpan di Amazon S3 ke SQL Server 2017 yang berjalan di instans Linux Amazon Elastic Compute Cloud (EC2). Anda dapat menyediakan instans EC2 Anda sendiri yang menjalankan SQL Server 2017 Linux. Jika instans EC2 tidak disediakan, otomatisasi akan meluncurkan dan mengonfigurasi instans Ubuntu 16.04 EC2 baru dengan SQL Server 2017. Otomatisasi mendukung pemulihan cadangan log penuh, diferensial, dan transaksional. Otomatisasi ini menerima beberapa file cadangan basis data dan secara otomatis mengembalikan cadangan valid terbaru dari setiap database dalam file yang disediakan.

Untuk mengotomatiskan pencadangan dan pemulihan database SQL Server lokal ke instans EC2 yang menjalankan SQL Server 2017 Linux, Anda dapat menggunakan skrip yang ditandatangani. AWS PowerShell [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)

**penting**  
Runbook ini mengatur ulang kata sandi pengguna administrator server SQL Server (SA) setiap kali otomatisasi berjalan. Setelah otomatisasi selesai, Anda harus mengatur kata sandi pengguna SA Anda sendiri lagi sebelum Anda terhubung ke instance SQL Server.

[Jalankan Otomasi ini (konsol)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSEC2-SQLServerDBRestore)

**Jenis Dokumen**

Otomatisasi

**Pemilik**

Amazon

**Platform**

Linux

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

Untuk menjalankan otomatisasi ini, Anda harus memenuhi prasyarat berikut:
+ Pengguna atau peran IAM yang menjalankan otomatisasi ini harus memiliki kebijakan sebaris yang dilampirkan dengan izin yang diuraikan. [Izin IAM yang diperlukan](#sql-server-db-restore-policy)
+ Jika Anda menyediakan instans EC2 Anda sendiri:
  + Instans EC2 yang Anda berikan harus berupa instance Linux yang menjalankan Microsoft SQL Server 2017.
  + Instans EC2 yang Anda berikan harus dikonfigurasi dengan profil instans AWS Identity and Access Management (IAM) yang memiliki kebijakan `AmazonSSMManagedInstanceCore` terkelola yang dilampirkan. Untuk informasi selengkapnya, lihat [Buat profil instans IAM untuk Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html).
  + Agen SSM harus diinstal pada instans EC2 Anda. Untuk informasi selengkapnya, lihat [Menginstal dan mengonfigurasi Agen SSM pada instans EC2](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html) untuk Linux.
  + Instans EC2 harus memiliki ruang disk kosong yang cukup untuk mengunduh dan memulihkan cadangan SQL Server.

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

Otomatisasi ini tidak mendukung pemulihan ke SQL Server yang berjalan pada instans EC2 untuk. Windows Server Otomatisasi ini hanya mengembalikan backup database yang kompatibel dengan SQL Server Linux 2017. Untuk informasi selengkapnya, lihat [Edisi dan Fitur yang Didukung SQL Server 2017 di Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-components-2017?view=sql-server-2017).

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

Otomatisasi ini memiliki parameter berikut:
+ **DatabaseNames**

  Tipe: String

  Deskripsi: (Opsional) Daftar nama database yang dipisahkan koma untuk dipulihkan.
+ **DataDirectorySize**

  Tipe: String

  Deskripsi: (Opsional) Ukuran volume yang diinginkan (GiB) dari direktori Data SQL Server untuk instans EC2 baru.

  Nilai default: 100
+ **KeyPair**

  Tipe: String

  Deskripsi: (Opsional) Pasangan kunci yang akan digunakan saat membuat instans EC2 baru.
+ **IamInstanceProfileName**

  Tipe: String

  Deskripsi: (Opsional) Profil instans IAM untuk dilampirkan ke instans EC2 baru. Profil instans IAM harus memiliki kebijakan `AmazonSSMManagedInstanceCore` terkelola yang dilampirkan.
+ **InstanceId**

  Tipe: String

  Deskripsi: (Opsional) Instance yang menjalankan SQL Server 2017 di Linux. Jika tidak InstanceId disediakan, otomatisasi meluncurkan instans EC2 baru menggunakan SQLServer Edisi InstanceType dan yang disediakan.
+ **InstanceType**

  Tipe: String

  Deskripsi: (Opsional) Jenis instans EC2 yang akan diluncurkan.
+ **ISS3 PresignedUrl**

  Tipe: String

  Deskripsi: (Opsional) Jika S3Input adalah URL S3 yang telah ditandatangani sebelumnya, tunjukkan. `yes`

  Nilai default: tidak

  Nilai yang valid: ya \| tidak 
+ **LogDirectorySize**

  Tipe: String

  Deskripsi: (Opsional) Ukuran volume yang diinginkan (GiB) dari direktori SQL Server Log untuk instans EC2 baru.

  Nilai default: 100
+ **Masukan S3**

  Tipe: String

  Deskripsi: (Diperlukan) Nama bucket S3, daftar kunci objek S3 yang dipisahkan koma, atau daftar S3 yang telah ditandatangani sebelumnya yang dipisahkan koma yang URLs berisi file cadangan SQL yang akan dipulihkan.
+ **SQLServerEdisi**

  Tipe: String

  Deskripsi: (Opsional) Edisi SQL Server 2017 yang akan diinstal pada instans EC2 yang baru dibuat.

  Nilai yang valid: Standar \| Perusahaan \| Web \| Ekspres
+ **SubnetId**

  Tipe: String

  Deskripsi: (Opsional) Subnet untuk meluncurkan instans EC2 baru. Subnet harus memiliki konektivitas keluar ke AWS layanan. Jika nilai untuk tidak SubnetId disediakan, otomatisasi menggunakan subnet default.
+ **TempDbDirectorySize**

  Tipe: String

  Deskripsi: (Opsional) Ukuran volume yang diinginkan (GiB) dari direktori TempDB SQL Server untuk instans EC2 baru.

  Nilai default: 100

## Izin IAM yang diperlukan
<a name="sql-server-db-restore-policy"></a>

`AutomationAssumeRole`Parameter memerlukan tindakan berikut agar berhasil menggunakan runbook.

------
#### [ 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}}"
        }
    ]
}
```

------

## Langkah Dokumen
<a name="sql-server-db-restore-steps"></a>

Untuk menggunakan otomatisasi ini, ikuti langkah-langkah yang berlaku untuk jenis instans Anda:

**Untuk instans EC2 baru:**

1. `aws:executeAwsApi`- Ambil ID AMI untuk SQL Server 2017 di Ubuntu 16.04.

1. `aws:runInstances`- Luncurkan instans EC2 baru untuk Linux.

1. `aws:waitForAwsResourceProperty`- Tunggu instans EC2 yang baru dibuat siap.

1. `aws:executeAwsApi`- Reboot instance jika instance tidak siap.

1. `aws:assertAwsResourceProperty`- Verifikasi bahwa Agen SSM diinstal.

1. `aws:runCommand`- Jalankan skrip pemulihan SQL Server di PowerShell.

**Untuk instans EC2 yang ada:**

1. `aws:waitForAwsResourceProperty`- Verifikasi bahwa instans EC2 sudah siap.

1. `aws:executeAwsApi`- Reboot instance jika instance tidak siap.

1. `aws:assertAwsResourceProperty`- Verifikasi bahwa Agen SSM diinstal.

1. `aws:runCommand`- Jalankan skrip pemulihan SQL Server di PowerShell.

**Keluaran**

getInstance. InstanceId

restoreToNewInstance.Output

restoreToExistingInstance.Output