

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

# Menggunakan pencadangan dan pemulihan native
<a name="SQLServer.Procedural.Importing.Native.Using"></a>

Setelah Anda mengaktifkan dan mengonfigurasi pencadangan dan pemulihan native, Anda dapat mulai menggunakannya. Pertama, Anda melakukan koneksi ke basis data Microsoft SQL Server, lalu Anda memanggil prosedur tersimpan Amazon RDS untuk melakukan pekerjaan tersebut. Untuk petunjuk tentang melakukan koneksi ke basis data Anda, lihat [Menyambung ke instans Microsoft SQL Server DB](USER_ConnectToMicrosoftSQLServerInstance.md). 

Beberapa prosedur yang disimpan mewajibkan Anda untuk memberikan Amazon Resource Name (ARN) ke bucket dan file Amazon S3 Anda. Format untuk ARN Anda adalah `arn:aws:s3:::bucket_name/file_name.extension`. Amazon S3 tidak memerlukan nomor akun atau AWS Wilayah di. ARNs

Jika Anda juga memberikan kunci KMS opsional, format untuk ARN kuncinya adalah `arn:aws:kms:region:account-id:key/key-id`. Untuk informasi selengkapnya, lihat [nama sumber daya Amazon (ARNs) dan ruang nama AWS layanan](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). Anda harus menggunakan kunci KMS enkripsi simetris untuk mengenkripsi cadangan Anda. Amazon RDS tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat [Membuat kunci enkripsi simetris KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) di *Panduan Developer AWS Key Management Service *.

**catatan**  
Apakah Anda menggunakan kunci KMS atau tidak, tugas pencadangan dan pemulihan asli mengaktifkan enkripsi 256-bit Advanced Encryption Standard (AES) sisi server melalui SSE-S3 secara default untuk file yang diunggah ke S3. Meneruskan `@enable_bucket_default_encryption=1` ke prosedur penyimpanan cadangan menggunakan kunci enkripsi default yang dikonfigurasi bucket S3 Anda.

Untuk petunjuk bagaimana cara memanggil setiap prosedur tersimpan, lihat topik berikut:
+ [Membuat backup basis data](#SQLServer.Procedural.Importing.Native.Using.Backup)
+ [Memulihkan basis data](#SQLServer.Procedural.Importing.Native.Using.Restore)
+ [Memulihkan log](#SQLServer.Procedural.Importing.Native.Restore.Log)
+ [Menyelesaikan pemulihan basis data](#SQLServer.Procedural.Importing.Native.Finish.Restore)
+ [Bekerja dengan basis data yang dipulihkan secara parsial](#SQLServer.Procedural.Importing.Native.Partially.Restored)
+ [Membatalkan tugas](#SQLServer.Procedural.Importing.Native.Using.Cancel)
+ [Melacak status tugas](#SQLServer.Procedural.Importing.Native.Tracking)

## Membuat backup basis data
<a name="SQLServer.Procedural.Importing.Native.Using.Backup"></a>

Untuk membuat backup basis data Anda, gunakan prosedur `rds_backup_database` yang disimpan.

**catatan**  
Anda tidak dapat membuat backup basis data selama waktu pemeliharaan, atau saat Amazon RDS mengambil snapshot. 

### Penggunaan
<a name="SQLServer.Procedural.Importing.Native.Backup.Syntax"></a>

```
exec msdb.dbo.rds_backup_database
	@source_db_name='database_name',
	@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name.extension',
	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],	
	[@overwrite_s3_backup_file=0|1],
	[@block_size=512|1024|2048|4096|8192|16384|32768|65536],
        [@max_transfer_size=n],
        [@buffer_count=n],
	[@type='DIFFERENTIAL|FULL'],
	[@number_of_files=n],
	[@enable_bucket_default_encryption=0|1];
```

Parameter berikut diperlukan:
+ `@source_db_name` – Nama basis data untuk dicadangkan.
+ `@s3_arn_to_backup_to`— ARN menunjukkan bucket Amazon S3, titik akses, bucket direktori, atau titik akses untuk bucket direktori yang akan digunakan untuk pencadangan, ditambah nama file cadangan.

  File dapat memiliki ekstensi apa saja, tetapi `.bak` biasanya digunakan. Perhatikan bahwa titik akses ARNs harus dalam format`arn:aws:s3:us-east-1:111122223333:access-point-name/object/key`.

Parameter berikut ini bersifat opsional:
+ `@kms_master_key_arn`— ARN untuk kunci KMS enkripsi simetris untuk digunakan untuk mengenkripsi item.
  + Anda tidak dapat menggunakan kunci enkripsi default. Jika Anda menggunakan kunci default, basis data tidak akan dicadangkan.
  +  Jika Anda tidak menentukan pengidentifikasi kunci KMS, file backup tidak akan dienkripsi. Untuk informasi selengkapnya, lihat [Mengenkripsi sumber daya Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html).
  + Saat Anda menentukan kunci KMS, enkripsi sisi klien digunakan.
  + Amazon RDS tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat [Membuat kunci enkripsi simetris KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) di *Panduan Developer AWS Key Management Service *.
+ `@overwrite_s3_backup_file` – Nilai yang menunjukkan apakah file backup yang sudah ada akan ditimpa.
  + `0` – Tidak menimpa file yang ada. Nilai ini adalah default.

    Mengatur `@overwrite_s3_backup_file` ke 0 akan menghasilkan kesalahan jika file sudah ada.
  + `1` – Menimpa file yang sudah ada dengan nama yang ditentukan, meskipun itu bukan file cadangan.
+ `@type` – Jenis pencadangan.
  + `DIFFERENTIAL` – Membuat pencadangan diferensial.
  + `FULL` – Membuat backup penuh. Nilai ini adalah default.

  Pencadangan diferensial didasarkan pada backup penuh yang terakhir. Agar pencadangan diferensial berhasil, Anda tidak dapat mengambil snapshot antara backup penuh terakhir dan pencadangan diferensial. Jika Anda menginginkan pencadangan diferensial, tetapi ada snapshot, lakukan pencadangan penuh lainnya sebelum melanjutkan dengan pencadangan diferensial.

  Anda dapat mencari backup penuh atau snapshot terakhir menggunakan contoh kueri SQL berikut:

  ```
  select top 1
  database_name
  , 	backup_start_date
  , 	backup_finish_date
  from    msdb.dbo.backupset
  where   database_name='mydatabase'
  and     type = 'D'
  order by backup_start_date desc;
  ```
+ `@number_of_files` – Jumlah file yang menjadi tempat di mana backup akan terbagi (terpotong). Jumlah maksimum adalah 10.
  + Pencadangan multi-file didukung untuk backup penuh dan pencadangan diferensial.
  + Jika Anda memasukkan nilai 1 atau menghilangkan parameter, akan dibuat file backup tunggal.

  Berikan awalan yang sama-sama dimiliki beberapa file tersebut, lalu akhiri dengan tanda bintang (`*`). Tanda bintang dapat berada di mana saja di *file\$1name* bagian S3 ARN. Tanda bintang diganti dengan serangkaian string alfanumerik dalam file yang dihasilkan, dimulai dengan `1-of-number_of_files`.

  Misalnya, jika nama file pada S3 ARN adalah `backup*.bak` dan Anda mengatur `@number_of_files=4`, file backup yang dihasilkan adalah `backup1-of-4.bak`, `backup2-of-4.bak`, `backup3-of-4.bak`, dan `backup4-of-4.bak`.
  + Jika salah satu nama file sudah ada, dan `@overwrite_s3_backup_file` adalah 0, akan muncul kesalahan.
  + Cadangan multifile hanya dapat memiliki satu tanda bintang di *file\$1name* bagian S3 ARN.
  + Cadangan file tunggal dapat memiliki sejumlah tanda bintang di bagian S3 ARN*file\$1name*. Tanda bintang tidak dihapus dari nama file yang dihasilkan.
+ `@block_size`— Ukuran blok (dalam byte) yang menentukan ukuran blok fisik untuk operasi cadangan. Nilai yang valid adalah 512, 1024, 2048, 4096, 8192, 16384, 32768, dan 65536
+ `@max_transfer_size`Ukuran transfer maksimum menunjukkan batas atas volume data (dalam byte) yang ditransmisikan per I/O operasi selama proses pencadangan. Nilai yang valid adalah kelipatan 65536 byte (64 KB) hingga 4194304 byte (4 MB). 
+ `@buffer_count`— Jumlah total I/O buffer yang akan digunakan untuk proses pencadangan.
+ `@enable_bucket_default_encryption`— Nilai yang menunjukkan apakah akan menggunakan konfigurasi enkripsi default bucket S3 untuk enkripsi sisi server di S3. Bucket direktori selalu menggunakan konfigurasi enkripsi default bucket terlepas dari pengaturan ini.
  + `0`— Enkripsi sisi server menggunakan enkripsi 256-bit Advanced Encryption Standard (AES) melalui SSE-S3.
  + `1`[— Enkripsi sisi server menggunakan enkripsi default yang dikonfigurasi bucket S3 Anda.](https://docs.aws.amazon.com//AmazonS3/latest/userguide/bucket-encryption.html) 

### Contoh
<a name="SQLServer.Procedural.Importing.Native.Backup.Examples"></a>

**Example dari pencadangan diferensial**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup1.bak',
@overwrite_s3_backup_file=1,
@type='DIFFERENTIAL';
```

**Example cadangan penuh dengan enkripsi sisi klien**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup1.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
@overwrite_s3_backup_file=1,
@type='FULL';
```

**Example dari pencadangan multi-file**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@number_of_files=4;
```

**Example dari pencadangan diferensial multi-file**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@type='DIFFERENTIAL',
@number_of_files=4;
```

**Example dari pencadangan multi-file dengan enkripsi**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
@number_of_files=4;
```

**Example dari pencadangan multi-file dengan penimpaan S3**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@overwrite_s3_backup_file=1,
@number_of_files=4;
```

**Example cadangan dengan ukuran blok**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@block_size=512;
```

**Example cadangan multifile dengan `@max_transfer_size` dan `@buffer_count`**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@number_of_files=4,
@max_transfer_size=4194304,
@buffer_count=10;
```

**Example dari pencadangan file tunggal dengan parameter @number\$1of\$1files**  
Contoh ini menghasilkan file backup dengan nama `backup*.bak`.  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@number_of_files=1;
```

**Example cadangan penuh dengan enkripsi sisi server**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:::mybucket/backup*.bak',
@overwrite_s3_backup_file=1,
@type='FULL',
@enable_bucket_default_encryption=1;
```

**Example cadangan penuh menggunakan titik akses**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point/object/backup1.bak',
@overwrite_s3_backup_file=1,
@type='FULL';
```

**Example cadangan penuh menggunakan titik akses untuk ember direktori**  

```
exec msdb.dbo.rds_backup_database
@source_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3express:us-east-1:123456789012:accesspoint/my-access-point--use1-az6--xa-s3/object/backup1.bak',
@overwrite_s3_backup_file=1,
@type='FULL';
```

## Memulihkan basis data
<a name="SQLServer.Procedural.Importing.Native.Using.Restore"></a>

Untuk memulihkan basis data Anda, panggil prosedur tersimpan `rds_restore_database`. Amazon RDS membuat snapshot awal basis data setelah tugas pemulihan selesai dan basis data terbuka.

### Penggunaan
<a name="SQLServer.Procedural.Importing.Native.Restore.Syntax"></a>

```
exec msdb.dbo.rds_restore_database
	@restore_db_name='database_name',
	@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension',
	@with_norecovery=0|1,
	[@keep_cdc=0|1],
	[@data_file_volume='D:|H:|I:|J:'],
	[@log_file_volume='D:|H:|I:|J:'],
	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],
        [@block_size=512|1024|2048|4096|8192|16384|32768|65536],
        [@max_transfer_size=n],
        [@buffer_count=n],
	[@type='DIFFERENTIAL|FULL'];
```

Parameter berikut diperlukan:
+ `@restore_db_name` – Nama basis data yang akan dipulihkan. Nama basis data bersifat unik. Anda tidak dapat memulihkan basis data dengan nama yang sama seperti basis data yang sudah ada.
+ `@s3_arn_to_restore_from` – ARN yang menunjukkan prefiks Amazon S3 dan nama file backup yang digunakan untuk memulihkan basis data.
  + Untuk pencadangan file tunggal, berikan seluruh nama file.
  + Berikan awalan yang sama-sama dimiliki beberapa file tersebut, lalu akhiri dengan tanda bintang (`*`).
    + Jika menggunakan bucket direktori, ARN harus diakhiri `/*` karena [perbedaan untuk bucket direktori](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-differences.html).
  + Jika `@s3_arn_to_restore_from` kosong, pesan kesalahan berikut dikembalikan: Awalan ARN S3 tidak boleh kosong.

Parameter berikut ini diperlukan untuk pemulihan diferensial, tetapi opsional untuk pemulihan penuh:
+ `@with_norecovery` – Klausul pemulihan yang digunakan untuk operasi pemulihan.
  + Atur ke `0` untuk memulihkan dengan RECOVERY. Dalam hal ini, basis data sedang online setelah pemulihan.
  + Atur ke `1` untuk memulihkan dengan NORECOVERY. Dalam hal ini, basis data tetap dalam status RESTORING setelah tugas pemulihan selesai. Dengan pendekatan ini, Anda dapat melakukan pemulihan diferensial berikutnya.
  + Untuk pemulihan DIFFERENTIAL, tentukan `0` atau `1`.
  + Untuk pemulihan `FULL`, nilai ini default menjadi `0`.

Parameter berikut ini bersifat opsional:
+ `@keep_cdc`— Menunjukkan apakah akan mempertahankan konfigurasi Change Data Capture (CDC) pada database yang dipulihkan. Setel `1` untuk mengaktifkan KEEP\$1CDC, untuk menonaktifkan. `0` Nilai default-nya adalah `0`.
+ `@data_file_volume`- Menentukan huruf drive untuk file data database. Nilai default-nya adalah `D:`.
+ `@log_file_volume`— Menentukan huruf drive untuk file log database Nilai default adalah`D:`.
+ `@kms_master_key_arn` — Jika Anda mengenkripsi file backup, kunci KMS digunakan untuk mendekripsi file.

  Saat Anda menentukan kunci KMS, enkripsi sisi klien digunakan.
+ `@type` – Jenis pemulihan. Nilai yang valid adalah `DIFFERENTIAL` dan `FULL`. Nilai default-nya adalah `FULL`.
+ `@block_size`— Ukuran blok (dalam byte) yang menentukan ukuran blok fisik untuk operasi cadangan. Nilai yang valid adalah 512, 1024, 2048, 4096, 8192, 16384, 32768, dan 65536
+ `@max_transfer_size`Ukuran transfer maksimum menunjukkan batas atas volume data (dalam byte) yang ditransmisikan per I/O operasi selama proses pencadangan. Nilai yang valid adalah kelipatan 65536 byte (64 KB) hingga 4194304 byte (4 MB). 
+ `@buffer_count`— Jumlah total I/O buffer yang akan digunakan untuk proses pencadangan.

**catatan**  
Untuk pemulihan diferensial, basis data harus berada dalam status RESTORING atau harus ada tugas yang memulihkan dengan NORECOVERY.  
Anda tidak dapat memulihkan pencadangan diferensial di masa mendatang saat basis data online.  
Anda tidak dapat mengirimkan tugas pemulihan untuk basis data yang sudah memiliki tugas pemulihan tertunda dengan RECOVERY.  
Pemulihan penuh dengan NORECOVERY dan KEEP\$1CDC tidak didukung.  
Semua pemulihan asli tidak didukung pada instance yang memiliki replika baca lintas wilayah.  
Untuk konfigurasi yang didukung, memulihkan database pada instance Multi-AZ dengan replika baca mirip dengan memulihkan database pada instance Multi-AZ. Anda tidak perlu mengambil tindakan tambahan apa pun untuk memulihkan basis data di replika.

### Contoh
<a name="SQLServer.Procedural.Importing.Native.Restore.Examples"></a>

**Example dari pemulihan file tunggal**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak';
```

**Example dari pemulihan multi-file**  
Untuk menghindari kesalahan saat memulihkan beberapa file, pastikan semua file backup memiliki awalan yang sama, dan tidak ada file lain yang menggunakan awalan tersebut.  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup*';
```

**Example dari pemulihan basis data penuh dengan RECOVERY**  
Tiga contoh berikut ini melakukan tugas yang sama, pemulihan penuh dengan RECOVERY.  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak';
```

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
[@type='DIFFERENTIAL|FULL'];
```

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='FULL',
@with_norecovery=0;
```

**Example dari pemulihan basis data penuh dengan enkripsi**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE';
```

**Example mengembalikan dengan ukuran blok**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@block_size=512;
```

**Example pemulihan multifile dengan @max\$1transfer\$1size dan @buffer\$1count**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup*',
@max_transfer_size=4194304,
@buffer_count=10;
```

**Example dari pemulihan basis data penuh dengan NORECOVERY**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='FULL',
@with_norecovery=1;
```

**Example dari pemulihan diferensial dengan NORECOVERY**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='DIFFERENTIAL',
@with_norecovery=1;
```

**Example dari pemulihan diferensial dengan RECOVERY**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@type='DIFFERENTIAL',
@with_norecovery=0;
```

**Example pemulihan basis data lengkap dengan RECOVERY menggunakan titik akses**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_backup_to='arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point/object/backup1.bak',
@with_norecovery=0;
```

**Example pemulihan database lengkap dengan KEEP\$1CDC**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@keep_cdc=1;
```

## Memulihkan log
<a name="SQLServer.Procedural.Importing.Native.Restore.Log"></a>

Untuk memulihkan basis data Anda, panggil prosedur `rds_restore_log` yang disimpan.

### Penggunaan
<a name="SQLServer.Procedural.Importing.Native.Restore.Log.Syntax"></a>

```
exec msdb.dbo.rds_restore_log 
	@restore_db_name='database_name',
	@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/log_file_name.extension',
	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],
	[@with_norecovery=0|1],
	[@keep_cdc=0|1],
	[@stopat='datetime'],
	[@block_size=512|1024|2048|4096|8192|16384|32768|65536],
        [@max_transfer_size=n],
        [@buffer_count=n];
```

Parameter berikut diperlukan:
+ `@restore_db_name` – Nama basis data yang lognya akan dipulihkan.
+ `@s3_arn_to_restore_from` – ARN menunjukkan awalan Amazon S3 dan nama file log yang digunakan untuk memulihkan log. File dapat memiliki ekstensi apa saja, tetapi `.trn` biasanya digunakan.

  Jika `@s3_arn_to_restore_from` kosong, pesan kesalahan berikut dikembalikan: Awalan ARN S3 tidak boleh kosong.

Parameter berikut ini bersifat opsional:
+ `@keep_cdc`— Menunjukkan apakah akan mempertahankan konfigurasi Change Data Capture (CDC) pada database yang dipulihkan. Setel ke 1 untuk mengaktifkan KEEP\$1CDC, 0 untuk menonaktifkan. Nilai default-nya adalah 0.
+ `@kms_master_key_arn` — Jika Anda mengenkripsi log, kunci KMS digunakan untuk mendekripsi log.
+ `@with_norecovery` – Klausul pemulihan yang digunakan untuk operasi pemulihan. Nilai ini default menjadi `1`.
  + Atur ke `0` untuk memulihkan dengan RECOVERY. Dalam hal ini, basis data sedang online setelah pemulihan. Anda tidak dapat memulihkan backup log lebih lanjut saat basis data sedang online.
  + Atur ke `1` untuk memulihkan dengan NORECOVERY. Dalam hal ini, basis data tetap dalam status RESTORING setelah tugas pemulihan selesai. Dengan pendekatan ini, Anda dapat melakukan pemulihan log berikutnya.
+ `@stopat` – Nilai yang menentukan bahwa basis data dipulihkan ke statusnya pada tanggal dan waktu yang ditentukan (dalam format tanggal). Hanya catatan log transaksi yang ditulis sebelum tanggal dan waktu yang ditentukan diterapkan ke basis data.

  Jika parameter ini tidak ditentukan (NULL), log lengkap dipulihkan.
+ `@block_size`— Ukuran blok (dalam byte) yang menentukan ukuran blok fisik untuk operasi cadangan. Nilai yang valid adalah 512, 1024, 2048, 4096, 8192, 16384, 32768, dan 65536
+ `@max_transfer_size`Ukuran transfer maksimum menunjukkan batas atas volume data (dalam byte) yang ditransmisikan per I/O operasi selama proses pencadangan. Nilai yang valid adalah kelipatan 65536 byte (64 KB) hingga 4194304 byte (4 MB). 
+ `@buffer_count`— Jumlah total I/O buffer yang akan digunakan untuk proses pencadangan.

**catatan**  
Untuk pemulihan log, basis data harus dalam keadaan memulihkan atau tugas yang memulihkan dengan NORECOVERY harus sudah ada.  
Anda tidak dapat memulihkan backup log saat basis data sedang online.  
Anda tidak dapat mengirimkan tugas pemulihan di basis data yang sudah memiliki tugas pemulihan tertunda dengan RECOVERY.

### Contoh
<a name="SQLServer.Procedural.Importing.Native.Restore.Log.Examples"></a>

**Example dari pemulihan log**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn';
```

**Example dari pemulihan log dengan enkripsi**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@kms_master_key_arn='arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE';
```

**Example dari pemulihan log dengan NORECOVERY**  
Dua contoh berikut melakukan tugas yang sama, pemulihan log dengan NORECOVERY.  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@with_norecovery=1;
```

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn';
```

**Example mengembalikan dengan ukuran blok**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@block_size=512;
```

**Example dari pemulihan log dengan RECOVERY**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@with_norecovery=0;
```

**Example dari pemulihan log dengan klausul STOPAT**  

```
exec msdb.dbo.rds_restore_log
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/mylog.trn',
@with_norecovery=0,
@stopat='2019-12-01 03:57:09';
```

**Example pemulihan log dengan KEEP\$1CDC**  

```
exec msdb.dbo.rds_restore_database
@restore_db_name='mydatabase',
@s3_arn_to_restore_from='arn:aws:s3:::mybucket/backup1.bak',
@keep_cdc=1;
```

## Menyelesaikan pemulihan basis data
<a name="SQLServer.Procedural.Importing.Native.Finish.Restore"></a>

Jika tugas pemulihan terakhir pada basis data dilakukan menggunakan `@with_norecovery=1`, basis data sekarang dalam status RESTORING. Buka basis data ini untuk operasi normal dengan menggunakan prosedur tersimpan `rds_finish_restore`.

### Penggunaan
<a name="SQLServer.Procedural.Importing.Native.Finish.Restore.Syntax"></a>

```
exec msdb.dbo.rds_finish_restore @db_name='database_name';
```

**catatan**  
Untuk menggunakan pendekatan ini, basis data harus berada dalam status RESTORING tanpa ada tugas pemulihan yang tertunda.  
Untuk menyelesaikan pemulihan basis data, gunakan master login. Atau gunakan login pengguna terbaru yang memulihkan basis data atau log dengan NORECOVERY.

## Bekerja dengan basis data yang dipulihkan secara parsial
<a name="SQLServer.Procedural.Importing.Native.Partially.Restored"></a>

### Menghilangkan basis data yang dipulihkan parsial
<a name="SQLServer.Procedural.Importing.Native.Drop.Partially.Restored"></a>

Untuk melepaskan basis data yang dipulihkan parsial (dibiarkan dalam status RESTORING), gunakan prosedur tersimpan `rds_drop_database`.

```
exec msdb.dbo.rds_drop_database @db_name='database_name';
```

**catatan**  
Anda tidak dapat mengirimkan permintaan DROP basis data untuk basis data yang sudah memiliki tugas pemulihan tertunda atau sudah menyelesaikan tugas pemulihan.  
Untuk melepaskan basis data, gunakan master login. Atau gunakan login pengguna terbaru yang memulihkan basis data atau log dengan NORECOVERY.

### Perilaku pemulihan dan point-in-time pemulihan snapshot untuk database yang dipulihkan sebagian
<a name="SQLServer.Procedural.Importing.Native.Snapshot.Restore"></a>

Database yang dipulihkan sebagian dalam instance sumber (dibiarkan dalam status RESTORING) dijatuhkan dari instance target selama pemulihan dan pemulihan snapshot. point-in-time

## Membatalkan tugas
<a name="SQLServer.Procedural.Importing.Native.Using.Cancel"></a>

Untuk membatalkan tugas pencadangan atau pemulihan, panggil prosedur yang tersimpan `rds_cancel_task`.

**catatan**  
Anda tidak dapat membatalkan tugas FINISH\$1RESTORE.

### Penggunaan
<a name="SQLServer.Procedural.Importing.Native.Cancel.Syntax"></a>

```
exec msdb.dbo.rds_cancel_task @task_id=ID_number;
```

Parameter berikut diperlukan:
+ `@task_id` – ID tugas yang dibatalkan. Anda bisa mendapatkan ID tugas dengan memanggil `rds_task_status`. 

## Melacak status tugas
<a name="SQLServer.Procedural.Importing.Native.Tracking"></a>

Untuk melacak status tugas pencadangan dan pemulihan Anda, panggil prosedur tersimpan `rds_task_status`. Jika Anda tidak memberikan parameter apa pun, prosedur yang tersimpan akan memperlihatkan status semua tugas. Status tugas diperbarui kira-kira setiap dua menit sekali. Riwayat tugas disimpan selama 36 hari.

### Penggunaan
<a name="SQLServer.Procedural.Importing.Native.Tracking.Syntax"></a>

```
exec msdb.dbo.rds_task_status
	[@db_name='database_name'],
	[@task_id=ID_number];
```

Parameter berikut ini bersifat opsional: 
+ `@db_name` – Nama basis data yang status tugasnya akan ditampilkan.
+ `@task_id` – ID tugas untuk menunjukkan status tugas.

### Contoh
<a name="SQLServer.Procedural.Importing.Native.Tracking.Examples"></a>

**Example untuk menyusun daftar status untuk tugas tertentu**  

```
exec msdb.dbo.rds_task_status @task_id=5;
```

**Example untuk menyusun daftar status untuk basis data dan tugas tertentu**  

```
exec msdb.dbo.rds_task_status
@db_name='my_database',
@task_id=5;
```

**Example untuk menyusun daftar semua tugas dan statusnya di basis data tertentu**  

```
exec msdb.dbo.rds_task_status @db_name='my_database';
```

**Example untuk menyusun daftar semua tugas dan statusnya di instans saat ini**  

```
exec msdb.dbo.rds_task_status;
```

### Respons
<a name="SQLServer.Procedural.Importing.Native.Tracking.Response"></a>

Prosedur tersimpan `rds_task_status` memunculkan kolom berikut.


****  

| Kolom | Deskripsi | 
| --- | --- | 
| `task_id` |  ID tugas.   | 
| `task_type` |  Jenis tugas tergantung pada parameter input, sebagai berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html) Amazon RDS membuat snapshot awal basis data setelah basis data terbuka saat menyelesaikan tugas pemulihan berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html)  | 
| `database_name` |  Nama basis data yang terkait dengan tugas.   | 
| `% complete` |  Kemajuan tugas sebagai nilai persen.   | 
| `duration (mins)` |  Durasi yang dihabiskan untuk tugas, dalam menit.   | 
| `lifecycle` |  Status tugas. Status yang mungkin adalah sebagai berikut:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.Native.Using.html)  | 
| `task_info` |  Informasi tambahan tentang tugas.  Jika terjadi kesalahan saat membuat backup atau memulihkan basis data, kolom ini berisi informasi tentang kesalahan tersebut. Untuk daftar kesalahan yang mungkin terjadi, dan strategi mitigasinya, lihat [Pemecahan Masalah](SQLServer.Procedural.Importing.Native.Troubleshooting.md).   | 
| `last_updated` |  Tanggal dan waktu status tugas terakhir diperbarui. Status akan diperbarui setelah setiap 5 persen kemajuan.  | 
| `created_at` | Tanggal dan waktu tugas dibuat. | 
| S3\$1object\$1arn | ARN menunjukkan awalan Amazon S3 dan nama file yang sedang dicadangkan atau dipulihkan. | 
| `overwrite_s3_backup_file` |  Nilai dari parameter `@overwrite_s3_backup_file` yang ditentukan saat memanggil tugas pencadangan. Untuk informasi selengkapnya, lihat [Membuat backup basis data](#SQLServer.Procedural.Importing.Native.Using.Backup).  | 
| KMS\$1master\$1key\$1arn | ARN untuk kunci KMS yang digunakan untuk enkripsi (untuk pencadangan) dan dekripsi (untuk pemulihan). | 
| filepath | Tidak berlaku untuk tugas pencadangan native dan pemulihan native. | 
| overwrite\$1file | Tidak berlaku untuk tugas pencadangan native dan pemulihan native. | 