

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

# Opsi untuk mesin basis data Microsoft SQL Server
<a name="Appendix.SQLServer.Options"></a>

Di bagian ini, Anda dapat menemukan deskripsi untuk opsi yang tersedia untuk instans Amazon RDS yang menjalankan mesin DB Microsoft SQL Server. Untuk mengaktifkan opsi ini, Anda dapat menambahkannya ke grup opsi, lalu mengaitkan grup opsi dengan instans DB Anda. Untuk informasi selengkapnya, lihat [Menggunakan grup opsi](USER_WorkingWithOptionGroups.md). 

Jika Anda mencari fitur opsional yang tidak ditambahkan melalui grup opsi RDS (seperti SSL, Microsoft Windows Authentication, dan integrasi Amazon S3), lihat [Fitur tambahan untuk Microsoft SQL Server di Amazon RDS](User.SQLServer.AdditionalFeatures.md).

Amazon RDS mendukung opsi berikut untuk instans DB Microsoft SQL Server. 


****  

| Opsi | ID Opsi | Edisi mesin | 
| --- | --- | --- | 
|  [Server Tertaut dengan Oracle OLEDB](Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.md)  |  `OLEDB_ORACLE`  |  SQL Server Enterprise Edition SQL Server Standard Edition  | 
|  [Pencadangan dan pemulihan native](Appendix.SQLServer.Options.BackupRestore.md)  |  `SQLSERVER_BACKUP_RESTORE`  |  SQL Server Enterprise Edition SQL Server Standard Edition SQL Server Web Edition SQL Server Express Edition  | 
|  [Enkripsi Data Transparan](Appendix.SQLServer.Options.TDE.md)  |  `TRANSPARENT_DATA_ENCRYPTION` (konsol RDS) `TDE`(AWS CLI dan RDS API)  |  SQL Server 2016—2022 Edisi Perusahaan SQL Server 2022 Standard Edition | 
|  [SQLAudit Server](Appendix.SQLServer.Options.Audit.md)  |  `SQLSERVER_AUDIT`  |  Di RDS, dimulai dengan SQL Server 2016, semua edisi SQL Server mendukung audit tingkat server, dan Enterprise Edition juga mendukung audit tingkat database. Dimulai dengan SQL Server SQL Server 2016 (13.x) SP1, semua edisi mendukung audit tingkat server dan tingkat database. Untuk informasi selengkapnya, lihat [SQL Server Audit (database engine)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-2017) di dokumentasi SQL Server. | 
|  [SQLLayanan Analisis Server](Appendix.SQLServer.Options.SSAS.md)  |  `SSAS`  |  SQL Server Enterprise Edition SQL Server Standard Edition  | 
|  [SQL Server Integration Services](Appendix.SQLServer.Options.SSIS.md)  |  `SSIS`  |  SQL Server Enterprise Edition SQL Server Standard Edition  | 
|  [SQLLayanan Pelaporan Server](Appendix.SQLServer.Options.SSRS.md)  |  `SSRS`  |  SQL Server Enterprise Edition SQL Server Standard Edition  | 
|  [Microsoft Distributed Transaction Coordinator](Appendix.SQLServer.Options.MSDTC.md)  |  `MSDTC`  |  Di RDS, dimulai dengan SQL Server 2016, semua edisi SQL Server mendukung transaksi terdistribusi.  | 
|  [Gubernur sumber daya SQL Server](Appendix.SQLServer.Options.ResourceGovernor.md)  |  `RESOURCE_GOVERNOR`  |  SQL Server Enterprise Edition Edisi Pengembang SQL Server 2022  | 

## Membuat daftar opsi yang tersedia untuk versi dan edisi SQL Server
<a name="Appendix.SQLServer.Options.Describe"></a>

Anda dapat menggunakan `describe-option-group-options` AWS CLI perintah untuk daftar opsi yang tersedia untuk versi dan edisi SQL Server, dan pengaturan untuk opsi tersebut.

Contoh berikut menunjukkan opsi dan pengaturan opsi untuk SQL Server 2019 Enterprise Edition. Opsi `--engine-name` ini diperlukan.

```
aws rds describe-option-group-options --engine-name sqlserver-ee --major-engine-version 15.00
```

Output-nya seperti berikut:

```
{
    "OptionGroupOptions": [
        {
            "Name": "MSDTC",
            "Description": "Microsoft Distributed Transaction Coordinator",
            "EngineName": "sqlserver-ee",
            "MajorEngineVersion": "15.00",
            "MinimumRequiredMinorEngineVersion": "4043.16.v1",
            "PortRequired": true,
            "DefaultPort": 5000,
            "OptionsDependedOn": [],
            "OptionsConflictsWith": [],
            "Persistent": false,
            "Permanent": false,
            "RequiresAutoMinorEngineVersionUpgrade": false,
            "VpcOnly": false,
            "OptionGroupOptionSettings": [
                {
                    "SettingName": "ENABLE_SNA_LU",
                    "SettingDescription": "Enable support for SNA LU protocol",
                    "DefaultValue": "true",
                    "ApplyType": "DYNAMIC",
                    "AllowedValues": "true,false",
                    "IsModifiable": true,
                    "IsRequired": false,
                    "MinimumEngineVersionPerAllowedValue": []
                },
        ...

        {
            "Name": "TDE",
            "Description": "SQL Server - Transparent Data Encryption",
            "EngineName": "sqlserver-ee",
            "MajorEngineVersion": "15.00",
            "MinimumRequiredMinorEngineVersion": "4043.16.v1",
            "PortRequired": false,
            "OptionsDependedOn": [],
            "OptionsConflictsWith": [],
            "Persistent": true,
            "Permanent": false,
            "RequiresAutoMinorEngineVersionUpgrade": false,
            "VpcOnly": false,
            "OptionGroupOptionSettings": []
        }
    ]
}
```

# Dukungan untuk Server Tertaut dengan Oracle OLEDB di Amazon RDS for SQL Server
<a name="Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB"></a>

Server tertaut dengan Oracle Provider for OLEDB di RDS for SQL Server memungkinkan Anda mengakses sumber data eksternal di basis data Oracle. Anda dapat membaca data dari sumber data Oracle jarak jauh dan menjalankan perintah di server basis data Oracle jarak jauh di luar instans DB RDS for SQL Server Anda. Dengan menggunakan server tertaut dengan Oracle OLEDB, Anda dapat:
+ Mengakses langsung sumber data selain SQL Server
+ Mengueri beragam sumber data Oracle dengan kueri yang sama tanpa perlu memindahkan data
+ Mengeluarkan kueri, pembaruan, perintah, dan transaksi terdistribusi pada sumber data di seluruh ekosistem perusahaan
+ Mengintegrasikan koneksi ke basis data Oracle dari dalam Microsoft Business Intelligence Suite (SSIS, SSRS, SSAS)
+ Memigrasi dari basis data Oracle ke RDS for SQL Server

Anda dapat mengaktifkan satu atau beberapa server tertaut untuk Oracle di RDS yang sudah ada atau baru untuk instans DB SQL Server. Kemudian, Anda dapat mengintegrasikan sumber data Oracle eksternal dengan instans DB.

**Contents**
+ [Versi dan Wilayah yang didukung](#LinkedServers_Oracle_OLEDB.VersionRegionSupport)
+ [Batasan dan rekomendasi](#LinkedServers_Oracle_OLEDB.Limitations)
+ [Mengaktifkan server tertaut menggunakan Oracle](#LinkedServers_Oracle_OLEDB.Enabling)
  + [Membuat grup opsi untuk OLEDB\$1ORACLE](#LinkedServers_Oracle_OLEDB.OptionGroup)
  + [Menambahkan opsi `OLEDB_ORACLE` ke grup opsi](#LinkedServers_Oracle_OLEDB.Add)
  + [Memodifikasi opsi `OLEDB_ORACLE` versi ke versi lain](#LinkedServers_Oracle_OLEDB.Modify)
  + [Mengaitkan grup opsi dengan instans DB](#LinkedServers_Oracle_OLEDB.Apply)
+ [Memodifikasi properti penyedia OLEDB](#LinkedServers_Oracle_OLEDB.ModifyProviderProperties)
+ [Memodifikasi properti driver OLEDB](#LinkedServers_Oracle_OLEDB.ModifyDriverProperties)
+ [Menonaktifkan server tertaut menggunakan Oracle](#LinkedServers_Oracle_OLEDB.Disable)

## Versi dan Wilayah yang didukung
<a name="LinkedServers_Oracle_OLEDB.VersionRegionSupport"></a>

RDS for SQL Server mendukung server tertaut dengan Oracle OLEDB di semua Wilayah untuk SQL Server Standard dan Enterprise Editions di versi berikut:
+ SQL Server 2022, semua versi
+ SQL Server 2019, semua versi
+ SQL Server 2017, semua versi

Server tertaut dengan Oracle OLEDB didukung untuk versi Oracle Database berikut:
+ Oracle Database 21c, semua versi
+ Oracle Database 19c, semua versi
+ Oracle Database 18c, semua versi

Server tertaut dengan Oracle OLEDB didukung untuk versi driver OLEDB Oracle berikut:
+ 21.7
+ 21.16

## Batasan dan rekomendasi
<a name="LinkedServers_Oracle_OLEDB.Limitations"></a>

Perlu diingat bahwa batasan dan rekomendasi berikut yang berlaku untuk server tertaut dengan Oracle OLEDB:
+ Mengizinkan lalu lintas jaringan dengan menambahkan port TCP yang berlaku dalam grup keamanan untuk setiap instans DB RDS for SQL Server. Misalnya, jika Anda mengonfigurasi server tertaut antara instans DB EC2 Oracle dan instans DB RDS for SQL Server, Anda harus mengizinkan lalu lintas dari alamat IP instans DB EC2 Oracle. Anda juga harus mengizinkan lalu lintas pada port yang digunakan SQL Server untuk memproses komunikasi basis data. Untuk informasi selengkapnya mengenai Grup Keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).
+ Lakukan boot ulang pada instans DB RDS for SQL Server setelah mengaktifkan, menonaktifkan, atau memodifikasi opsi `OLEDB_ORACLE` di grup opsi Anda. Status grup opsi menampilkan `pending_reboot` untuk peristiwa ini dan diperlukan. Untuk instans RDS untuk SQL Server Multi-AZ dengan AlwaysOn atau opsi Mirroring diaktifkan, failover diharapkan saat instance di-boot ulang setelah pembuatan atau pemulihan instans baru.
+ Hanya autentikasi sederhana yang didukung dengan nama pengguna dan kata sandi untuk sumber data Oracle.
+ Open Database Connectivity (ODBC) tidak didukung. Hanya versi driver OLEDB yang tercantum di atas yang didukung.
+ Transaksi terdistribusi (XA) didukung. Untuk mengaktifkan transaksi terdistribusi, aktifkan opsi `MSDTC` Grup Opsi untuk instans DB Anda dan pastikan transaksi XA diaktifkan. Untuk informasi selengkapnya, lihat [Dukungan untuk Microsoft Distributed Transaction Coordinator di RDS for SQL Server](Appendix.SQLServer.Options.MSDTC.md).
+ Membuat nama sumber data (DSNs) untuk digunakan sebagai pintasan untuk string koneksi tidak didukung.
+ Penelusuran driver OLEDB tidak didukung. Anda dapat menggunakan SQL Server Extended Events untuk melacak peristiwa OLEDB. Untuk informasi lebih lanjut, lihat [Mengatur Peristiwa yang Diperluas di RDS for SQL Server](https://aws.amazon.com/blogs/database/set-up-extended-events-in-amazon-rds-for-sql-server/).
+ Akses ke folder katalog untuk server tertaut Oracle tidak didukung menggunakan SQL Server Management Studio (SSMS).

## Mengaktifkan server tertaut menggunakan Oracle
<a name="LinkedServers_Oracle_OLEDB.Enabling"></a>

Aktifkan server tertaut menggunakan Oracle dengan menambahkan opsi `OLEDB_ORACLE` ke instans DB RDS for SQL Server Anda. Gunakan proses berikut:

1. Buat grup opsi baru, atau pilih grup opsi yang sudah ada.

1. Tambahkan opsi `OLEDB_ORACLE` untuk grup opsi.

1. Pilih versi driver OLEDB yang akan digunakan.

1. Kaitkan grup opsi dengan instans DB.

1. Boot ulang instans DB.

### Membuat grup opsi untuk OLEDB\$1ORACLE
<a name="LinkedServers_Oracle_OLEDB.OptionGroup"></a>

Untuk dapat bekerja dengan server tertaut menggunakan Oracle, buat grup opsi atau ubah grup opsi yang sesuai dengan edisi SQL Server dan versi instans DB yang akan Anda gunakan. Untuk menyelesaikan prosedur ini, gunakan Konsol Manajemen AWS atau AWS CLI.

#### Konsol
<a name="LinkedServers_Oracle_OLEDB.OptionGroup.Console"></a>

Prosedur berikut akan membuat grup opsi untuk SQL Server Standard Edition 2019.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di jendela **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam AWS akun Anda, seperti**oracle-oledb-se-2019**. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung.

   1. Untuk **Deskripsi**, masukkan deskripsi singkat grup opsi, seperti **OLEDB\$1ORACLE option group for SQL Server SE 2019**. Deskripsi digunakan untuk tampilan.

   1. Untuk **Mesin**, pilih **sqlserver-se**.

   1. Untuk **Versi mesin utama**, pilih **15.00**.

1. Pilih **Buat**.

#### CLI
<a name="LinkedServers_Oracle_OLEDB.OptionGroup.CLI"></a>

Prosedur berikut akan membuat grup opsi untuk SQL Server Standard Edition 2019.

**Untuk membuat grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-option-group \
      --option-group-name oracle-oledb-se-2019 \
      --engine-name sqlserver-se \
      --major-engine-version 15.00 \
      --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019"
  ```

  Untuk Windows:

  ```
  aws rds create-option-group ^
      --option-group-name oracle-oledb-se-2019 ^
      --engine-name sqlserver-se ^
      --major-engine-version 15.00 ^
      --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019"
  ```

### Menambahkan opsi `OLEDB_ORACLE` ke grup opsi
<a name="LinkedServers_Oracle_OLEDB.Add"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `OLEDB_ORACLE` opsi ke grup opsi Anda.

#### Konsol
<a name="LinkedServers_Oracle_OLEDB.Add.Console"></a>

**Untuk menambahkan opsi OLEDB\$1ORACLE**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi yang baru saja Anda buat, yaitu **oracle-oledb-se-2019** dalam contoh ini.

1. Pilih **Tambah opsi**.

1. Di bagian **Detail opsi**, pilih **OLEDB\$1ORACLE** untuk **Nama opsi**.

1. Di bawah **Versi**, pilih versi driver OLEDB Oracle yang ingin Anda instal.

1. Di bagian **Penjadwalan**, pilih apakah akan menambahkan opsi langsung atau pada masa pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

#### CLI
<a name="LinkedServers_Oracle_OLEDB.Add.CLI"></a>

**Untuk menambahkan opsi OLEDB\$1ORACLE**
+ Tambahkan opsi `OLEDB_ORACLE` untuk grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name oracle-oledb-se-2019 \
      --options OptionName=OLEDB_ORACLE, OptionVersion=21.16 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name oracle-oledb-se-2019 ^
      --options OptionName=OLEDB_ORACLE, OptionVersion=21.16 ^
      --apply-immediately
  ```

### Memodifikasi opsi `OLEDB_ORACLE` versi ke versi lain
<a name="LinkedServers_Oracle_OLEDB.Modify"></a>

Untuk memodifikasi versi `OLEDB_ORACLE` opsi ke versi lain, gunakan Konsol Manajemen AWS atau AWS CLI.

#### Konsol
<a name="LinkedServers_Oracle_OLEDB.Modify.Console"></a>

**Untuk Memodifikasi opsi OLEDB\$1ORACLE**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan `OLEDB_ORACLE` opsi (**oracle-oledb-se-2019 pada** contoh sebelumnya).

1. Pilih **Opsi ubah**.

1. Di bagian **Detail opsi**, pilih **OLEDB\$1ORACLE** untuk **Nama opsi**.

1. Di bawah **Versi**, pilih versi driver OLEDB Oracle yang ingin Anda gunakan.

1. Di bawah **Penjadwalan**, pilih apakah akan segera mengubah opsi atau di jendela pemeliharaan berikutnya.

1. Pilih **Opsi ubah**.

#### CLI
<a name="LinkedServers_Oracle_OLEDB.Add.CLI"></a>

Untuk memodifikasi versi `OLEDB_ORACLE` opsi, gunakan [https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html)AWS CLI perintah dengan grup opsi dan versi opsi yang ingin Anda gunakan.

**Untuk memodifikasi opsi OLEDB\$1ORACLE**
+   
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name oracle-oledb-se-2019 \
      --options OptionName=OLEDB_ORACLE, OptionVersion=21.7 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name oracle-oledb-se-2019 ^
      --options OptionName=OLEDB_ORACLE, OptionVersion=21.7 ^
      --apply-immediately
  ```

### Mengaitkan grup opsi dengan instans DB
<a name="LinkedServers_Oracle_OLEDB.Apply"></a>

Untuk mengaitkan grup `OLEDB_ORACLE` opsi dan grup parameter dengan instans DB Anda, gunakan Konsol Manajemen AWS atau AWS CLI 

#### Konsol
<a name="LinkedServers_Oracle_OLEDB.Apply.Console"></a>

Agar dapat menyelesaikan pengaktifan server tertaut untuk Oracle, kaitkan grup opsi `OLEDB_ORACLE` Anda dengan instans DB baru atau yang sudah ada:
+ Untuk instans DB baru, kaitkan saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang sudah ada, kaitkan dengan memodifikasi instans. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

#### CLI
<a name="LinkedServers_Oracle_OLEDB.Apply.CLI"></a>

Anda dapat mengaitkan grup opsi `OLEDB_ORACLE` dan grup parameter dengan instans DB baru atau yang sudah ada.

**Untuk membuat instans dengan grup opsi `OLEDB_ORACLE` dan grup parameter**
+ Tentukan tipe mesin DB yang sama dan versi utama yang Anda gunakan saat membuat grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier mytestsqlserveroracleoledbinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 15.0.4236.7.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name oracle-oledb-se-2019 \
      --db-parameter-group-name my-parameter-group-name
  ```

  Untuk Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier mytestsqlserveroracleoledbinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 15.0.4236.7.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name oracle-oledb-se-2019 ^
      --db-parameter-group-name my-parameter-group-name
  ```

**Untuk memodifikasi instans dan mengaitkan grup opsi `OLEDB_ORACLE`**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mytestsqlserveroracleoledbinstance \
      --option-group-name oracle-oledb-se-2019 \
      --db-parameter-group-name my-parameter-group-name \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mytestsqlserveroracleoledbinstance ^
      --option-group-name oracle-oledb-se-2019 ^
      --db-parameter-group-name my-parameter-group-name ^
      --apply-immediately
  ```

## Memodifikasi properti penyedia OLEDB
<a name="LinkedServers_Oracle_OLEDB.ModifyProviderProperties"></a>

Anda dapat melihat dan mengubah properti penyedia OLEDB. Hanya pengguna `master` yang dapat melakukan tugas ini. Semua server tertaut untuk Oracle yang dibuat di instans DB menggunakan properti yang sama dari penyedia OLEDB tersebut. Panggil prosedur tersimpan `sp_MSset_oledb_prop` untuk mengubah properti penyedia OLEDB.

Untuk mengubah properti penyedia OLEDB

```
				
USE [master]
GO
EXEC sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1 
EXEC sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'DynamicParameters', 0
GO
```

Properti berikut dapat dimodifikasi:


****  

| Nama properti | Nilai yang Direkomendasikan (1 = Aktif, 0 = Mati) | Deskripsi | 
| --- | --- | --- | 
| `Dynamic parameter` | 1 | Mengizinkan placeholder SQL (diwakili oleh '?') dalam kueri parameter. | 
| `Nested queries` | 1 | Mengizinkan pernyataan `SELECT` bertingkat dalam klausa `FROM`, seperti subkueri. | 
| `Level zero only` | 0 | Hanya antarmuka OLEDB tingkat dasar yang dipanggil untuk penyedia. | 
| `Allow inprocess` | 1 | Jika diaktifkan, Microsoft SQL Server memungkinkan penyedia untuk dipakai sebagai server dalam proses. Atur properti ini ke 1 untuk menggunakan server tertaut Oracle. | 
| `Non transacted updates` | 0 | Jika bukan nol, SQL Server memungkinkan pembaruan. | 
| `Index as access path` | Salah | Jika bukan nol, SQL Server mencoba menggunakan indeks penyedia untuk mengambil data. | 
| `Disallow adhoc access` | Salah | Jika diatur, SQL Server tidak mengizinkan menjalankan kueri pass-through terhadap penyedia OLEDB. Meskipun opsi ini dapat dicentang, terkadang ini merupakan pilihan tepat untuk menjalankan kueri pass-through. | 
| `Supports LIKE operator` | 1 | Menunjukkan bahwa penyedia mendukung kueri menggunakan kata kunci LIKE. | 

## Memodifikasi properti driver OLEDB
<a name="LinkedServers_Oracle_OLEDB.ModifyDriverProperties"></a>

Anda dapat melihat dan mengubah properti driver OLEDB saat membuat server tertaut untuk Oracle. Hanya pengguna `master` yang dapat melakukan tugas ini. Properti driver menentukan cara driver OLEDB menangani data saat menggunakan sumber data Oracle jarak jauh. Properti driver khusus untuk setiap server tertaut Oracle yang dibuat di instans DB. Panggil prosedur tersimpan `master.dbo.sp_addlinkedserver` untuk mengubah properti driver OLEDB.

Contoh: Untuk membuat server tertaut dan mengubah properti driver `FetchSize` OLEDB

```
	
EXEC master.dbo.sp_addlinkedserver
@server = N'Oracle_link2',
@srvproduct=N'Oracle',
@provider=N'OraOLEDB.Oracle',
@datasrc=N'my-oracle-test.cnetsipka.us-west-2.rds.amazonaws.com:1521/ORCL',
@provstr='FetchSize=200'
GO
```

```
	
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'Oracle_link2',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'master',
@rmtpassword='Test#1234'
GO
```

**catatan**  
Tetapkan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

## Menonaktifkan server tertaut menggunakan Oracle
<a name="LinkedServers_Oracle_OLEDB.Disable"></a>

Untuk menonaktifkan server tertaut menggunakan Oracle, hapus opsi `OLEDB_ORACLE` dari grup opsi.

**penting**  
Menghapus opsi tidak akan menghapus konfigurasi server tertaut yang sudah ada di instans DB. Anda harus melepaskannya secara manual untuk dapat menghapusnya dari instans DB.  
Anda dapat mengaktifkan kembali opsi `OLEDB_ORACLE` setelah dihapus agar bisa menggunakan kembali konfigurasi server tertaut yang sebelumnya dikonfigurasi di instans DB.

### Konsol
<a name="LinkedServers_Oracle_OLEDB.Disable.Console"></a>

Prosedur berikut akan menghapus opsi `OLEDB_ORACLE`.

**Untuk menghapus opsi OLEDB\$1ORACLE dari grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `OLEDB_ORACLE` (`oracle-oledb-se-2019` dalam contoh sebelumnya).

1. Pilih **Hapus opsi**.

1. Di bagian **Opsi penghapusan**, pilih **OLEDB\$1ORACLE** untuk **Opsi yang akan dihapus**.

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya selama masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

### CLI
<a name="LinkedServers_Oracle_OLEDB.Disable.CLI"></a>

Prosedur berikut akan menghapus opsi `OLEDB_ORACLE`.

**Untuk menghapus opsi OLEDB\$1ORACLE dari grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name oracle-oledb-se-2019 \
      --options OLEDB_ORACLE \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name oracle-oledb-se-2019 ^
      --options OLEDB_ORACLE ^
      --apply-immediately
  ```

# Server Tertaut dengan Teradata ODBC di RDS untuk SQL Server
<a name="USER_SQLServerTeradata"></a>

Support untuk server tertaut dengan driver Teradata ODBC pada RDS untuk SQL Server memungkinkan Anda mengakses sumber data eksternal pada database Teradata. Anda dapat membaca data dan menjalankan perintah dari server database Teradata jarak jauh di luar contoh RDS untuk SQL Server Anda. Gunakan server tertaut dengan Teradata ODBC untuk mengaktifkan kemampuan berikut:
+ Akses langsung sumber data selain SQL Server.
+ Kueri terhadap beragam sumber data Teradata dengan kueri yang sama tanpa memindahkan data.
+ Mengeluarkan kueri, pembaruan, perintah, dan transaksi terdistribusi pada sumber data di seluruh ekosistem perusahaan.
+ Integrasikan koneksi ke database Teradata dari dalam Microsoft Business Intelligence Suite (SSIS, SSRS, SSAS).
+ Bermigrasi dari database Teradata ke RDS untuk SQL Server.

Anda dapat memilih untuk mengaktifkan satu atau lebih server tertaut untuk Teradata baik pada RDS yang sudah ada atau baru untuk instans SQL Server DB. Anda kemudian dapat mengintegrasikan sumber data Teradata eksternal dengan instans DB Anda.

**Topics**
+ [Versi dan Wilayah yang didukung](#USER_SQLServerTeradata.VersionRegionSupport)
+ [Batasan dan rekomendasi](#USER_SQLServerTeradata.LimitsandRecommendations)
+ [Pertimbangan untuk penyebaran Multi-AZ](#USER_SQLServerTeradata.MultiAZ)
+ [Mengaktifkan server tertaut dengan Teradata](USER_SQLServerTeradata.Activate.md)
+ [Membuat server tertaut dengan Teradata](USER_SQLServerTeradata.CreateLinkedServers.md)
+ [Menonaktifkan server yang ditautkan ke Teradata](USER_SQLServerTeradata.Deactivate.md)

## Versi dan Wilayah yang didukung
<a name="USER_SQLServerTeradata.VersionRegionSupport"></a>

RDS untuk SQL Server mendukung server tertaut dengan Teradata ODBC secara keseluruhan Wilayah AWS untuk SQL Server Standard dan Enterprise Edition untuk versi berikut:
+ SQL Server 2022, semua versi
+ SQL Server 2019, semua versi
+ SQL Server 2017, semua versi

Versi database Teradata berikut mendukung penautan dengan RDS untuk SQL Server
+ Teradata 17.20, semua versi

## Batasan dan rekomendasi
<a name="USER_SQLServerTeradata.LimitsandRecommendations"></a>

Batasan berikut berlaku untuk server tertaut dengan Teradata ODBC:
+ RDS untuk SQL Server hanya mendukung otentikasi sederhana dengan nama pengguna dan kata sandi untuk sumber Teradata.
+ RDS untuk SQL Server hanya mendukung driver Teradata ODBC versi 17.20.0.33.
+ RDS untuk SQL Server tidak mendukung pembuatan nama sumber data (DSNs) untuk digunakan sebagai pintasan untuk string koneksi.
+ RDS untuk SQL Server tidak mendukung penelusuran driver ODBC. Gunakan SQL Server Extended Events untuk melacak peristiwa ODBC. Untuk informasi lebih lanjut, lihat [Mengatur Peristiwa yang Diperluas di RDS for SQL Server](https://aws.amazon.com/blogs/database/set-up-extended-events-in-amazon-rds-for-sql-server/).
+ RDS untuk SQL Server tidak mendukung akses ke folder katalog untuk server tertaut Teradata saat menggunakan SQL Server Management Studio (SSMS).

Pertimbangkan rekomendasi berikut saat menggunakan server tertaut dengan Teradata ODBC:
+ Mengizinkan lalu lintas jaringan dengan menambahkan port TCP yang berlaku dalam grup keamanan untuk setiap instans DB RDS for SQL Server. Jika Anda mengonfigurasi server tertaut antara instans EC2 Teradata DB dan RDS untuk instans SQL Server DB, maka Anda harus mengizinkan lalu lintas dari alamat IP instans Teradata DB. EC2 Anda juga harus mengizinkan lalu lintas pada port yang digunakan RDS untuk SQL Server DB instance untuk mendengarkan komunikasi database. Untuk informasi selengkapnya mengenai Grup Keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).
+ Transaksi terdistribusi (XA) didukung. Untuk mengaktifkan transaksi terdistribusi, aktifkan `MSDTC` opsi di grup opsi untuk instans DB Anda dan pastikan transaksi XA diaktifkan. Untuk informasi selengkapnya, lihat [Dukungan untuk Microsoft Distributed Transaction Coordinator di RDS for SQL Server](Appendix.SQLServer.Options.MSDTC.md).
+ Teradata ODBC yang ditautkan mendukung SSL/TLS selama dikonfigurasi di Server Teradata. Untuk informasi selengkapnya, lihat [Mengaktifkan Konektivitas TLS di Teradata](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Call-Level-Interface-Version-2-Reference-for-Workstation-Attached-Systems-20.00/Mainframe-TLS-Connectivity-Supplement/Enable-TLS-Connectivity-on-Teradata-Vantage) Vantage.

## Pertimbangan untuk penyebaran Multi-AZ
<a name="USER_SQLServerTeradata.MultiAZ"></a>

RDS untuk SQL Server saat ini tidak mereplikasi server tertaut ke server database cermin (atau server sekunder grup ketersediaan Selalu Aktif) dalam penyebaran Multi-AZ. Jika server tertaut ditambahkan sebelum konfigurasi diubah untuk menambahkan mirroring atau Always-On, maka server tertaut disalin untuk server tertaut yang ada.

Atau, Anda dapat membuat server tertaut pada instance utama, gagal ke instance server ketersediaan tinggi dan kemudian membuat server tertaut lagi sehingga mereka berada di kedua RDS untuk instance SQL Server. 

# Mengaktifkan server tertaut dengan Teradata
<a name="USER_SQLServerTeradata.Activate"></a>

Aktifkan server tertaut dengan Teradata dengan menambahkan `ODBC_TERADATA` opsi ke RDS Anda untuk instans SQL Server DB. Gunakan proses berikut:

**Topics**
+ [Membuat grup opsi untuk `ODBC_TERADATA`](#USER_SQLServerTeradata.Activate.CreateOG)
+ [Menambahkan opsi `ODBC_TERADATA` ke grup opsi](#USER_SQLServerTeradata.Activate.AddOG)
+ [Mengaitkan `ODBC_TERADATA` opsi dengan instans DB Anda](#USER_SQLServerTeradata.Activate.AssociateOG)

## Membuat grup opsi untuk `ODBC_TERADATA`
<a name="USER_SQLServerTeradata.Activate.CreateOG"></a>

Untuk bekerja dengan server tertaut dengan Teradata, buat grup opsi atau modifikasi grup opsi yang sesuai dengan edisi SQL Server dan versi instans DB yang Anda rencanakan untuk digunakan. Untuk menyelesaikan prosedur ini, gunakan Konsol Manajemen AWS atau AWS CLI.

### Konsol
<a name="USER_SQLServerTeradata.Activate.CreateOG.Console"></a>

Gunakan prosedur berikut untuk membuat grup opsi untuk SQL Server Standard Edition 2019.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di jendela **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam Anda Akun AWS, seperti`teradata-odbc-se-2019`. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung. 

   1. Untuk **Deskripsi**, masukkan deskripsi singkat tentang grup opsi.

   1. Untuk **Mesin**, pilih **sqlserver-se**.

   1. Untuk **Versi mesin utama**, pilih **15.00**.

1. Pilih **Buat**.

### AWS CLI
<a name="USER_SQLServerTeradata.Activate.CreateOG.CLI"></a>

Prosedur berikut akan membuat grup opsi untuk SQL Server Standard Edition 2019.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws rds create-option-group \
    --option-group-name teradata-odbc-se-2019 \
    --engine-name sqlserver-se \
    --major-engine-version 15.00 \
    --option-group-description "ODBC_TERADATA option group for SQL Server SE 2019"
```

**Example**  
Untuk Windows:  

```
aws rds create-option-group ^
    --option-group-name teradata-odbc-se-2019 ^
    --engine-name sqlserver-se ^
    --major-engine-version 15.00 ^
    --option-group-description "ODBC_TERADATA option group for SQL Server SE 2019"
```

## Menambahkan opsi `ODBC_TERADATA` ke grup opsi
<a name="USER_SQLServerTeradata.Activate.AddOG"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `ODBC_Teradata` opsi ke grup opsi Anda.

### Konsol
<a name="USER_SQLServerTeradata.Activate.AddOG.Console"></a>

Gunakan prosedur berikut membuat grup opsi untuk SQL Server Standard Edition 2019.

**Untuk menambahkan `ODBC_TERADATA` opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi baru Anda.

1. Pilih **Tambah opsi**.

1. Di bawah **Rincian Opsi**:

   1. **Pilih **ODBC\$1TERADATA** untuk nama Option.**

   1. Untuk `17.20.33.00` untuk **versi Opsi**.

1. Di bawah penjadwalan, pilih apakah akan segera menambahkan opsi atau di jendela pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

### AWS CLI
<a name="USER_SQLServerTeradata.Activate.AddOG.CLI"></a>

Prosedur berikut menambahkan `ODBC_TERADATA` opsi ke grup opsi Anda.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws rds add-option-to-option-group \
    --option-group-name teradata-odbc-se-2019 \
    --options "OptionName=ODBC_TERADATA,OptionVersion=17.20.33.00" \
    --apply-immediately
```

**Example**  
Untuk Windows:  

```
aws rds add-option-to-option-group ^
    --option-group-name teradata-odbc-se-2019 ^
    --options "OptionName=ODBC_TERADATA,OptionVersion=17.20.33.00" ^
    --apply-immediately
```

## Mengaitkan `ODBC_TERADATA` opsi dengan instans DB Anda
<a name="USER_SQLServerTeradata.Activate.AssociateOG"></a>

Untuk mengaitkan grup `ODBC_TERADATA` opsi dengan instans DB Anda, gunakan Konsol Manajemen AWS or AWS CLI.

### Konsol
<a name="USER_SQLServerTeradata.Activate.AssociateOG.Console"></a>

Untuk menyelesaikan pengaktifan server tertaut untuk Teradata, kaitkan grup opsi Anda dengan instans DB baru atau yang sudah ada:
+ Untuk instans DB baru, kaitkan saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang sudah ada, kaitkan dengan mengubah instans. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

### AWS CLI
<a name="USER_SQLServerTeradata.Activate.AssociateOG.CLI"></a>

Tentukan tipe mesin DB yang sama dan versi utama yang Anda gunakan saat membuat grup opsi.

Untuk Linux, macOS, atau Unix:

```
aws rds create-db-instance \
    --db-instance-identifier mytestsqlserverteradataodbcinstance \
    --db-instance-class db.m5.2xlarge \
    --engine sqlserver-se \
    --engine-version 15.00 \
    --license-model license-included \
    --allocated-storage 100 \
    --master-username admin \
    --master-user-password password \
    --storage-type gp2 \
    --option-group-name teradata-odbc-se-2019
```

Untuk Windows:

```
aws rds create-db-instance ^
    --db-instance-identifier mytestsqlserverteradataodbcinstance ^
    --db-instance-class db.m5.2xlarge ^
    --engine sqlserver-se ^
    --engine-version 15.00 ^
    --license-model license-included ^ 
    --allocated-storage 100 ^
    --master-username admin ^
    --master-user-password password ^
    --storage-type gp2 ^
    --option-group-name teradata-odbc-se-2019
```

Untuk memodifikasi instance dan mengaitkan grup opsi baru:

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-instance \
    --db-instance-identifier mytestsqlserverteradataodbcinstance \
    --option-group-name teradata-odbc-se-2019 \
    --apply-immediately
```

Untuk Windows:

```
aws rds modify-db-instance ^
    --db-instance-identifier mytestsqlserverteradataodbcinstance ^
    --option-group-name teradata-odbc-se-2019 ^
    --apply-immediately
```

# Membuat server tertaut dengan Teradata
<a name="USER_SQLServerTeradata.CreateLinkedServers"></a>

Untuk membuat server tertaut dengan Teradata, jalankan perintah berikut:

```
EXECUTE master.dbo.sp_addlinkedserver 
    @server = N'LinkedServer_NAME', 
    @srvproduct=N'', 
    @provider=N'MSDASQL', 
    @provstr=N'"PROVIDER=MSDASQL;DRIVER={Teradata Database ODBC Driver 17.20};
                DBCName=Server;UID=user_name;PWD=user_password;
                UseDataEncryption=YES/NO;SSLMODE=PREFER/ALLOW/DISABLE>;"', 
    @catalog='database'
```

```
EXECUTE master.dbo.sp_addlinkedsrvlogin 
    @rmtsrvname = N'LinkedServer_NAME', 
    @locallogin = NULL , 
    @useself = N'False', 
    @rmtuser = N'user_name', 
    @rmtpassword = N'user_password'
```

Contoh perintah di atas ditunjukkan di sini:

```
EXECUTE master.dbo.sp_addlinkedserver 
    @server = N'LinkedServerToTeradata', 
    @srvproduct=N'', 
    @provider=N'MSDASQL', 
    @provstr=N'"PROVIDER=MSDASQL;DRIVER={Teradata Database ODBC Driver 17.20};
                DBCName=my-teradata-test.cnetsipka.us-west-2.rds.amazonaws.com;
                UID=master;
                PWD=Test#1234;
                UseDataEncryption=YES;
                SSLMODE=PREFER;"', 
    @catalog='MyTestTeradataDB'

EXECUTE master.dbo.sp_addlinkedsrvlogin 
    @rmtsrvname = N'LinkedServerToTeradata', 
    @locallogin = NULL , 
    @useself = N'False', 
    @rmtuser = N'master', 
    @rmtpassword = N'Test#1234'
```

**catatan**  
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.

# Menonaktifkan server yang ditautkan ke Teradata
<a name="USER_SQLServerTeradata.Deactivate"></a>

Untuk menonaktifkan server tertaut ke Teradata, hapus `ODBC_TERADATA` opsi dari grup opsinya.

**penting**  
Menghapus opsi tidak menghapus konfigurasi server tertaut pada instans DB. Anda harus melepaskannya secara manual untuk dapat menghapusnya dari instans DB.  
Anda dapat mengaktifkan kembali `ODBC_TERADATA` setelah penghapusan untuk menggunakan kembali konfigurasi server tertaut yang sebelumnya dikonfigurasi pada instans DB.

## Konsol
<a name="USER_SQLServerTeradata.Deactivate.Console"></a>

Untuk menghapus `ODBC_TERADATA` opsi dari grup opsi

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan `ODBC_TERADATA` opsi. 

1. Pilih **Hapus**.

1. Di bawah **Opsi penghapusan**, pilih `ODBC_TERADATA` di bawah **Opsi untuk** dihapus.

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya selama masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

## AWS CLI
<a name="USER_SQLServerTeradata.Deactivate.CLI"></a>

Perintah berikut menghapus `ODBC_TERADATA` opsi.

Untuk Linux, macOS, atau Unix:

```
aws rds remove-option-from-option-group \
    --option-group-name teradata-odbc-se-2019 \
    --options ODBC_TERADATA \
    --apply-immediately
```

Untuk Windows:

```
aws rds remove-option-from-option-group ^
    --option-group-name teradata-odbc-se-2019 ^
    --options ODBC_TERADATA ^
    --apply-immediately
```

# Dukungan untuk pencadangan dan pemulihan native di SQL Server
<a name="Appendix.SQLServer.Options.BackupRestore"></a>

Dengan menggunakan pencadangan dan pemulihan native untuk basis data SQL Server, Anda dapat membuat cadangan diferensial atau penuh dari basis data on-premise dan menyimpan file cadangan di Amazon S3. Kemudian Anda dapat memulihkan ke instans DB Amazon RDS yang sudah ada dan menjalankan SQL Server. Anda juga dapat mencadangkan basis data RDS for SQL Server, menyimpannya di Amazon S3, dan memulihkannya di lokasi lain. Selain itu, Anda juga dapat memulihkan cadangan ke server on-premise, atau instans DB Amazon RDS lain yang menjalankan SQL Server. Untuk informasi lebih lanjut, lihat [Mengimpor dan mengekspor basis data SQL Server menggunakan pencadangan dan pemulihan native](SQLServer.Procedural.Importing.md).

Amazon RDS mendukung pencadangan dan pemulihan native untuk basis data Microsoft SQL Server menggunakan file cadangan diferensial dan penuh (file .bak).

## Menambahkan opsi pencadangan dan pemulihan native
<a name="Appendix.SQLServer.Options.BackupRestore.Add"></a>

Proses umum untuk menambahkan opsi pencadangan dan pemulihan native ke instans DB adalah sebagai berikut:

1. Buat grup opsi baru, atau salin atau ubah grup opsi yang sudah ada.

1. Tambahkan opsi `SQLSERVER_BACKUP_RESTORE` untuk grup opsi.

1. Mengaitkan peran AWS Identity and Access Management (IAM) dengan opsi. Peran IAM harus memiliki akses ke bucket S3 agar dapat menyimpan cadangan basis data.

   Artinya, opsi tersebut harus memiliki pengaturan Amazon Resource Name (ARN) yang valid dalam format `arn:aws:iam::account-id:role/role-name`. Untuk informasi selengkapnya, lihat [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam) di *Referensi Umum AWS.*

   Peran IAM juga harus memiliki hubungan kepercayaan dan kebijakan izin yang diberikan. Hubungan kepercayaan memungkinkan RDS untuk mengambil peran, dan kebijakan izin menentukan tindakan yang dapat dilakukan peran tersebut. Untuk informasi selengkapnya, lihat [Membuat peran IAM secara manual untuk pencadangan dan pemulihan native](SQLServer.Procedural.Importing.Native.Enabling.md#SQLServer.Procedural.Importing.Native.Enabling.IAM).

1. Kaitkan grup opsi dengan instans DB.

Setelah menambahkan opsi pencadangan dan pemulihan native, Anda tidak perlu memulai ulang instans DB. Begitu grup opsi aktif, Anda dapat langsung mulai mencadangkan dan memulihkan.

### Konsol
<a name="Add.Native.Backup.Restore.Console"></a>

**Untuk menambah opsi pencadangan dan pemulihan native**

1. Masuk ke Konsol Manajemen AWS lalu buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Buat grup opsi baru atau menggunakan grup opsi yang sudah ada. Untuk informasi cara membuat grup opsi DB kustom, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

   Untuk menggunakan grup opsi yang sudah ada, lanjutkan ke langkah berikutnya.

1. Tambahkan opsi **SQLSERVER\$1BACKUP\$1RESTORE** ke grup opsi. Untuk informasi cara menambahkan aturan selengkapnya, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Lakukan salah satu dari cara berikut:
   + Untuk menggunakan peran IAM dan pengaturan Amazon S3 yang sudah ada, pilih peran IAM yang sudah ada untuk **Peran IAM**. Jika Anda menggunakan peran IAM yang sudah ada, RDS akan menggunakan pengaturan Amazon S3 yang dikonfigurasi untuk peran ini.
   + Untuk membuat peran baru dan mengonfigurasi pengaturan Amazon S3, lakukan hal berikut: 

     1. Untuk **Peran IAM**, pilih **Buat Peran Baru**.

     1. Untuk **Bucket S3**, pilih bucket S3 dari daftar.

     1. Untuk **awalan S3 (opsional)**, tentukan awalan yang akan digunakan untuk file yang disimpan di bucket Amazon S3. 

        Awalan ini dapat menyertakan jalur file, tetapi tidak harus. Jika Anda memberikan awalan, RDS akan menambahkan awalan tersebut ke semua file cadangan. Kemudian RDS akan menggunakan awalan selama pemulihan untuk mengidentifikasi file terkait dan mengabaikan file yang tidak relevan. Misalnya, Anda mungkin menggunakan bucket S3 untuk tujuan selain dari menyimpan file cadangan. Dalam kasus ini, Anda dapat menggunakan awalan agar RDS melakukan pencadangan dan pemulihan native hanya pada folder tertentu beserta subfoldernya.

        Jika Anda membiarkan awalan kosong, RDS tidak akan menggunakan awalan untuk mengidentifikasi file cadangan atau file yang akan dipulihkan. Akibatnya, selama pemulihan banyak file, RDS akan mencoba memulihkan setiap file di setiap folder bucket S3.

     1. Pilih kotak centang **Aktifkan enkripsi** untuk mengenkripsi file cadangan. Biarkan kotak centang dihapus (default) agar file cadangan tidak terenkripsi.

        Jika Anda memilih **Aktifkan enkripsi**, pilih kunci enkripsi untuk **AWS KMS key**. Untuk informasi kunci enkripsi selengkapnya, lihat [Memulai](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) di *Panduan Developer.AWS Key Management Service*

1. Pilih **Tambah opsi**.

1. Terapkan grup opsi ke instans DB baru atau yang sudah ada:
   + Untuk instans DB baru, terapkan grup opsi saat Anda meluncurkan instans. Untuk informasi lebih lanjut, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md). 
   + Untuk instans DB yang sudah ada, terapkan grup opsi dengan memodifikasi instans dan menambahkan grup opsi baru. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

### CLI
<a name="Add.Native.Backup.Restore.CLI"></a>

Prosedur ini akan membuat asumsi berikut:
+ Anda menambahkan opsi SQLSERVER\$1BACKUP\$1RESTORE ke grup opsi yang sudah ada. Untuk informasi cara menambahkan aturan selengkapnya, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).
+ Anda mengaitkan opsi dengan peran IAM yang sudah ada dan memiliki akses ke bucket S3 untuk menyimpan cadangan.
+ Anda menerapkan grup opsi ke instans DB yang sudah ada. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

**Untuk menambah opsi pencadangan dan pemulihan native**

1. Tambahkan opsi `SQLSERVER_BACKUP_RESTORE` ke grup opsi.  
**Example**  

   Untuk Linux, macOS, atau Unix:

   ```
   aws rds add-option-to-option-group \
   	--apply-immediately \
   	--option-group-name mybackupgroup \
   	--options "OptionName=SQLSERVER_BACKUP_RESTORE, \
   	  OptionSettings=[{Name=IAM_ROLE_ARN,Value=arn:aws:iam::account-id:role/role-name}]"
   ```

   Untuk Windows:

   ```
   aws rds add-option-to-option-group ^
   	--option-group-name mybackupgroup ^
   	--options "[{\"OptionName\": \"SQLSERVER_BACKUP_RESTORE\", ^
   	\"OptionSettings\": [{\"Name\": \"IAM_ROLE_ARN\", ^
   	\"Value\": \"arn:aws:iam::account-id:role/role-name"}]}]" ^
   	--apply-immediately
   ```
**catatan**  
Saat menggunakan command prompt Windows, Anda harus meng-escape tanda kutip ganda (") dalam kode JSON dengan memberikan garis miring terbalik (\$1) di depannya.

1. Terapkan grup opsi ke instans DB.  
**Example**  

   Untuk Linux, macOS, atau Unix:

   ```
   aws rds modify-db-instance \
   	--db-instance-identifier mydbinstance \
   	--option-group-name mybackupgroup \
   	--apply-immediately
   ```

   Untuk Windows:

   ```
   aws rds modify-db-instance ^
   	--db-instance-identifier mydbinstance ^
   	--option-group-name mybackupgroup ^
   	--apply-immediately
   ```

## Mengubah pengaturan opsi pencadangan dan pemulihan native
<a name="Appendix.SQLServer.Options.BackupRestore.ModifySettings"></a>

Setelah mengaktifkan opsi pencadangan dan pemulihan native, Anda dapat mengubah pengaturan untuk opsi tersebut. Untuk informasi cara mengubah pengaturan opsi selengkapnya, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption).

## Menghapus opsi pencadangan dan pemulihan native
<a name="Appendix.SQLServer.Options.BackupRestore.Remove"></a>

Anda dapat menonaktifkan pencadangan dan pemulihan native dengan menghapus opsi dari instans DB Anda. Setelah menghapus opsi pencadangan dan pemulihan native, Anda tidak perlu memulai ulang instans DB. 

Untuk menghapus opsi pencadangan dan pemulihan native dari instans DB, lakukan salah satu langkah berikut: 
+ Hapus opsi dari grup opsi miliknya. Perubahan ini akan memengaruhi semua instans DB yang menggunakan grup opsi. Untuk informasi lebih lanjut, lihat [Menghapus opsi dari grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption). 
+ Ubah instans DB lalu tentukan grup opsi lain yang tidak menyertakan opsi pencadangan dan pemulihan native. Perubahan ini akan memengaruhi satu instans DB. Anda dapat menentukan grup opsi default (kosong) atau grup opsi kustom lain. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

# Dukungan untuk Enkripsi Data Transparan di SQL Server
<a name="Appendix.SQLServer.Options.TDE"></a>

Amazon RDS mendukung penggunaan Enkripsi Data Transparan (TDE) untuk mengenkripsi data tersimpan di instans DB Anda yang menjalankan Microsoft SQL Server. TDE mengenkripsi data secara otomatis sebelum ditulis ke penyimpanan, dan mendekripsi data secara otomatis saat data dibaca dari penyimpanan. 

Amazon RDS mendukung TDE untuk versi dan edisi SQL Server berikut:
+ SQL Server 2022 Standard dan Enterprise Edition
+ SQL Server 2019 Standard dan Enterprise Edition
+ SQL Server 2017 Enterprise Edition
+ SQL Server 2016 Enterprise Edition

**catatan**  
RDS untuk SQL Server tidak mendukung TDE untuk database read-only.

Enkripsi Data Transparan untuk SQL Server menyediakan manajemen kunci enkripsi dengan menggunakan arsitektur kunci dua tingkat. Sertifikat, yang dihasilkan dari kunci utama basis data, digunakan untuk melindungi kunci enkripsi data. Kunci enkripsi basis data melakukan enkripsi dan dekripsi data yang sebenarnya pada basis data pengguna. Amazon RDS mencadangkan dan mengelola kunci utama basis data dan sertifikat TDE.

Enkripsi Data transparan digunakan dalam skenario ketika Anda perlu mengenkripsi data sensitif. Misalnya, saat Anda harus memberikan file dan cadangan data kepada pihak ketiga, atau mengatasi masalah kepatuhan peraturan terkait keamanan. Anda tidak dapat mengenkripsi basis data sistem untuk SQL Server, seperti basis data `model` atau `master`.

Pembahasan mendetail tentang Enkripsi Data Transparan berada di luar cakupan panduan ini, tetapi pastikan bahwa Anda memahami kekuatan dan kelemahan keamanan dari setiap algoritma dan kunci enkripsi. Untuk informasi tentang Enkripsi Data Transparan untuk SQL Server, lihat [Transparent Data Encryption (TDE)](http://msdn.microsoft.com/en-us/library/bb934049.aspx) di dokumentasi Microsoft.

**Topics**
+ [Mengaktifkan TDE untuk RDS for SQL Server](#TDE.Enabling)
+ [Mengenkripsi data untuk Server RDS SQL](TDE.Encrypting.md)
+ [Mencadangkan dan memulihkan sertifikat TDE pada RDS for SQL Server](TDE.BackupRestoreRDS.md)
+ [Mencadangkan dan memulihkan sertifikat TDE untuk basis data on-premise](TDE.BackupRestoreOnPrem.md)
+ [Menonaktifkan TDE untuk RDS for SQL Server](TDE.Disabling.md)

## Mengaktifkan TDE untuk RDS for SQL Server
<a name="TDE.Enabling"></a>

Untuk mengaktifkan Enkripsi Data Transparan untuk instans DB RDS for SQL Server, tentukan opsi TDE dalam grup opsi RDS yang dikaitkan dengan instans DB tersebut:

1. Tentukan apakah instans DB Anda sudah dikaitkan dengan grup opsi yang memiliki opsi TDE. Untuk melihat grup opsi yang terkait dengan instans DB, gunakan konsol RDS, [describe-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI perintah, atau [Deskripsikan DBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) operasi API.

1.  Jika instans DB tidak dikaitkan dengan grup opsi yang TDE-nya diaktifkan, Anda memiliki dua pilihan. Anda dapat membuat grup opsi dan menambahkan opsi TDE, atau menyesuaikan grup opsi yang sudah dikaitkan untuk menambahkannya.
**catatan**  
Dalam konsol RDS, opsi ini bernama `TRANSPARENT_DATA_ENCRYPTION`. Di API AWS CLI dan RDS, `TDE` dinamai.

   Untuk informasi tentang membuat atau menyesuaikan grup opsi, lihat [Menggunakan grup opsi](USER_WorkingWithOptionGroups.md). Untuk informasi tentang menambahkan opsi ke grup opsi, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1.  Kaitkan instans DB dengan grup opsi yang memiliki opsi TDE. Untuk informasi tentang mengaitkan instans DB dengan grup opsi, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

### Pertimbangan grup opsi
<a name="TDE.Options"></a>

Opsi TDE adalah opsi yang persisten. Anda tidak dapat menghapusnya dari grup opsi kecuali semua instans DB dan cadangan tidak lagi terkait dengan grup opsi. Setelah Anda menambahkan opsi TDE ke grup opsi, grup opsi hanya dapat dikaitkan dengan instans DB yang menggunakan TDE. Untuk informasi selengkapnya tentang opsi yang persisten dalam grup opsi, lihat [Gambaran umum grup opsi](USER_WorkingWithOptionGroups.md#Overview.OptionGroups). 

Karena opsi TDE adalah opsi yang persisten, Anda dapat mengalami konflik antara grup opsi dan instans DB yang terkait. Anda dapat mengalami konflik dalam situasi berikut:
+ Grup opsi saat ini memiliki opsi TDE, dan Anda menggantinya dengan grup opsi yang tidak memiliki opsi TDE.
+ Anda memulihkan dari snapshot DB ke instans DB baru yang tidak memiliki grup opsi yang berisi opsi TDE. Untuk informasi selengkapnya tentang skenario ini, lihat [Pertimbangan untuk grup opsi](USER_CopySnapshot.md#USER_CopySnapshot.Options). 

### Pertimbangan performa SQL Server
<a name="TDE.Perf"></a>

Penggunaan Enkripsi Data Transparan dapat memengaruhi performa instans DB SQL Server.

Performa basis data yang tidak terenkripsi juga dapat terdegradasi jika basis data tersebut berada di instans DB yang memiliki setidaknya satu basis data terenkripsi. Oleh karena itu, sebaiknya Anda menyimpan basis data terenkripsi dan tidak terenkripsi di instans DB terpisah.

# Mengenkripsi data untuk Server RDS SQL
<a name="TDE.Encrypting"></a>

Ketika TDE opsi ditambahkan ke grup opsi, Amazon RDS menghasilkan sertifikat yang digunakan dalam proses enkripsi. Anda kemudian dapat menggunakan sertifikat untuk menjalankan SQL pernyataan yang mengenkripsi data dalam database pada instans DB.

Contoh berikut menggunakan sertifikat RDS -created yang dipanggil `RDSTDECertificateName` untuk mengenkripsi database yang disebut. `myDatabase`

```
 1. ---------- Turning on TDE -------------
 2. 
 3. -- Find an RDS TDE certificate to use
 4. USE [master]
 5. GO
 6. SELECT name FROM sys.certificates WHERE name LIKE 'RDSTDECertificate%'
 7. GO
 8. 
 9. USE [myDatabase]
10. GO
11. -- Create a database encryption key (DEK) using one of the certificates from the previous step
12. CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256
13. ENCRYPTION BY SERVER CERTIFICATE [RDSTDECertificateName]
14. GO
15. 
16. -- Turn on encryption for the database
17. ALTER DATABASE [myDatabase] SET ENCRYPTION ON
18. GO
19. 
20. -- Verify that the database is encrypted
21. USE [master]
22. GO
23. SELECT name FROM sys.databases WHERE is_encrypted = 1
24. GO
25. SELECT db_name(database_id) as DatabaseName, * FROM sys.dm_database_encryption_keys
26. GO
```

Waktu yang diperlukan untuk mengenkripsi database SQL Server menggunakan TDE tergantung pada beberapa faktor. Ini termasuk ukuran instans DB, apakah instance menggunakan IOPS penyimpanan Provisioned, jumlah data, dan faktor lainnya.

# Mencadangkan dan memulihkan sertifikat TDE pada RDS for SQL Server
<a name="TDE.BackupRestoreRDS"></a>

RDS for SQL Server menyediakan prosedur tersimpan untuk mencadangkan, memulihkan, dan menghapus sertifikat TDE. RDS for SQL Server juga menyediakan fungsi untuk melihat sertifikat TDE pengguna yang dipulihkan.

Sertifikat TDE pengguna digunakan untuk memulihkan basis data ke RDS for SQL Server yang on-premise dan TDE-nya diaktifkan. Sertifikat ini memiliki awalan `UserTDECertificate_`. Setelah memulihkan basis data, dan sebelum membuatnya tersedia untuk digunakan, RDS menyesuaikan basis data yang TDE-nya diaktifkan untuk menggunakan sertifikat TDE yang dihasilkan RDS. Sertifikat ini memiliki awalan `RDSTDECertificate`.

Sertifikat TDE pengguna tetap berada di instans DB RDS for SQL Server, kecuali jika Anda menghapusnya menggunakan prosedur tersimpan `rds_drop_tde_certificate`. Untuk informasi selengkapnya, lihat [Menghapus sertifikat TDE yang dipulihkan](#TDE.BackupRestoreRDS.Drop).

Anda dapat menggunakan sertifikat TDE pengguna untuk memulihkan basis data lain dari instans DB sumber. Basis data untuk memulihkan harus menggunakan sertifikat TDE yang sama dan TDE-nya diaktifkan. Anda tidak perlu mengimpor (memulihkan) sertifikat yang sama lagi. 

**Topics**
+ [Prasyarat](#TDE.BackupRestoreRDS.Prereqs)
+ [Batasan](#TDE.Limitations)
+ [Mencadangkan sertifikat TDE](#TDE.BackupRestoreRDS.Backup)
+ [Memulihkan sertifikat TDE](#TDE.BackupRestoreRDS.Restore)
+ [Melihat sertifikat TDE yang dipulihkan](#TDE.BackupRestoreRDS.Show)
+ [Menghapus sertifikat TDE yang dipulihkan](#TDE.BackupRestoreRDS.Drop)

## Prasyarat
<a name="TDE.BackupRestoreRDS.Prereqs"></a>

Sebelum Anda dapat mencadangkan atau memulihkan sertifikat TDE pada RDS for SQL Server, pastikan untuk melakukan tugas-tugas berikut. Tiga yang pertama dijelaskan dalam [Menyiapkan pencadangan dan pemulihan native](SQLServer.Procedural.Importing.Native.Enabling.md).

1. Buat bucket tujuan umum Amazon S3 atau bucket direktori untuk menyimpan file untuk mencadangkan dan memulihkan.

   Sebaiknya Anda menggunakan bucket terpisah untuk pencadangan basis data dan untuk pencadangan sertifikat TDE.

1. Buat peran IAM untuk mencadangkan dan memulihkan file.

   Peran IAM harus berupa pengguna dan administrator untuk AWS KMS key.

   Saat menggunakan bucket direktori, tidak ada izin tambahan yang diperlukan selain izin yang diperlukan untuk [Membuat peran IAM secara manual untuk pencadangan dan pemulihan native](SQLServer.Procedural.Importing.Native.Enabling.md#SQLServer.Procedural.Importing.Native.Enabling.IAM) bucket direktori.

   Saat menggunakan sumber daya S3, peran IAM juga memerlukan izin berikut selain izin yang diperlukan untuk: [Membuat peran IAM secara manual untuk pencadangan dan pemulihan native](SQLServer.Procedural.Importing.Native.Enabling.md#SQLServer.Procedural.Importing.Native.Enabling.IAM)
   + `s3:GetBucketAcl`, `s3:GetBucketLocation`, dan `s3:ListBucket` pada sumber daya bucket S3

1. Tambahkan opsi `SQLSERVER_BACKUP_RESTORE` ke grup opsi di instans DB Anda.

   Ini merupakan tambahan dari opsi `TRANSPARENT_DATA_ENCRYPTION` (`TDE`).

1. Pastikan Anda memiliki kunci KMS enkripsi simetris. Anda memiliki opsi berikut:
   + Anda dapat menggunakan kunci KMS yang sudah ada di akun Anda. Tidak ada tindakan lebih lanjut yang diperlukan.
   + Jika Anda tidak memiliki kunci KMS enkripsi simetris yang ada di akun Anda, buat kunci KMS dengan mengikuti petunjuk di [Membuat kunci](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) di *Panduan Developer AWS Key Management Service *.

1. Aktifkan integrasi Amazon S3 untuk mentransfer file antara instans DB dan Amazon S3.

   Untuk informasi selengkapnya tentang mengaktifkan integrasi Amazon S3, lihat. [Mengintegrasikan instans DB Amazon RDS for SQL Server dengan Amazon S3](User.SQLServer.Options.S3-integration.md)

   Perhatikan bahwa bucket direktori tidak didukung untuk integrasi S3. Langkah ini hanya diperlukan untuk[Mencadangkan dan memulihkan sertifikat TDE untuk basis data on-premise](TDE.BackupRestoreOnPrem.md).

## Batasan
<a name="TDE.Limitations"></a>

Penggunaan prosedur tersimpan untuk mencadangkan dan memulihkan sertifikat TDE memiliki batasan sebagai berikut:
+ Opsi `SQLSERVER_BACKUP_RESTORE` dan `TRANSPARENT_DATA_ENCRYPTION` (`TDE`) harus ditambahkan ke grup opsi yang Anda kaitkan dengan instans DB.
+ Pencadangan dan pemulihan sertifikat TDE tidak didukung pada instans DB Multi-AZ.
+ Membatalkan pencadangan dan pemulihan sertifikat TDE tidak didukung.
+ Anda tidak dapat menggunakan sertifikat TDE pengguna untuk enkripsi TDE basis data lain di instans DB RDS for SQL Server Anda. Anda dapat menggunakannya hanya untuk memulihkan basis data lain dari instans DB sumber yang TDE-nya diaktifkan dan yang menggunakan sertifikat TDE yang sama.
+ Anda hanya dapat menghapus sertifikat TDE pengguna.
+ Jumlah maksimum sertifikat TDE pengguna yang didukung pada RDS adalah 10. Jika jumlahnya melebihi 10, hapus sertifikat TDE yang tidak digunakan dan coba lagi.
+ Nama sertifikat harus diisi dan tidak boleh kosong.
+ Saat memulihkan sertifikat, nama sertifikat tidak dapat menyertakan kata kunci `RDSTDECERTIFICATE`, dan harus dimulai dengan awalan `UserTDECertificate_`.
+ Parameter `@certificate_name` hanya dapat menyertakan karakter berikut: a-z, 0-9, @, \$1, \$1, dan garis bawah (\$1).
+ Ekstensi file untuk `@certificate_file_s3_arn` harus .cer (peka huruf besar kecil).
+ Ekstensi file untuk `@private_key_file_s3_arn` harus .pvk (peka huruf besar kecil).
+ Metadata S3 untuk file kunci privat harus menyertakan tag `x-amz-meta-rds-tde-pwd`. Untuk informasi selengkapnya, lihat [Mencadangkan dan memulihkan sertifikat TDE untuk basis data on-premise](TDE.BackupRestoreOnPrem.md).
+ RDS untuk SQL Server tidak mendukung penggunaan kunci lintas akun untuk TDE.

## Mencadangkan sertifikat TDE
<a name="TDE.BackupRestoreRDS.Backup"></a>

Untuk mencadangkan sertifikat TDE, gunakan prosedur tersimpan `rds_backup_tde_certificate`. Ini memiliki sintaks berikut.

```
EXECUTE msdb.dbo.rds_backup_tde_certificate
    @certificate_name='UserTDECertificate_certificate_name | RDSTDECertificatetimestamp',
    @certificate_file_s3_arn='arn:aws:s3:::bucket_name/certificate_file_name.cer',
    @private_key_file_s3_arn='arn:aws:s3:::bucket_name/key_file_name.pvk',
    @kms_password_key_arn='arn:aws:kms:region:account-id:key/key-id',
    [@overwrite_s3_files=0|1];
```

Parameter berikut diperlukan:
+ `@certificate_name` – Nama sertifikat TDE yang akan dicadangkan.
+ `@certificate_file_s3_arn` – Amazon Resource Name (ARN) tujuan untuk file cadangan sertifikat di Amazon S3.
+ `@private_key_file_s3_arn` – S3 ARN tujuan file kunci privat yang mengamankan sertifikat TDE.
+ `@kms_password_key_arn` – ARN kunci KMS simetris yang digunakan untuk mengenkripsi kata sandi kunci privat.

Parameter berikut bersifat opsional:
+ `@overwrite_s3_files` – Menunjukkan apakah akan menimpa file kunci privat dan sertifikat yang ada di S3:
  + `0` – Tidak menimpa file yang ada. Nilai ini adalah default.

    Mengatur `@overwrite_s3_files` ke 0 akan menghasilkan kesalahan jika file sudah ada.
  + `1` – Menimpa file yang sudah ada dengan nama yang ditentukan, meskipun itu bukan file cadangan.

**Example pencadangan sertifikat TDE**  

```
EXECUTE msdb.dbo.rds_backup_tde_certificate
    @certificate_name='RDSTDECertificate20211115T185333',
    @certificate_file_s3_arn='arn:aws:s3:::TDE_certs/mycertfile.cer',
    @private_key_file_s3_arn='arn:aws:s3:::TDE_certs/mykeyfile.pvk',
    @kms_password_key_arn='arn:aws:kms:us-west-2:123456789012:key/AKIAIOSFODNN7EXAMPLE',
    @overwrite_s3_files=1;
```

## Memulihkan sertifikat TDE
<a name="TDE.BackupRestoreRDS.Restore"></a>

Anda dapat menggunakan prosedur tersimpan `rds_restore_tde_certificate` untuk memulihkan (mengimpor) sertifikat TDE pengguna. Ini memiliki sintaks berikut.

```
EXECUTE msdb.dbo.rds_restore_tde_certificate
    @certificate_name='UserTDECertificate_certificate_name',
    @certificate_file_s3_arn='arn:aws:s3:::bucket_name/certificate_file_name.cer',
    @private_key_file_s3_arn='arn:aws:s3:::bucket_name/key_file_name.pvk',
    @kms_password_key_arn='arn:aws:kms:region:account-id:key/key-id';
```

Parameter berikut diperlukan:
+ `@certificate_name` – Nama sertifikat TDE yang akan dipulihkan. Nama harus dimulai dengan awalan `UserTDECertificate_`.
+ `@certificate_file_s3_arn` – S3 ARN file cadangan yang digunakan untuk memulihkan sertifikat TDE.
+ `@private_key_file_s3_arn` – S3 ARN file cadangan kunci privat untuk sertifikat TDE yang akan dipulihkan.
+ `@kms_password_key_arn` – ARN kunci KMS simetris yang digunakan untuk mengenkripsi kata sandi kunci privat.

**Example pemulihan sertifikat TDE**  

```
EXECUTE msdb.dbo.rds_restore_tde_certificate
    @certificate_name='UserTDECertificate_myTDEcertificate',
    @certificate_file_s3_arn='arn:aws:s3:::TDE_certs/mycertfile.cer',
    @private_key_file_s3_arn='arn:aws:s3:::TDE_certs/mykeyfile.pvk',
    @kms_password_key_arn='arn:aws:kms:us-west-2:123456789012:key/AKIAIOSFODNN7EXAMPLE';
```

## Melihat sertifikat TDE yang dipulihkan
<a name="TDE.BackupRestoreRDS.Show"></a>

Anda dapat menggunakan fungsi `rds_fn_list_user_tde_certificates` untuk melihat sertifikat TDE pengguna yang dipulihkan (diimpor). Ini memiliki sintaks berikut.

```
SELECT * FROM msdb.dbo.rds_fn_list_user_tde_certificates();
```

Output-nya seperti berikut. Tidak semua kolom ditampilkan di sini.


|  |  |  |  |  |  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
| name | certificate\$1id | principal\$1id | pvt\$1key\$1encryption\$1type\$1desc | issuer\$1name | cert\$1serial\$1number | thumbprint | subject | start\$1date | expiry\$1date | pvt\$1key\$1last\$1backup\$1date | 
| UserTDECertificate\$1tde\$1cert | 343 | 1 | ENCRYPTED\$1BY\$1MASTER\$1KEY | AnyCompany Shipping | 79 3e 57 a3 69 fd 1d 9e 47 2c 32 67 1d 9c ca af | 0x6BB218B34110388680B FE1BA2D86C695096485B5 | AnyCompany Shipping | 2022-04-05 19:49:45.0000000 | 2023-04-05 19:49:45.0000000 | NULL | 

## Menghapus sertifikat TDE yang dipulihkan
<a name="TDE.BackupRestoreRDS.Drop"></a>

Untuk menghapus sertifikat TDE pengguna yang dipulihkan (diimpor) yang tidak Anda gunakan, gunakan prosedur tersimpan `rds_drop_tde_certificate`. Ini memiliki sintaks berikut.

```
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_certificate_name';
```

Parameter berikut diperlukan:
+ `@certificate_name` – Nama sertifikat TDE yang akan dihapus.

Anda hanya dapat menghapus sertifikat TDE yang dipulihkan (diimpor). Anda tidak dapat menghapus sertifikat yang dihasilkan RDS.

**Example penghapusan sertifikat TDE**  

```
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_myTDEcertificate';
```

# Mencadangkan dan memulihkan sertifikat TDE untuk basis data on-premise
<a name="TDE.BackupRestoreOnPrem"></a>

Anda dapat mencadangkan sertifikat TDE untuk basis data on-premise, lalu memulihkannya ke RDS for SQL Server. Anda juga dapat memulihkan sertifikat TDE RDS for SQL Server ke instans DB on-premise.

**catatan**  
RDS untuk SQL Server tidak mendukung penggunaan kunci lintas akun untuk TDE.

Prosedur berikut mencadangkan sertifikat TDE dan kunci privat. Kunci privat dienkripsi menggunakan kunci data yang dihasilkan dari kunci KMS enkripsi simetris Anda.

**Untuk mencadangkan sertifikat TDE on-premise**

1. Hasilkan kunci data menggunakan AWS CLI [generate-data-key](https://docs.aws.amazon.com/cli/latest/reference/kms/generate-data-key.html)perintah.

   ```
   aws kms generate-data-key \
       --key-id my_KMS_key_ID \
       --key-spec AES_256
   ```

   Output-nya seperti berikut.

   ```
   {
   "CiphertextBlob": "AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B
   BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ
   2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==",
   "Plaintext": "U/fpGtmzGCYBi8A2+0/9qcRQRK2zmG/aOn939ZnKi/0=",
   "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-00ee-99ff-88dd-aa11bb22cc33"
   }
   ```

   Anda dapat menggunakan output teks biasa pada langkah berikutnya sebagai kata sandi kunci privat.

1. Cadangkan sertifikat TDE Anda seperti yang ditunjukkan dalam contoh berikut.

   ```
   BACKUP CERTIFICATE myOnPremTDEcertificate TO FILE = 'D:\tde-cert-backup.cer'
   WITH PRIVATE KEY (
   FILE = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\cert-backup-key.pvk',
   ENCRYPTION BY PASSWORD = 'U/fpGtmzGCYBi8A2+0/9qcRQRK2zmG/aOn939ZnKi/0=');
   ```

1. Simpan file cadangan sertifikat ke bucket sertifikat Amazon S3.

1. Simpan file cadangan kunci privat ke bucket sertifikat S3 Anda, dengan tag berikut di metadata file:
   + Kunci – `x-amz-meta-rds-tde-pwd`
   + Nilai – Nilai `CiphertextBlob` dari menghasilkan kunci data, seperti pada contoh berikut.

     ```
     AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B
     BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ
     2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==
     ```

Prosedur berikut memulihkan sertifikat TDE RDS for SQL Server ke instans DB on-premise. Anda menyalin dan memulihkan sertifikat TDE pada instans DB tujuan menggunakan cadangan sertifikat, file kunci privat yang sesuai, dan kunci data. Sertifikat yang dipulihkan dienkripsi oleh kunci utama basis data server baru. 

**Untuk memulihkan sertifikat TDE**

1. Salin file cadangan sertifikat TDE dan file kunci privat dari Amazon S3 ke instans tujuan. Untuk informasi selengkapnya tentang menyalin file dari Amazon S3, lihat [Mentransfer file antara RDS for SQL Server dan Amazon S3](Appendix.SQLServer.Options.S3-integration.using.md).

1. Gunakan kunci KMS Anda untuk mendekripsi teks sandi output guna mengambil teks biasa dari kunci data. Teks sandi berada di metadata S3 file cadangan kunci privat.

   ```
   aws kms decrypt \
       --key-id my_KMS_key_ID \
       --ciphertext-blob fileb://exampleCiphertextFile | base64 -d \
       --output text \
       --query Plaintext
   ```

   Anda dapat menggunakan output teks biasa pada langkah berikutnya sebagai kata sandi kunci privat.

1. Gunakan perintah SQL berikut untuk memulihkan sertifikat TDE Anda.

   ```
   CREATE CERTIFICATE myOnPremTDEcertificate FROM FILE='D:\tde-cert-backup.cer'
   WITH PRIVATE KEY (FILE = N'D:\tde-cert-key.pvk',
   DECRYPTION BY PASSWORD = 'plain_text_output');
   ```

Untuk informasi lebih lanjut tentang dekripsi KMS, lihat [mendekripsi](https://docs.aws.amazon.com/cli/latest/reference/kms/decrypt.html) di bagian KMS untuk *Referensi Perintah AWS CLI *.

Setelah sertifikat TDE dipulihkan pada instans DB tujuan, Anda dapat memulihkan basis data yang terenkripsi dengan sertifikat tersebut.

**catatan**  
Anda dapat menggunakan sertifikat TDE yang sama untuk mengenkripsi beberapa basis data SQL Server pada instans DB sumber. Untuk memigrasikan beberapa basis data ke instans tujuan, salin sertifikat TDE yang terkait dengan basis data tersebut ke instans tujuan cukup satu kali.

# Menonaktifkan TDE untuk RDS for SQL Server
<a name="TDE.Disabling"></a>

Untuk menonaktifkan TDE untuk instans DB RDS for SQL Server, pertama-tama pastikan bahwa tidak ada objek terenkripsi yang tersisa di instans DB. Untuk melakukannya, dekripsi atau hapus objek. Jika ada objek terenkripsi di instans DB, Anda tidak dapat menonaktifkan TDE untuk instans DB. Jika sertifikat TDE pengguna untuk enkripsi dipulihkan (diimpor), maka itu harus dijatuhkan. Saat Anda menggunakan konsol untuk menghapus opsi TDE dari grup opsi, konsol menunjukkan bahwa TDE sedang dalam proses. Selain itu, peristiwa kesalahan terjadi jika grup opsi dikaitkan dengan instans DB atau snapshot DB terenkripsi.

Contoh berikut menghapus enkripsi TDE dari basis data yang bernama `customerDatabase`. 

```
 1. ------------- Removing TDE ----------------
 2. 
 3. USE [customerDatabase]
 4. GO
 5. 
 6. -- Turn off encryption of the database
 7. ALTER DATABASE [customerDatabase]
 8. SET ENCRYPTION OFF
 9. GO
10. 
11. -- Wait until the encryption state of the database becomes 1. The state is 5 (Decryption in progress) for a while
12. SELECT db_name(database_id) as DatabaseName, * FROM sys.dm_database_encryption_keys
13. GO
14. 
15. -- Drop the DEK used for encryption
16. DROP DATABASE ENCRYPTION KEY
17. GO
18. 
19. -- Drop a user TDE certificate if it was restored (imported)
20. EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_certificate_name';
21. 
22. -- Alter to SIMPLE Recovery mode so that your encrypted log gets truncated
23. USE [master]
24. GO
25. ALTER DATABASE [customerDatabase] SET RECOVERY SIMPLE
26. GO
```

Saat semua objek didekripsi, Anda memiliki dua opsi:

1. Anda dapat menyesuaikan instans DB untuk dikaitkan dengan grup opsi tanpa opsi TDE.

1. Anda dapat menghapus opsi TDE dari grup opsi.

# SQLAudit Server
<a name="Appendix.SQLServer.Options.Audit"></a>

Di AmazonRDS, Anda dapat mengaudit database Microsoft SQL Server dengan menggunakan mekanisme audit SQL Server bawaan. Anda dapat membuat audit dan spesifikasi audit dengan cara yang sama seperti Anda membuatnya untuk server basis data on-premise. 

RDSmengunggah log audit yang telah selesai ke bucket S3 Anda, menggunakan IAM peran yang Anda berikan. Jika Anda mengaktifkan retensi, RDS simpan log audit Anda pada instans DB Anda selama periode waktu yang dikonfigurasi.

Untuk informasi selengkapnya, lihat [Audit SQL Server (mesin database)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine) di dokumentasi Microsoft SQL Server.

## SQLAudit Server dengan Aliran Aktivitas Database
<a name="Appendix.SQLServer.DAS.Audit"></a>

Anda dapat menggunakan Database Activity Streams RDS untuk mengintegrasikan peristiwa Audit SQL Server dengan alat pemantauan aktivitas database dari Imperva, McAfee, dan. IBM Untuk informasi selengkapnya tentang audit dengan Aliran Aktivitas Database untuk RDS SQL Server, lihat [Pengauditan di Microsoft SQL Server](DBActivityStreams.md#DBActivityStreams.Overview.SQLServer-auditing) 

**Topics**
+ [SQLAudit Server dengan Aliran Aktivitas Database](#Appendix.SQLServer.DAS.Audit)
+ [Support untuk SQL Server Audit](#Appendix.SQLServer.Options.Audit.Support)
+ [Menambahkan SQL Server Audit ke opsi instans DB](Appendix.SQLServer.Options.Audit.Adding.md)
+ [Menggunakan Audit SQL Server](Appendix.SQLServer.Options.Audit.CreateAuditsAndSpecifications.md)
+ [Melihat log audit](Appendix.SQLServer.Options.Audit.AuditRecords.md)
+ [Menggunakan Audit SQL Server dengan instans Multi-AZ](#Appendix.SQLServer.Options.Audit.Multi-AZ)
+ [Mengonfigurasi bucket S3](Appendix.SQLServer.Options.Audit.S3bucket.md)
+ [Membuat peran IAM secara manual untuk SQL Server Audit](Appendix.SQLServer.Options.Audit.IAM.md)

## Support untuk SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit.Support"></a>

Di AmazonRDS, dimulai dengan SQL Server 2016, semua edisi SQL Server mendukung audit tingkat server, dan edisi Enterprise juga mendukung audit tingkat database. Dimulai dengan SQL Server 2016 (13.x)SP1, semua edisi mendukung audit tingkat server dan tingkat database. Untuk informasi selengkapnya, lihat [Audit SQL Server (mesin database)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine) dalam dokumentasi SQL Server.

RDSmendukung konfigurasi pengaturan opsi berikut untuk SQL Server Audit. 


| Pengaturan opsi | Nilai valid | Deskripsi | 
| --- | --- | --- | 
| IAM\$1ROLE\$1ARN | Nama Sumber Daya Amazon (ARN) yang valid dalam formatarn:aws:iam::account-id:role/role-name. | ARNIAMPeran yang memberikan akses ke bucket S3 tempat Anda ingin menyimpan log audit Anda. Untuk informasi selengkapnya, lihat [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam) di Referensi Umum AWS. | 
| S3\$1BUCKET\$1ARN | Valid ARN dalam format arn:aws:s3:::amzn-s3-demo-bucket atau arn:aws:s3:::amzn-s3-demo-bucket/key-prefix | Bucket ARN untuk S3 tempat Anda ingin menyimpan log audit Anda. | 
| ENABLE\$1COMPRESSION | true atau false | Mengontrol kompresi log audit. Secara default, kompresi diaktifkan (ditetapkan ke true). | 
| RETENTION\$1TIME | 0 untuk 840 | Waktu retensi (dalam jam) bahwa catatan audit SQL Server disimpan pada RDS instans Anda. Secara default, retensi dinonaktifkan. | 

# Menambahkan SQL Server Audit ke opsi instans DB
<a name="Appendix.SQLServer.Options.Audit.Adding"></a>

Mengaktifkan SQL Server Audit memerlukan dua langkah: mengaktifkan opsi di instans DB, dan mengaktifkan fitur di dalam SQL Server. Proses untuk menambahkan opsi SQL Server Audit ke instans DB adalah sebagai berikut: 

1. Buat grup opsi baru, atau salin atau ubah grup opsi yang sudah ada. 

1. Tambahkan dan konfigurasikan semua opsi yang diperlukan.

1. Kaitkan grup opsi dengan instans DB.

Setelah menambahkan opsi SQL Server Audit, Anda tidak perlu memulai ulang instans DB. Begitu grup opsi aktif, Anda dapat membuat audit dan menyimpan log audit di bucket S3. 

**Untuk menambah dan mengonfigurasi SQL Server Audit pada grup opsi instans DB**

1. Pilih salah satu cara berikut:
   + Gunakan grup opsi yang sudah ada.
   + Buat grup opsi DB kustom dan gunakan grup opsi tersebut. Untuk informasi selengkapnya, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Tambahkan opsi **SQLSERVER\$1AUDIT** ke grup opsi, lalu konfigurasikan pengaturan opsi. Untuk informasi cara menambahkan aturan selengkapnya, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 
   + Untuk **peran IAM**, Anda dapat memilih peran tersebut jika sudah memiliki peran IAM dengan kebijakan yang diperlukan. Untuk membuat peran IAM baru, pilih **Buat Peran Baru**. Untuk informasi tentang kebijakan yang diperlukan, lihat [Membuat peran IAM secara manual untuk SQL Server Audit](Appendix.SQLServer.Options.Audit.IAM.md).
   + Untuk **Pilih tujuan S3**, pilih opsi ini jika Anda sudah memiliki bucket S3 yang ingin Anda gunakan. Untuk membuat bucket S3, pilih **Buat Bucket S3 Baru**. 
   + Untuk **Mengaktifkan Kompresi**, biarkan opsi ini dipilih untuk mengompresi file audit. Kompresi diaktifkan secara default. Untuk menonaktifkan kompresi, hapus **Aktifkan Kompresi**. 
   + Untuk **Retensi log audit**, pilih opsi ini untuk menyimpan catatan audit di instans DB. Tentukan waktu retensi dalam jam. Waktu retensi maksimum adalah 35 hari.

1. Terapkan grup opsi ke instans DB baru atau yang sudah ada. Pilih salah satu cara berikut:
   + Jika Anda membuat instans DB baru, terapkan grup opsi ketika Anda meluncurkan instans. 
   + Di instans DB yang sudah ada, terapkan grup opsi dengan mengubah instans lalu memberikan grup opsi baru. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

## Memodifikasi opsi SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit.Modifying"></a>

Setelah mengaktifkan opsi SQL Server Audit, Anda dapat mengubah pengaturan. Untuk informasi cara mengubah pengaturan opsi, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption).

## Menghapus SQL Server Audit dari opsi instans DB
<a name="Appendix.SQLServer.Options.Audit.Removing"></a>

Anda dapat mematikan fitur SQL Server Audit dengan menonaktifkan audit lalu menghapus opsi. 

**Untuk menghapus audit**

1. Nonaktifkan semua pengaturan audit di dalam SQL Server. Untuk mempelajari tempat audit dijalankan, buat kueri pada tampilan katalog keamanan SQL Server. Untuk informasi selengkapnya, lihat [Security catalog views](https://docs.microsoft.com/sql/relational-databases/system-catalog-views/security-catalog-views-transact-sql) dalam dokumentasi Microsoft SQL Server. 

1. Hapus opsi SQL Server Audit dari instans DB. Pilih salah satu cara berikut: 
   + Hapus opsi SQL Server Audit dari grup opsi yang digunakan instans DB. Perubahan ini akan memengaruhi semua instans DB yang menggunakan kelompok opsi yang sama. Untuk informasi selengkapnya, lihat [Menghapus opsi dari grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Ubah instans DB, lalu pilih grup opsi tanpa opsi SQL Server Audit. Perubahan ini hanya memengaruhi instans DB yang Anda ubah. Anda dapat menentukan grup opsi default (kosong) atau grup opsi kustom lain. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

1. Setelah menghapus opsi SQL Server Audit dari instans DB, Anda tidak perlu memulai ulang proses tersebut. Hapus file audit yang tidak diperlukan dari bucket S3 Anda.

# Menggunakan Audit SQL Server
<a name="Appendix.SQLServer.Options.Audit.CreateAuditsAndSpecifications"></a>

Anda dapat mengendalikan audit server, spesifikasi audit server, dan spesifikasi audit basis data dengan cara yang sama seperti Anda mengontrolnya untuk server basis data on-premise.

## Membuat audit
<a name="Appendix.SQLServer.Options.Audit.CreateAudits"></a>

Anda membuat audit server dengan cara yang sama seperti Anda membuatnya untuk server basis data on-premise. Untuk informasi tentang cara membuat audit server, lihat [CREATESERVERAUDIT](https://docs.microsoft.com/sql/t-sql/statements/create-server-audit-transact-sql)di dokumentasi Microsoft SQL Server.

Untuk menghindari kesalahan, patuhi batasan berikut:
+ Jangan melebihi jumlah maksimum audit server yang didukung per instans, yaitu 50. 
+ Instruksikan SQL Server untuk menulis data ke file biner.
+ Jangan gunakan `RDS_` sebagai awalan dalam nama audit server.
+ Untuk `FILEPATH`, tentukan `D:\rdsdbdata\SQLAudit`.
+ Untuk `MAXSIZE`, tentukan ukuran antara 2 MB dan 50 MB.
+ Jangan mengonfigurasi `MAX_ROLLOVER_FILES` atau `MAX_FILES`.
+ Jangan mengkonfigurasi SQL Server untuk mematikan instans DB jika gagal menulis catatan audit.

## Membuat spesifikasi audit
<a name="Appendix.SQLServer.Options.Audit.CreateSpecifications"></a>

Anda membuat spesifikasi audit server dan spesifikasi audit basis data dengan cara yang sama seperti Anda membuatnya untuk server basis data on-premise. Untuk informasi tentang membuat spesifikasi audit, lihat [CREATESERVERAUDITSPECIFICATION](https://docs.microsoft.com/sql/t-sql/statements/create-server-audit-specification-transact-sql)dan [CREATEDATABASEAUDITSPECIFICATION](https://docs.microsoft.com/sql/t-sql/statements/create-database-audit-specification-transact-sql)di dokumentasi Microsoft SQL Server.

Untuk menghindari kesalahan, jangan gunakan `RDS_` sebagai awalan dalam nama spesifikasi audit basis data atau spesifikasi audit server. 

# Melihat log audit
<a name="Appendix.SQLServer.Options.Audit.AuditRecords"></a>

Log audit Anda disimpan di `D:\rdsdbdata\SQLAudit`.

Setelah SQL Server selesai menulis ke file log audit—saat file mencapai batas ukurannya—Amazon RDS mengunggah file ke bucket S3 Anda. Jika retensi diaktifkan, Amazon RDS memindahkan file ke folder retensi:`D:\rdsdbdata\SQLAudit\transmitted`. 

Untuk informasi cara mengonfigurasi retensi, lihat [Menambahkan SQL Server Audit ke opsi instans DB](Appendix.SQLServer.Options.Audit.Adding.md).

Catatan audit disimpan di instans DB hingga file log audit diunggah. Anda dapat melihat catatan audit dengan menjalankan perintah berikut.

```
SELECT   * 
	FROM     msdb.dbo.rds_fn_get_audit_file
	             ('D:\rdsdbdata\SQLAudit\*.sqlaudit'
	             , default
	             , default )
```

Anda dapat menggunakan perintah yang sama untuk melihat catatan audit di folder penyimpanan Anda dengan mengubah filter ke `D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit`.

```
SELECT   * 
	FROM     msdb.dbo.rds_fn_get_audit_file
	             ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit'
	             , default
	             , default )
```

## Menggunakan Audit SQL Server dengan instans Multi-AZ
<a name="Appendix.SQLServer.Options.Audit.Multi-AZ"></a>

Untuk instans Multi-AZ, proses mengirim file log audit ke Amazon S3 serupa dengan proses untuk instans AZ Tunggal. Namun, ada beberapa perbedaan penting: 
+ Objek spesifikasi audit basis data direplikasi ke semua simpul.
+ Audit server dan spesifikasi audit server tidak direplikasi ke simpul sekunder. Sebaliknya, Anda harus membuat atau memodifikasinya secara manual.

Untuk mencatat audit server atau spesifikasi audit server dari kedua simpul:

1. Buat audit server atau spesifikasi audit server di simpul primer.

1. Gagal ke node sekunder dan buat audit server atau spesifikasi audit server dengan nama yang sama dan GUID pada node sekunder. Gunakan `AUDIT_GUID` parameter untuk menentukanGUID.

# Mengonfigurasi bucket S3
<a name="Appendix.SQLServer.Options.Audit.S3bucket"></a>

file log audit secara otomatis diunggah dari instans DB ke bucket S3 Anda. Pembatasan berikut berlaku untuk bucket S3 yang Anda gunakan sebagai target untuk file audit: 
+ Itu harus di AWS Wilayah dan AWS akun yang sama dengan instans DB.
+ Ini tidak boleh dibuka untuk umum.
+ Pemilik bucket juga harus menjadi pemilik peran IAM.
+ Peran IAM Anda harus memiliki izin untuk kunci KMS yang dikelola pelanggan yang terkait dengan enkripsi sisi server bucket S3.

Kunci target yang digunakan untuk menyimpan data mematuhi skema penamaan ini: `amzn-s3-demo-bucket/key-prefix/instance-name/audit-name/node_file-name.ext` 

**catatan**  
Anda menetapkan nama bucket dan nilai awalan kunci dengan setelan opsi (`S3_BUCKET_ARN`).

Skema tersebut terdiri atas elemen-elemen berikut:
+ ***amzn-s3-demo-bucket*** – Nama bucket S3 Anda.
+ **`key-prefix`** – Awalan kunci kustom yang ingin Anda gunakan untuk log audit.
+ **`instance-name`** – Nama instans Amazon RDS Anda.
+ **`audit-name`** – Nama audit.
+ **`node`** – Pengidentifikasi simpul yang merupakan sumber log audit (`node1` atau `node2`). Ada satu simpul untuk instans AZ Tunggal dan dua simpul replikasi untuk instans Multi-AZ. Ini bukan simpul primer dan sekunder karena peran primer dan sekunder berubah seiring waktu. Sebaliknya, pengidentifikasi simpul merupakan label sederhana. 
  + **`node1`** – simpul replikasi pertama (AZ Tunggal hanya memiliki satu simpul).
  + **`node2`** – simpul replikasi kedua (Multi-AZ memiliki dua simpul).
+ **`file-name`** – Nama file target. Nama file diambil apa adanya dari SQL Server.
+ **`ext`** – Ekstensi file (`zip` atau `sqlaudit`):
  + **`zip`** – Jika kompresi diaktifkan (default).
  + **`sqlaudit`** – Jika kompresi dinonaktifkan.

# Membuat peran IAM secara manual untuk SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit.IAM"></a>

Biasanya, ketika Anda membuat opsi baru, Konsol Manajemen AWS membuat peran IAM dan kebijakan kepercayaan IAM untuk Anda. Namun, Anda dapat secara manual membuat peran IAM baru untuk digunakan dengan SQL Server Audit sehingga Anda dapat menyesuaikannya dengan persyaratan tambahan yang mungkin Anda miliki. Untuk melakukan ini, Anda membuat peran IAM dan mendelegasikan izin sehingga layanan Amazon RDS dapat menggunakan bucket Amazon S3. Saat Anda membuat peran IAM ini, Anda dapat memberikan kebijakan kepercayaan dan izin. Dengan adanya kebijakan kepercayaan, Amazon RDS dapat mengambil peran ini. Kebijakan izin menentukan tindakan yang dapat dilakukan peran ini. Untuk informasi selengkapnya, lihat [Membuat peran untuk mendelegasikan izin ke AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) di *Panduan Pengguna AWS Identity and Access Management*. 

Anda dapat menggunakan contoh di bagian ini untuk membuat kebijakan hubungan kepercayaan dan izin yang Anda butuhkan.

Contoh berikut menunjukkan hubungan kepercayaan untuk SQL Server Audit. Contoh tersebut menggunakan *pengguna utama layanan* `rds.amazonaws.com` untuk memungkinkan RDS menulis ke bucket S3. *Pengguna utama layanan* adalah pengidentifikasi yang digunakan untuk memberikan izin layanan. Setiap kali Anda mengizinkan akses ke `rds.amazonaws.com` dengan cara ini, Anda mengizinkan RDS untuk melakukan tindakan atas nama Anda. Untuk informasi pengguna utama layanan selengkapnya, lihat [Elemen kebijakan AWS JSON: Pengguna Utama](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

**Example hubungan kepercayaan untuk SQL Server Audit**    
****  

```
{
	    "Version":"2012-10-17",		 	 	 
	    "Statement": [
	        {
	            "Effect": "Allow",
	            "Principal": {
	                "Service": "rds.amazonaws.com"
	            },
	            "Action": "sts:AssumeRole"
	        }
	    ]
	}
```

Sebaiknya gunakan kunci konteks kondisi global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dalam hubungan kepercayaan berbasis sumber daya untuk membatasi izin layanan ke sumber daya tertentu. Ini adalah cara yang paling efektif untuk melindungi dari [masalah confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

Anda dapat menggunakan kedua kunci konteks kondisi global tersebut dan nilai `aws:SourceArn` berisi ID akun. Dalam hal ini, nilai `aws:SourceAccount` dan akun dalam nilai `aws:SourceArn` harus menggunakan ID akun yang sama saat digunakan dalam pernyataan yang sama.
+ Gunakan `aws:SourceArn` jika Anda menginginkan akses lintas layanan untuk satu sumber daya.
+ Gunakan `aws:SourceAccount` jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Dalam hubungan kepercayaan, pastikan Anda menggunakan kunci konteks kondisi global `aws:SourceArn` dengan Amazon Resource Name (ARN) dari sumber daya yang mengakses peran tersebut. Untuk SQL Server Audit, pastikan Anda menyertakan grup opsi DB dan instans DB, seperti yang ditunjukkan pada contoh berikut.

**Example hubungan kepercayaan dengan kunci konteks kondisi global untuk SQL Server Audit**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "rds.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": [
                        "arn:aws:rds:Region:my_account_ID:db:db_instance_identifier",
                        "arn:aws:rds:Region:my_account_ID:og:option_group_name"
                    ]
                }
            }
        }
    ]
}
```

Dalam contoh kebijakan izin untuk SQL Server Audit berikut, kami menentukan ARN untuk bucket Amazon S3. Anda dapat menggunakan ARNs untuk mengidentifikasi akun, pengguna, atau peran tertentu yang ingin Anda beri akses. Untuk informasi selengkapnya tentang penggunaan ARNs, lihat [nama sumber daya Amazon (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

**Example kebijakan izin untuk SQL Server Audit**    
****  

```
{
	    "Version":"2012-10-17",		 	 	 
	    "Statement": [
	        {
	            "Effect": "Allow",
	            "Action": "s3:ListAllMyBuckets",
	            "Resource": "*"
	        },
	        {
	            "Effect": "Allow",
	            "Action": [
	                "s3:ListBucket",
	                "s3:GetBucketACL",
	                "s3:GetBucketLocation"
	            ],
	            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
	        },
	        {
	            "Effect": "Allow",
	            "Action": [
	                "s3:PutObject",
	                "s3:ListMultipartUploadParts",
	                "s3:AbortMultipartUpload"
	            ],
	            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*"
	        }
	    ]
	}
```

**catatan**  
`s3:ListAllMyBuckets`Tindakan ini diperlukan untuk memverifikasi bahwa AWS akun yang sama memiliki bucket S3 dan instance SQL Server DB. Tindakan tersebut mencantumkan nama bucket di akun.  
Namespace bucket S3 bersifat global. Jika Anda tidak sengaja menghapus bucket, pengguna lain dapat membuat bucket dengan nama yang sama di akun lain. Kemudian, data SQL Server Audit akan ditulis ke bucket baru.

# Support untuk Layanan Analisis SQL Server di Amazon RDS untuk SQL Server
<a name="Appendix.SQLServer.Options.SSAS"></a>

Microsoft SQL Server Analysis Services (SSAS) adalah bagian dari Microsoft Business Intelligence (MSBI) suite. SSASadalah pemrosesan analitik online (OLAP) dan alat penambangan data yang diinstal dalam SQL Server. Anda gunakan SSAS untuk menganalisis data untuk membantu membuat keputusan bisnis. SSASberbeda dari database relasional SQL Server karena SSAS dioptimalkan untuk kueri dan perhitungan umum dalam lingkungan intelijen bisnis.

 Anda dapat mengaktifkan SSAS instans DB yang ada atau baru. Layanan ini diinstal pada instans DB yang sama dengan mesin basis data Anda. Untuk informasi selengkapnyaSSAS, lihat [dokumentasi Layanan Analisis](https://docs.microsoft.com/en-us/analysis-services) Microsoft.

Amazon RDS mendukung SSAS SQL Server Standard dan Enterprise Editions pada versi berikut:
+ Mode tabel:
  + SQLServer 2019, versi 15.00.4043.16.v1 dan lebih tinggi
  + SQLServer 2017, versi 14.00.3223.3.v1 dan lebih tinggi
  + SQLServer 2016, versi 13.00.5426.0.v1 dan lebih tinggi
+ Mode multidimensi:
  + SQLServer 2019, versi 15.00.4153.1.v1 dan lebih tinggi
  + SQLServer 2017, versi 14.00.3381.3.v1 dan lebih tinggi
  + SQLServer 2016, versi 13.00.5882.1.v1 dan lebih tinggi

**Contents**
+ [Batasan](#SSAS.Limitations)
+ [Menghidupkan SSAS](SSAS.Enabling.md)
  + [Membuat grup opsi untuk SSAS](SSAS.Enabling.md#SSAS.OptionGroup)
  + [Menambahkan SSAS opsi ke grup opsi](SSAS.Enabling.md#SSAS.Add)
  + [Mengaitkan grup opsi dengan instans DB](SSAS.Enabling.md#SSAS.Apply)
  + [Mengizinkan akses masuk ke grup VPC keamanan Anda](SSAS.Enabling.md#SSAS.InboundRule)
  + [Mengaktifkan integrasi Amazon S3](SSAS.Enabling.md#SSAS.EnableS3)
+ [Menyebarkan SSAS proyek di Amazon RDS](SSAS.Deploy.md)
+ [Memantau status tugas deployment](SSAS.Monitor.md)
+ [Menggunakan SSAS di Amazon RDS](SSAS.Use.md)
  + [Menyiapkan pengguna yang diautentikasi Windows untuk SSAS](SSAS.Use.md#SSAS.Use.Auth)
  + [Menambahkan pengguna domain sebagai administrator basis data](SSAS.Use.md#SSAS.Admin)
  + [Membuat SSAS proxy](SSAS.Use.md#SSAS.Use.Proxy)
  + [Penjadwalan pemrosesan SSAS basis data menggunakan SQL Server Agent](SSAS.Use.md#SSAS.Use.Schedule)
  + [Mencabut SSAS akses dari proxy](SSAS.Use.md#SSAS.Use.Revoke)
+ [Mencadangkan database SSAS](SSAS.Backup.md)
+ [Memulihkan database SSAS](SSAS.Restore.md)
  + [Memulihkan instans DB dengan waktu yang ditentukan](SSAS.Restore.md#SSAS.PITR)
+ [Mengubah SSAS mode](SSAS.ChangeMode.md)
+ [Mematikan SSAS](SSAS.Disable.md)
+ [Memecahkan masalah SSAS](SSAS.Trouble.md)

## Batasan
<a name="SSAS.Limitations"></a>

Batasan berikut berlaku untuk menggunakan SSAS on RDS for SQL Server:
+ RDSuntuk SQL Server mendukung berjalan SSAS dalam mode Tabular atau Multidimensi. Untuk informasi selengkapnya, lihat [Comparing tabular and multidimensional solutions](https://docs.microsoft.com/en-us/analysis-services/comparing-tabular-and-multidimensional-solutions-ssas) dalam dokumentasi Microsoft.
+ Anda hanya dapat menggunakan satu SSAS mode pada satu waktu. Sebelum mengubah mode, pastikan untuk menghapus semua SSAS database.

  Untuk informasi selengkapnya, lihat [Mengubah SSAS mode](SSAS.ChangeMode.md).
+ Instans Multi-AZ tidak didukung.
+ Instans harus menggunakan Active Directory yang dikelola sendiri atau AWS Directory Service for Microsoft Active Directory untuk SSAS otentikasi. Untuk informasi selengkapnya, lihat [Menggunakan Active Directory dengan RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).
+ Pengguna tidak diberi akses administrator SSAS server, tetapi mereka dapat diberikan akses administrator tingkat database.
+ Satu-satunya port yang didukung untuk mengakses SSAS adalah 2383.
+ Anda tidak dapat melakukan deployment pada proyek secara langsung. Kami menyediakan prosedur RDS tersimpan untuk melakukan ini. Untuk informasi selengkapnya, lihat [Menyebarkan SSAS proyek di Amazon RDS](SSAS.Deploy.md).
+ Pemrosesan selama deployment tidak didukung.
+ Menggunakan berkas .xmla untuk penerapan tidak didukung.
+ SSASfile input proyek dan file output cadangan database hanya dapat berada di `D:\S3` folder pada instance DB.

# Menghidupkan SSAS
<a name="SSAS.Enabling"></a>

Gunakan proses berikut untuk mengaktifkan SSAS instans DB Anda:

1. Buat grup opsi baru, atau pilih grup opsi yang sudah ada.

1. Tambahkan opsi `SSAS` untuk grup opsi.

1. Kaitkan grup opsi tersebut dengan instans DB.

1. Izinkan akses masuk ke grup keamanan virtual private cloud (VPC) untuk port SSAS listener.

1. Aktifkan Integrasi Amazon S3.

## Membuat grup opsi untuk SSAS
<a name="SSAS.OptionGroup"></a>

Gunakan Konsol Manajemen AWS atau AWS CLI untuk membuat grup opsi yang sesuai dengan mesin SQL Server dan versi instans DB yang Anda rencanakan untuk digunakan.

**catatan**  
Anda juga dapat menggunakan grup opsi yang ada jika itu untuk mesin dan versi SQL Server yang benar.

### Konsol
<a name="SSAS.OptionGroup.Console"></a>

Prosedur konsol berikut membuat grup opsi untuk SQL Server Standard Edition 2017.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di panel **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam AWS akun Anda, seperti**ssas-se-2017**. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung.

   1. Untuk **Deskripsi**, masukkan deskripsi singkat grup opsi, seperti **SSAS option group for SQL Server SE 2017**. Deskripsi digunakan untuk tampilan.

   1. Untuk **Mesin**, pilih **sqlserver-se**.

   1. Untuk **Versi mesin utama**, pilih **14.00**.

1. Pilih **Buat**.

### CLI
<a name="SSAS.OptionGroup.CLI"></a>

CLIContoh berikut membuat grup opsi untuk SQL Server Standard Edition 2017.

**Untuk membuat grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-option-group \
      --option-group-name ssas-se-2017 \
      --engine-name sqlserver-se \
      --major-engine-version 14.00 \
      --option-group-description "SSAS option group for SQL Server SE 2017"
  ```

  Untuk Windows:

  ```
  aws rds create-option-group ^
      --option-group-name ssas-se-2017 ^
      --engine-name sqlserver-se ^
      --major-engine-version 14.00 ^
      --option-group-description "SSAS option group for SQL Server SE 2017"
  ```

## Menambahkan SSAS opsi ke grup opsi
<a name="SSAS.Add"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `SSAS` opsi ke grup opsi.

### Konsol
<a name="SSAS.Add.Console"></a>

**Untuk menambahkan SSAS opsi**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi yang baru saja Anda buat.

1. Pilih **Tambah opsi**.

1. Di bawah **Rincian opsi**, pilih **SSAS****nama Opsi**.

1. Pada **Pengaturan opsi**, lakukan berikut ini:

   1. Untuk **memori Max**, masukkan nilai dalam kisaran 10-80.

      **Memori maks** menentukan ambang batas atas di atas yang SSAS mulai melepaskan memori lebih agresif untuk memberi ruang bagi permintaan yang sedang berjalan, dan juga permintaan prioritas tinggi baru. Jumlah tersebut adalah persentase dari total memori instans DB. Nilai yang diizinkan adalah 10–80, dan default-nya adalah 45.

   1. Untuk **Mode**, pilih mode SSAS server, **Tabular** atau **Multidimensional**.

      Jika Anda tidak melihat pengaturan opsi **Mode**, itu berarti mode Multidimensi tidak didukung di AWS Wilayah Anda. Untuk informasi selengkapnya, lihat [Batasan](Appendix.SQLServer.Options.SSAS.md#SSAS.Limitations).

      **Tabel** adalah default.

   1. Untuk **grup Keamanan**, pilih grup VPC keamanan untuk dikaitkan dengan opsi.
**catatan**  
Port untuk mengaksesSSAS, 2383, sudah terisi sebelumnya.

1. Di bagian **Penjadwalan**, pilih apakah akan menambahkan opsi langsung atau pada masa pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

### CLI
<a name="SSAS.Add.CLI"></a>

**Untuk menambahkan SSAS opsi**

1. Buat JSON file, misalnya`ssas-option.json`, dengan parameter berikut:
   + `OptionGroupName` – Nama grup opsi yang Anda buat atau pilih sebelumnya (`ssas-se-2017` dalam contoh berikut).
   + `Port`— Port yang Anda gunakan untuk mengaksesSSAS. Satu-satunya port yang didukung adalah 2383.
   + `VpcSecurityGroupMemberships`— Keanggotaan untuk grup VPC keamanan untuk instans RDS DB Anda.
   + `MAX_MEMORY`— Ambang batas atas yang SSAS seharusnya mulai melepaskan memori lebih agresif untuk memberi ruang bagi permintaan yang sedang berjalan, dan juga permintaan prioritas tinggi baru. Jumlah tersebut adalah persentase dari total memori instans DB. Nilai yang diizinkan adalah 10–80, dan default-nya adalah 45.
   + `MODE`— Mode SSAS server, salah satu `Tabular` atau`Multidimensional`. `Tabular`adalah default.

     Jika Anda menerima kesalahan bahwa pengaturan `MODE` opsi tidak valid, itu berarti mode Multidimensi tidak didukung di AWS Wilayah Anda. Untuk informasi selengkapnya, lihat [Batasan](Appendix.SQLServer.Options.SSAS.md#SSAS.Limitations).

   Berikut ini adalah contoh JSON file dengan pengaturan SSAS opsi.

   ```
   {
   "OptionGroupName": "ssas-se-2017",
   "OptionsToInclude": [
   	{
   	"OptionName": "SSAS",
   	"Port": 2383,
   	"VpcSecurityGroupMemberships": ["sg-0abcdef123"],
   	"OptionSettings": [{"Name":"MAX_MEMORY","Value":"60"},{"Name":"MODE","Value":"Multidimensional"}]
   	}],
   "ApplyImmediately": true
   }
   ```

1. Tambahkan opsi `SSAS` ke grup opsi.  
**Example**  

   Untuk Linux, macOS, atau Unix:

   ```
   aws rds add-option-to-option-group \
       --cli-input-json file://ssas-option.json \
       --apply-immediately
   ```

   Untuk Windows:

   ```
   aws rds add-option-to-option-group ^
       --cli-input-json file://ssas-option.json ^
       --apply-immediately
   ```

## Mengaitkan grup opsi dengan instans DB
<a name="SSAS.Apply"></a>

Anda dapat menggunakan konsol atau CLI untuk mengaitkan grup opsi dengan instans DB Anda.

### Konsol
<a name="SSAS.Apply.Console"></a>

Kaitkan grup opsi dengan instans DB baru atau yang sudah ada:
+ Untuk instans DB baru, kaitkan grup opsi dengan instans DB saat Anda meluncurkan instans tersebut. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang ada, ubah instans tersebut dan kaitkan grup opsi baru dengannya. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).
**catatan**  
Jika Anda menggunakan instance yang ada, itu harus sudah memiliki domain Active Directory dan AWS Identity and Access Management (IAM) peran yang terkait dengannya. Jika Anda membuat instance baru, tentukan domain dan IAM peran Active Directory yang ada. Untuk informasi selengkapnya, lihat [Menggunakan Active Directory dengan RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

### CLI
<a name="SSAS.Apply.CLI"></a>

Anda dapat mengaitkan grup opsi Anda dengan instans DB baru atau yang sudah ada.

**catatan**  
Jika Anda menggunakan instance yang ada, itu harus sudah memiliki domain dan IAM peran Direktori Aktif yang terkait dengannya. Jika Anda membuat instance baru, tentukan domain dan IAM peran Active Directory yang ada. Untuk informasi selengkapnya, lihat [Menggunakan Active Directory dengan RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

**Membuat instans DB yang menggunakan grup opsi Anda**
+ Tentukan tipe mesin DB yang sama dan versi utama yang Anda gunakan saat membuat grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssasinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 14.00.3223.3.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name ssas-se-2017
  ```

  Untuk Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssasinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 14.00.3223.3.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name ssas-se-2017
  ```

**Memodifikasi instans DB dan mengaitkan grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssasinstance \
      --option-group-name ssas-se-2017 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssasinstance ^
      --option-group-name ssas-se-2017 ^
      --apply-immediately
  ```

## Mengizinkan akses masuk ke grup VPC keamanan Anda
<a name="SSAS.InboundRule"></a>

Buat aturan masuk untuk port SSAS listener yang ditentukan dalam grup VPC keamanan yang terkait dengan instans DB Anda. Untuk informasi selengkapnya tentang menyiapkan grup keamanan, lihat [Memberikan akses ke instans DB di VPC Anda dengan membuat grup keamanan](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

## Mengaktifkan integrasi Amazon S3
<a name="SSAS.EnableS3"></a>

Untuk mengunduh file konfigurasi model ke host Anda untuk deployment, gunakan integrasi Amazon S3. Untuk informasi selengkapnya, lihat [Mengintegrasikan instans DB Amazon RDS for SQL Server dengan Amazon S3](User.SQLServer.Options.S3-integration.md). 

# Menyebarkan SSAS proyek di Amazon RDS
<a name="SSAS.Deploy"></a>

PadaRDS, Anda tidak dapat menerapkan SSAS proyek secara langsung dengan menggunakan SQL Server Management Studio (SSMS). Untuk menyebarkan proyek, gunakan prosedur yang RDS disimpan.

**catatan**  
Gunakan file .xmla untuk deployment tidak didukung.

Sebelum Anda men-deploy proyek, pastikan hal-hal berikut ini:
+ Integrasi Amazon S3 diaktifkan. Untuk informasi selengkapnya, lihat [Mengintegrasikan instans DB Amazon RDS for SQL Server dengan Amazon S3](User.SQLServer.Options.S3-integration.md).
+ Pengaturan konfigurasi `Processing Option` diatur ke `Do Not Process`. Pengaturan ini berarti tidak ada pemrosesan yang terjadi setelah deployment.
+ Anda memiliki file `myssasproject.asdatabase` dan `myssasproject.deploymentoptions`. Mereka secara otomatis dihasilkan ketika Anda membangun SSAS proyek.

**Untuk menyebarkan SSAS proyek di RDS**

1. Unduh file `.asdatabase` (SSASmodel) dari bucket S3 Anda ke instans DB Anda, seperti yang ditunjukkan pada contoh berikut. Untuk informasi lebih lanjut tentang parameter unduhan, lihat [Mengunduh file dari bucket Amazon S3 ke instans DB SQL Server](Appendix.SQLServer.Options.S3-integration.using.md#Appendix.SQLServer.Options.S3-integration.using.download).

   ```
   exec msdb.dbo.rds_download_from_s3 
   @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.asdatabase', 
   [@rds_file_path='D:\S3\myssasproject.asdatabase'],
   [@overwrite_file=1];
   ```

1. Unduh file `.deploymentoptions` dari bucket S3 Anda ke instans DB Anda.

   ```
   exec msdb.dbo.rds_download_from_s3
   @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.deploymentoptions', 
   [@rds_file_path='D:\S3\myssasproject.deploymentoptions'],
   [@overwrite_file=1];
   ```

1. Deploy proyek.

   ```
   exec msdb.dbo.rds_msbi_task
   @task_type='SSAS_DEPLOY_PROJECT',
   @file_path='D:\S3\myssasproject.asdatabase';
   ```

# Memantau status tugas deployment
<a name="SSAS.Monitor"></a>

Untuk melacak status tugas deployment (atau download) Anda, panggil fungsi `rds_fn_task_status`. Pelacakan status membutuhkan dua parameter. Parameter pertama harus selalu `NULL` karena tidak berlaku untukSSAS. Parameter kedua menerima ID tugas. 

Untuk melihat daftar semua tugas, tetapkan parameter pertama ke `NULL` dan parameter kedua ke `0`, seperti yang ditunjukkan dalam contoh berikut.

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);
```

Untuk melihat daftar semua tugas, tetapkan parameter pertama ke `NULL` dan parameter kedua ke ID tugas, seperti yang ditunjukkan dalam contoh berikut.

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);
```

Fungsi `rds_fn_task_status` menampilkan informasi berikut.


| Parameter output | Deskripsi | 
| --- | --- | 
| `task_id` | ID tugas. | 
| `task_type` | UntukSSAS, tugas dapat memiliki jenis tugas berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SSAS.Monitor.html)  | 
| `database_name` | Tidak berlaku untuk SSAS tugas. | 
| `% complete` | Kemajuan tugas sebagai persentase. | 
| `duration (mins)` | Jumlah waktu yang dihabiskan untuk tugas, dalam menit. | 
| `lifecycle` |  Status tugas. Status yang mungkin adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SSAS.Monitor.html)  | 
| `task_info` | Informasi tambahan tentang tugas. Jika terjadi kesalahan selama pemrosesan, kolom ini akan memuat informasi tentang kesalahan tersebut. Untuk informasi selengkapnya, lihat [Memecahkan masalah SSAS](SSAS.Trouble.md). | 
| `last_updated` | Tanggal dan waktu status tugas terakhir diperbarui. | 
| `created_at` | Tanggal dan waktu tugas dibuat. | 
| `S3_object_arn` |  Tidak berlaku untuk SSAS tugas.  | 
| `overwrite_S3_backup_file` | Tidak berlaku untuk SSAS tugas. | 
| `KMS_master_key_arn` |  Tidak berlaku untuk SSAS tugas.  | 
| `filepath` |  Tidak berlaku untuk SSAS tugas.  | 
| `overwrite_file` |  Tidak berlaku untuk SSAS tugas.  | 
| `task_metadata` | Metadata yang terkait dengan tugas. SSAS | 

# Menggunakan SSAS di Amazon RDS
<a name="SSAS.Use"></a>

Setelah menerapkan SSAS proyek, Anda dapat langsung memproses OLAP database. SSMS

**Untuk digunakan SSAS pada RDS**

1. DiSSMS, sambungkan SSAS menggunakan nama pengguna dan kata sandi untuk domain Active Directory.

1. Perluas **Basis data**. SSASDatabase yang baru digunakan muncul.

1. Temukan string koneksi, dan perbarui nama pengguna dan kata sandi untuk memberikan akses ke SQL database sumber. Melakukan hal ini diperlukan untuk memproses SSAS objek.

   1. Untuk mode Tabel, lakukan hal berikut:

      1. Perluas tab **Koneksi**.

      1. Buka menu konteks (klik kanan) untuk , lalu pilih **Properti**.

      1. Perbarui nama pengguna dan kata sandi dalam string koneksi.

   1. Untuk mode Multidimensi, lakukan hal berikut:

      1. Perluas tab **Sumber Data**.

      1. Buka menu konteks (klik kanan) untuk objek sumber data, lalu pilih **Properti**.

      1. Perbarui nama pengguna dan kata sandi dalam string koneksi.

1. Buka menu konteks (klik kanan) untuk SSAS database yang Anda buat dan pilih **Process Database**.

   Bergantung pada ukuran data input, operasi pemrosesan akan memakan waktu beberapa menit untuk selesai.

**Topics**
+ [Menyiapkan pengguna yang diautentikasi Windows untuk SSAS](#SSAS.Use.Auth)
+ [Menambahkan pengguna domain sebagai administrator basis data](#SSAS.Admin)
+ [Membuat SSAS proxy](#SSAS.Use.Proxy)
+ [Penjadwalan pemrosesan SSAS basis data menggunakan SQL Server Agent](#SSAS.Use.Schedule)
+ [Mencabut SSAS akses dari proxy](#SSAS.Use.Revoke)

## Menyiapkan pengguna yang diautentikasi Windows untuk SSAS
<a name="SSAS.Use.Auth"></a>

Pengguna utama dapat (kadang dipanggil pengguna master) menggunakan contoh kode berikut untuk menyiapkan login yang diautentikasi Windows dan memberikan izin prosedur yang diperlukan. Melakukan hal ini memberikan izin kepada pengguna domain untuk menjalankan tugas SSAS pelanggan, menggunakan prosedur transfer file S3, membuat kredensyal, dan bekerja dengan proxy Agen Server. SQL Untuk informasi selengkapnya, lihat [Kredensial (mesin database)](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/credentials-database-engine?view=sql-server-ver15) dan [Membuat proxy Agen SQL Server](https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver15) di dokumentasi Microsoft.

Anda dapat memberikan beberapa atau semua izin berikut sesuai kebutuhan kepada pengguna yang diautentikasi Windows.

**Example**  

```
-- Create a server-level domain user login, if it doesn't already exist
USE [master]
GO
CREATE LOGIN [mydomain\user_name] FROM WINDOWS
GO

-- Create domain user, if it doesn't already exist
USE [msdb]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]
GO

-- Grant necessary privileges to the domain user
USE [master]
GO
GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name]
GO

USE [msdb]
GO
GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option
GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] with grant option
ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name]
GO
```

## Menambahkan pengguna domain sebagai administrator basis data
<a name="SSAS.Admin"></a>

Anda dapat menambahkan pengguna domain sebagai administrator SSAS database dengan cara berikut:
+ Administrator database dapat menggunakan SSMS untuk membuat peran dengan `admin` hak istimewa, lalu menambahkan pengguna ke peran itu.
+ Anda dapat menggunakan prosedur penyimpanan berikut.

  ```
  exec msdb.dbo.rds_msbi_task
  @task_type='SSAS_ADD_DB_ADMIN_MEMBER',
  @database_name='myssasdb',
  @ssas_role_name='exampleRole',
  @ssas_role_member='domain_name\domain_user_name';
  ```

  Parameter-parameter berikut diperlukan:
  + `@task_type`— Jenis MSBI tugas, dalam hal ini`SSAS_ADD_DB_ADMIN_MEMBER`.
  + `@database_name`— Nama SSAS database tempat Anda memberikan hak administrator.
  + `@ssas_role_name`— Nama peran administrator SSAS database. Jika peran tersebut belum ada, ini akan dibuat.
  + `@ssas_role_member`— Pengguna SSAS database yang Anda tambahkan ke peran administrator.

## Membuat SSAS proxy
<a name="SSAS.Use.Proxy"></a>

Untuk dapat menjadwalkan pemrosesan SSAS database menggunakan SQL Server Agent, buat SSAS kredensi dan SSAS proxy. Jalankan prosedur ini sebagai pengguna yang diautentikasi Windows.

**Untuk membuat SSAS kredensyal**
+ Buat kredensial untuk proksi. Untuk melakukan ini, Anda dapat menggunakan SSMS atau SQL pernyataan berikut.

  ```
  USE [master]
  GO
  CREATE CREDENTIAL [SSAS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret'
  GO
  ```
**catatan**  
`IDENTITY` harus merupakan kredensial login yang diautentikasi domain. Ganti `mysecret` dengan kata sandi untuk kredensial login yang diautentikasi domain.

**Untuk membuat SSAS proxy**

1. Gunakan SQL pernyataan berikut untuk membuat proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N''
   GO
   ```

1. Gunakan SQL pernyataan berikut untuk memberikan akses ke proxy ke pengguna lain.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name'
   GO
   ```

1. Gunakan SQL pernyataan berikut untuk memberikan SSAS subsistem akses ke proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS'
   GO
   ```

**Untuk melihat proksi dan izin pada proksi**

1. Gunakan SQL pernyataan berikut untuk melihat penerima hibah proxy.

   ```
   USE [msdb]
   GO
   EXEC sp_help_proxy
   GO
   ```

1. Gunakan SQL pernyataan berikut untuk melihat hibah subsistem.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_enum_proxy_for_subsystem
   GO
   ```

## Penjadwalan pemrosesan SSAS basis data menggunakan SQL Server Agent
<a name="SSAS.Use.Schedule"></a>

Setelah Anda membuat kredensi dan proxy dan memberikan SSAS akses ke proxy, Anda dapat membuat pekerjaan Agen SQL Server untuk menjadwalkan pemrosesan SSAS basis data.

**Untuk menjadwalkan pemrosesan SSAS basis data**
+ Gunakan SSMS atau T- SQL untuk membuat pekerjaan Agen SQL Server. Contoh berikut menggunakan T-SQL. Anda dapat lebih lanjut mengkonfigurasi jadwal pekerjaannya melalui SSMS atau T-SQL.
  + `@command`Parameter menguraikan perintah XML for Analysis (XMLA) yang akan dijalankan oleh pekerjaan Agen SQL Server. Contoh ini mengkonfigurasi pemrosesan database SSAS Multidimensional.
  + `@server`Parameter menguraikan nama SSAS server target dari pekerjaan Agen SQL Server.

    Untuk memanggil SSAS layanan dalam instance RDS DB yang sama di mana pekerjaan Agen SQL Server berada, gunakan`localhost:2383`.

    Untuk memanggil SSAS layanan dari luar instans RDS DB, gunakan RDS titik akhir. Anda juga dapat menggunakan titik akhir Kerberos Active Directory (AD) (`your-DB-instance-name.your-AD-domain-name`) jika instans RDS DB digabungkan dengan domain yang sama. Untuk instans DB eksternal, pastikan untuk mengonfigurasi grup VPC keamanan yang terkait dengan instans RDS DB dengan benar untuk koneksi yang aman.

  Anda dapat mengedit kueri lebih lanjut untuk mendukung berbagai XMLA operasi. Lakukan pengeditan baik dengan langsung memodifikasi SQL T-query atau dengan menggunakan SSMS UI berikut pembuatan pekerjaan Agen SQL Server.

  ```
  USE [msdb]
  GO
  DECLARE @jobId BINARY(16)
  EXEC msdb.dbo.sp_add_job @job_name=N'SSAS_Job', 
      @enabled=1, 
      @notify_level_eventlog=0, 
      @notify_level_email=0, 
      @notify_level_netsend=0, 
      @notify_level_page=0, 
      @delete_level=0, 
      @category_name=N'[Uncategorized (Local)]', 
      @job_id = @jobId OUTPUT
  GO
  EXEC msdb.dbo.sp_add_jobserver 
      @job_name=N'SSAS_Job', 
      @server_name = N'(local)'
  GO
  EXEC msdb.dbo.sp_add_jobstep @job_name=N'SSAS_Job', @step_name=N'Process_SSAS_Object', 
      @step_id=1, 
      @cmdexec_success_code=0, 
      @on_success_action=1, 
      @on_success_step_id=0, 
      @on_fail_action=2, 
      @on_fail_step_id=0, 
      @retry_attempts=0, 
      @retry_interval=0, 
      @os_run_priority=0, @subsystem=N'ANALYSISCOMMAND', 
      @command=N'<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
          <Parallel>
              <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" 
                  xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" 
                  xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" 
                  xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" 
                  xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" 
                  xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
                  <Object>
                      <DatabaseID>Your_SSAS_Database_ID</DatabaseID>
                  </Object>
                  <Type>ProcessFull</Type>
                  <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
              </Process>
          </Parallel>
      </Batch>', 
      @server=N'localhost:2383', 
      @database_name=N'master', 
      @flags=0, 
      @proxy_name=N'SSAS_Proxy'
  GO
  ```

## Mencabut SSAS akses dari proxy
<a name="SSAS.Use.Revoke"></a>

Anda dapat mencabut akses ke SSAS subsistem dan menghapus SSAS proxy menggunakan prosedur tersimpan berikut.

**Untuk mencabut akses dan menghapus proksi**

1. Mencabut akses subsistem.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS'
   GO
   ```

1. Mencabut izin pada proksi.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name'
   GO
   ```

1. Hapus proksi.

   ```
   USE [msdb]
   GO
   EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy'
   GO
   ```

# Mencadangkan database SSAS
<a name="SSAS.Backup"></a>

Anda dapat membuat file cadangan SSAS database hanya di `D:\S3` folder pada instance DB. Untuk memindahkan file cadangan ke bucket S3, gunakan Amazon S3.

Anda dapat membuat cadangan SSAS database sebagai berikut:
+ Seorang pengguna domain dengan `admin` peran untuk database tertentu dapat digunakan SSMS untuk mencadangkan database ke `D:\S3` folder.

  Untuk informasi selengkapnya, lihat [Menambahkan pengguna domain sebagai administrator basis data](SSAS.Use.md#SSAS.Admin).
+ Anda dapat menggunakan prosedur tersimpan berikut. Prosedur yang disimpan ini tidak mendukung enkripsi.

  ```
  exec msdb.dbo.rds_msbi_task
  @task_type='SSAS_BACKUP_DB',
  @database_name='myssasdb',
  @file_path='D:\S3\ssas_db_backup.abf',
  [@ssas_apply_compression=1],
  [@ssas_overwrite_file=1];
  ```

  Parameter-parameter berikut diperlukan:
  + `@task_type`Jenis MSBI tugas, dalam hal ini`SSAS_BACKUP_DB`.
  + `@database_name`— Nama SSAS database yang Anda backup.
  + `@file_path`— Jalur untuk file SSAS cadangan. Ekstensi `.abf` diperlukan.

  Parameter berikut ini bersifat opsional:
  + `@ssas_apply_compression`— Apakah akan menerapkan kompresi SSAS cadangan. Nilai yang valid adalah 1 (Ya) dan 0 (Tidak).
  + `@ssas_overwrite_file`— Apakah akan menimpa file SSAS cadangan. Nilai yang valid adalah 1 (Ya) dan 0 (Tidak).

# Memulihkan database SSAS
<a name="SSAS.Restore"></a>

Gunakan prosedur tersimpan berikut untuk memulihkan SSAS database dari cadangan. 

Anda tidak dapat memulihkan database jika ada SSAS database yang ada dengan nama yang sama. Prosedur tersimpan untuk memulihkan tidak mendukung file cadangan terenkripsi.

```
exec msdb.dbo.rds_msbi_task
@task_type='SSAS_RESTORE_DB',
@database_name='mynewssasdb',
@file_path='D:\S3\ssas_db_backup.abf';
```

Parameter berikut yang diperlukan:
+ `@task_type`Jenis MSBI tugas, dalam hal ini`SSAS_RESTORE_DB`.
+ `@database_name`— Nama SSAS database baru yang Anda pulihkan.
+ `@file_path`— Jalur ke file SSAS cadangan.

## Memulihkan instans DB dengan waktu yang ditentukan
<a name="SSAS.PITR"></a>

Point-in-time recovery (PITR) tidak berlaku untuk SSAS database. Jika Anda melakukannyaPITR, hanya SSAS data dalam snapshot terakhir sebelum waktu yang diminta tersedia pada instance yang dipulihkan.

**Untuk memiliki up-to-date SSAS database pada instans DB yang dipulihkan**

1. Cadangkan SSAS database Anda ke `D:\S3` folder pada instance sumber.

1. Pindahkan file cadangan ke bucket S3.

1. Transfer file cadangan dari bucket S3 ke folder `D:\S3` di instans yang dipulihkan.

1. Jalankan prosedur tersimpan untuk mengembalikan SSAS database ke instance yang dipulihkan.

   Anda juga dapat memproses ulang SSAS proyek untuk memulihkan database.

# Mengubah SSAS mode
<a name="SSAS.ChangeMode"></a>

Anda dapat mengubah mode di mana SSAS berjalan, baik Tabular atau Multidimensional. Untuk mengubah mode, gunakan Konsol Manajemen AWS atau AWS CLI untuk mengubah pengaturan opsi di SSAS opsi.

**penting**  
Anda hanya dapat menggunakan satu SSAS mode pada satu waktu. Pastikan untuk menghapus semua SSAS database sebelum mengubah mode, atau Anda menerima kesalahan.

## Konsol
<a name="SSAS.ChangeMode.CON"></a>

Prosedur RDS konsol Amazon berikut mengubah SSAS mode ke Tabular dan menetapkan `MAX_MEMORY` parameter menjadi 70 persen.

**Untuk memodifikasi SSAS opsi**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `SSAS` yang ingin Anda modifikasi (`ssas-se-2017` dalam contoh sebelumnya).

1. Pilih **Opsi ubah**.

1. Ubah pengaturan opsi:

   1. Untuk **Memori maks.**, masukkan **70**.

   1. Untuk **Mode**, pilih **Tabular**.

1. Pilih **Opsi ubah**.

## AWS CLI
<a name="SSAS.ChangeMode.CLI"></a>

 AWS CLI Contoh berikut mengubah SSAS mode ke Tabular dan menetapkan `MAX_MEMORY` parameter menjadi 70 persen.

Agar CLI perintah berfungsi, pastikan untuk menyertakan semua parameter yang diperlukan, bahkan jika Anda tidak memodifikasinya.

**Untuk memodifikasi SSAS opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name ssas-se-2017 \
      --options "OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}]" \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name ssas-se-2017 ^
      --options OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}] ^
      --apply-immediately
  ```

# Mematikan SSAS
<a name="SSAS.Disable"></a>

Untuk mematikanSSAS, hapus `SSAS` opsi dari grup opsinya.

**penting**  
Sebelum Anda menghapus `SSAS` opsi, hapus SSAS database Anda.  
Kami sangat menyarankan Anda mencadangkan SSAS database Anda sebelum menghapusnya dan menghapus opsi. `SSAS`

## Konsol
<a name="SSAS.Disable.Console"></a>

**Untuk menghapus SSAS opsi dari grup opsinya**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `SSAS` yang ingin Anda hapus (`ssas-se-2017` dalam contoh sebelumnya).

1. Pilih **Hapus opsi**.

1. Di bawah **Opsi penghapusan, pilih Opsi SSAS****** **untuk** dihapus.

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya pada masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

## AWS CLI
<a name="SSAS.Disable.CLI"></a>

**Untuk menghapus SSAS opsi dari grup opsinya**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name ssas-se-2017 \
      --options SSAS \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name ssas-se-2017 ^
      --options SSAS ^
      --apply-immediately
  ```

# Memecahkan masalah SSAS
<a name="SSAS.Trouble"></a>

Anda mungkin mengalami masalah berikut saat menggunakanSSAS.


| Isu | Tipe | Saran pemecahan masalah | 
| --- | --- | --- | 
| Tidak dapat mengonfigurasi SSAS opsi. SSASMode yang diminta adalah new\$1mode, tetapi instance DB saat ini memiliki number current\$1mode basis data. Hapus database yang ada sebelum beralih ke new\$1mode modus. Untuk mendapatkan kembali akses ke current\$1mode modus penghapusan basis data, baik perbarui grup opsi DB saat ini, atau lampirkan grup opsi baru dengan %s sebagai nilai pengaturan MODE opsi untuk opsi. SSAS  | RDSacara | Anda tidak dapat mengubah SSAS mode jika Anda masih memiliki SSAS database yang menggunakan mode saat ini. Hapus SSAS database, lalu coba lagi. | 
| Tidak dapat menghapus SSAS opsi karena ada number ada mode basis data. SSASOpsi tidak dapat dihapus sampai semua SSAS database dihapus. Tambahkan SSAS opsi lagi, hapus semua SSAS database, dan coba lagi.  | RDSacara | Anda tidak dapat mematikan SSAS jika Anda masih memiliki SSAS database. Hapus SSAS database, lalu coba lagi. | 
| SSASOpsi tidak diaktifkan atau sedang dalam proses diaktifkan. Coba lagi nanti. | RDSprosedur tersimpan | Anda tidak dapat menjalankan prosedur SSAS tersimpan saat opsi dimatikan, atau saat sedang dihidupkan. | 
| SSASOpsi ini dikonfigurasi dengan tidak benar. Pastikan status keanggotaan grup opsi adalah “sinkronisasi”, dan tinjau log RDS peristiwa untuk pesan kesalahan SSAS konfigurasi yang relevan. Setelah penyelidikan ini, coba lagi. Jika kesalahan terus terjadi, hubungi AWS Support. | RDSprosedur tersimpan |  Anda tidak dapat menjalankan prosedur SSAS tersimpan saat keanggotaan grup opsi Anda tidak dalam `in-sync` status. Ini menempatkan SSAS opsi dalam status konfigurasi yang salah. Jika status keanggotaan grup opsi Anda berubah `failed` karena modifikasi SSAS opsi, ada dua kemungkinan alasan:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SSAS.Trouble.html) Konfigurasikan ulang SSAS opsi, karena hanya RDS mengizinkan satu SSAS mode pada satu waktu, dan tidak mendukung penghapusan SSAS opsi dengan SSAS database yang ada. Periksa log RDS peristiwa untuk kesalahan konfigurasi untuk SSAS instance Anda, dan selesaikan masalah yang sesuai.  | 
| Penerapan gagal. Perubahan hanya dapat diterapkan di server yang berjalan di deployment\$1file\$1mode modus. Mode server saat ini adalah current\$1mode. | RDSprosedur tersimpan |  Anda tidak dapat melakukan deployment basis data Tabular ke server Multidimensi, atau basis data Multidimensi ke server Tabular. Pastikan Anda menggunakan file dengan mode yang benar, dan verifikasi bahwa pengaturan opsi `MODE` telah diatur ke nilai yang sesuai.  | 
| Pemulihan gagal. File cadangan hanya dapat dipulihkan pada server yang berjalan di restore\$1file\$1mode modus. Mode server saat ini adalah current\$1mode. | RDSprosedur tersimpan |  Anda tidak dapat mengembalikan basis data Tabular ke server Multidimensi, atau basis data Multidimensi ke server Tabular. Pastikan Anda menggunakan file dengan mode yang benar, dan verifikasi bahwa pengaturan opsi `MODE` telah diatur ke nilai yang sesuai.  | 
| Pemulihan gagal. File cadangan dan versi instans RDS DB tidak kompatibel. | RDSprosedur tersimpan |  Anda tidak dapat memulihkan SSAS database dengan versi yang tidak kompatibel dengan versi instans SQL Server. Untuk informasi selengkapnya, lihat [Compatibility levels for tabular models](https://docs.microsoft.com/en-us/analysis-services/tabular-models/compatibility-level-for-tabular-models-in-analysis-services) dan [Compatibility level of a multidimensional database](https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/compatibility-level-of-a-multidimensional-database-analysis-services) dalam dokumentasi Microsoft.  | 
| Pemulihan gagal. File cadangan yang ditentukan dalam operasi pemulihan rusak atau bukan file SSAS cadangan. Pastikan @rds\$1file\$1path diformat dengan benar. | RDSprosedur tersimpan |  Anda tidak dapat memulihkan SSAS database dengan file yang rusak. Pastikan file tersebut tidak rusak atau rusak. Kesalahan ini juga dapat muncul ketika `@rds_file_path` tidak diformat dengan benar (misalnya, ia memiliki garis miring terbalik ganda seperti pada `D:\S3\\incorrect_format.abf`).  | 
| Pemulihan gagal. Nama basis data yang dipulihkan tidak dapat berisi kata-kata yang dicadangkan atau karakter yang tidak valid: . , ; ' ` : / \$1\$1 \$1 \$1 ? \$1" & % \$1 \$1 \$1 = ( ) [ ] \$1 \$1 < >, atau lebih panjang dari 100 karakter. | RDSprosedur tersimpan |  Nama basis data yang dipulihkan tidak dapat berisi kata atau karakter yang dicadangkan yang tidak valid, atau lebih dari 100 karakter. Untuk konvensi penamaan SSAS objek, lihat [Aturan penamaan objek](https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/olap-physical/object-naming-rules-analysis-services) dalam dokumentasi Microsoft.  | 
| Nama peran yang tidak valid diberikan. Nama peran tidak boleh berisi string yang dipesan. | RDSprosedur tersimpan |  Nama peran tidak boleh berisi string yang dipesan. Untuk konvensi penamaan SSAS objek, lihat [Aturan penamaan objek](https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/olap-physical/object-naming-rules-analysis-services) dalam dokumentasi Microsoft.  | 
| Nama peran yang tidak valid diberikan. Nama peran tidak dapat berisi salah satu karakter cadangan berikut: . , ; ' ` : / \$1\$1 \$1 \$1 ? \$1" & % \$1 \$1 \$1 = ( ) [ ] \$1 \$1 < > | RDSprosedur tersimpan |  Nama peran tidak boleh berisi karakter yang dipesan. Untuk konvensi penamaan SSAS objek, lihat [Aturan penamaan objek](https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/olap-physical/object-naming-rules-analysis-services) dalam dokumentasi Microsoft.  | 

# Dukungan untuk SQL Server Integration Services di Amazon RDS for SQL Server
<a name="Appendix.SQLServer.Options.SSIS"></a>

Microsoft SQL Server Integration Services (SSIS) adalah komponen yang dapat Anda gunakan untuk melakukan berbagai tugas migrasi data. SSIS merupakan platform untuk integrasi data dan aplikasi alur kerja. SSIS dilengkapi dengan alat data warehousing yang digunakan untuk ekstraksi, transformasi, dan pemuatan (ETL) data. Anda juga dapat menggunakan alat ini untuk mengotomatiskan pemeliharaan basis data SQL Server dan pembaruan ke data kubus multidimensi.

Proyek SSIS diatur ke dalam paket-paket yang disimpan sebagai file .dtsx berbasis XML. Paket dapat berisi aliran kontrol dan aliran data. Anda menggunakan aliran data untuk mewakili operasi ETL. Setelah deployment, paket akan disimpan di SQL Server dalam basis data SSISDB. SSISDB adalah basis data pemrosesan transaksi online (OLTP) dalam mode pemulihan penuh.

Amazon RDS for SQL Server mendukung pengoperasian SSIS secara langsung di instans DB RDS. Anda dapat mengaktifkan SSIS di instans DB yang sudah ada atau yang baru. SSIS diinstal di instans DB yang sama seperti mesin basis data Anda.

RDS mendukung SSIS untuk SQL Server Standard dan Enterprise Editions pada versi berikut:
+ SQL Server 2022, semua versi
+ SQL Server 2019, versi 15.00.4043.16.v1 dan yang lebih baru
+ SQL Server 2017, versi 14.00.3223.3.v1 dan yang lebih baru
+ SQL Server 2016, versi 13.00.5426.0.v1 dan yang lebih baru

**Contents**
+ [Batasan dan rekomendasi](#SSIS.Limitations)
+ [Mengaktifkan SSIS](#SSIS.Enabling)
  + [Membuat grup opsi untuk SSIS](#SSIS.OptionGroup)
  + [Menambahkan opsi SSIS ke grup opsi](#SSIS.Add)
  + [Membuat grup parameter untuk SSIS](#SSIS.CreateParamGroup)
  + [Memodifikasi parameter untuk SSIS](#SSIS.ModifyParam)
  + [Mengaitkan grup opsi dan grup parameter dengan instans DB](#SSIS.Apply)
  + [Mengaktifkan integrasi S3](#SSIS.EnableS3)
+ [Izin administratif pada SSISDB](SSIS.Permissions.md)
  + [Menyiapkan pengguna yang diautentikasi Windows untuk SSIS](SSIS.Permissions.md#SSIS.Use.Auth)
+ [Melakukan deployment satu proyek SSIS](SSIS.Deploy.md)
+ [Memantau status tugas deployment](SSIS.Monitor.md)
+ [Menggunakan SSIS](SSIS.Use.md)
  + [Mengatur manajer koneksi database untuk SSIS proyek](SSIS.Use.md#SSIS.Use.ConnMgrs)
  + [Membuat SSIS proxy](SSIS.Use.md#SSIS.Use.Proxy)
  + [Menjadwalkan SSIS paket menggunakan SQL Server Agent](SSIS.Use.md#SSIS.Use.Schedule)
  + [Mencabut SSIS akses dari proxy](SSIS.Use.md#SSIS.Use.Revoke)
+ [Nonaktifkan dan jatuhkan SSIS database](SSIS.DisableDrop.md)
  + [Menonaktifkan SSIS](SSIS.DisableDrop.md#SSIS.Disable)
  + [Menjatuhkan database SSISDB](SSIS.DisableDrop.md#SSIS.Drop)

## Batasan dan rekomendasi
<a name="SSIS.Limitations"></a>

Batasan dan rekomendasi berikut ini berlaku untuk menjalankan SSIS di RDS for SQL Server:
+ Instans DB harus memiliki grup parameter terkait dengan parameter `clr enabled` yang diatur ke 1. Untuk informasi selengkapnya, lihat [Memodifikasi parameter untuk SSIS](#SSIS.ModifyParam).
**catatan**  
Jika Anda mengaktifkan parameter `clr enabled` di SQL Server 2017 atau 2019, Anda tidak dapat menggunakan runtime bahasa umum (CLR) di instans DB Anda. Untuk informasi selengkapnya, lihat [Fitur yang tidak didukung dan fitur dengan dukungan terbatas](SQLServer.Concepts.General.FeatureNonSupport.md).
+ Tugas alur kontrol berikut didukung:
  + Tugas Analysis Services Execute DDL
  + Tugas Analysis Services Processing
  + Tugas Bulk Insert
  + Tugas Check Database Integrity
  + Tugas Data Flow
  + Tugas Data Mining Query
  + Tugas Data Profiling
  + Tugas Execute Package
  + Tugas Execute SQL Server Agent Job
  + Tugas Execute SQL
  + Tugas Execute T-SQL Statement
  + Tugas Notify Operator
  + Tugas Rebuild Index
  + Tugas Reorganize Index
  + Tugas Shrink Database
  + Tugas Transfer Database
  + Tugas Transfer Jobs
  + Tugas Transfer Logins
  + Tugas Transfer SQL Server Objects
  + Tugas Update Statistics
+ Hanya deployment proyek yang didukung.
+ Menjalankan paket SSIS menggunakan SQL Server Agent didukung.
+ Catatan log SSIS dapat dimasukkan hanya ke basis data yang dibuat pengguna.
+ Hanya gunakan folder `D:\S3` untuk bekerja di file. File yang ditempatkan di direktori lain dihapus. Cara mengetahui beberapa detail lokasi file lainnya:
  + Tempatkan file input dan output proyek SSIS dalam folder `D:\S3`.
  + Untuk Tugas Data Flow, ubah lokasi untuk `BLOBTempStoragePath` dan `BufferTempStoragePath` ke file di dalam folder `D:\S3`. Jalur file harus dimulai dengan `D:\S3\`.
  + Pastikan semua parameter, variabel, dan ekspresi yang digunakan untuk koneksi file mengarah ke folder `D:\S3`.
  + Di instans Multi-AZ, file yang dibuat oleh SSIS dalam folder `D:\S3` akan dihapus setelah failover. Untuk informasi selengkapnya, lihat [Batasan Multi-AZ untuk integrasi S3](User.SQLServer.Options.S3-integration.md#S3-MAZ).
  + Unggah file yang dibuat oleh SSIS dalam folder `D:\S3` ke bucket Amazon S3 Anda agar dapat berdurabel.
+ Transformasi Kolom Impor dan Kolom Ekspor serta komponen Skrip pada Tugas Data Flow tidak didukung.
+ Anda tidak dapat mengaktifkan pembuangan saat menjalankan paket SSIS, dan juga tidak dapat menambahkan tap data pada paket SSIS.
+ Fitur SSIS Scale Out tidak didukung.
+ Anda tidak dapat melakukan deployment pada proyek secara langsung. Kami menyediakan prosedur RDS yang disimpan untuk melakukan hal ini. Untuk informasi selengkapnya, lihat [Melakukan deployment satu proyek SSIS](SSIS.Deploy.md).
+ Menyusun file proyek SSIS (.ispac) dengan mode perlindungan `DoNotSavePasswords` untuk deployment pada RDS.
+ SSIS tidak didukung di instans Always On dengan replika baca.
+ Anda tidak dapat mencadangkan basis data SSISDB yang terkait dengan opsi `SSIS`.
+ Mengimpor dan memulihkan basis data SSISDB dari instans SSIS lain tidak didukung.
+ Anda dapat terhubung ke instans DB SQL Server lainnya atau ke sumber data Oracle. Menghubungkan ke mesin basis data lain, seperti MySQL atau PostgreSQL, tidak didukung untuk SSIS di RDS for SQL Server. Untuk informasi selengkapnya mengenai cara menghubungkan ke sumber data Oracle, lihat [Server Tertaut dengan Oracle OLEDB](Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.md). 
+ SSIS tidak mendukung instans gabungan domain dengan kepercayaan keluar ke domain lokal. Saat menggunakan kepercayaan keluar, jalankan pekerjaan SSIS dari akun di domain lokal AWS .
+ Mengeksekusi paket berbasis sistem file tidak didukung.

## Mengaktifkan SSIS
<a name="SSIS.Enabling"></a>

Anda dapat mengaktifkan SSIS dengan menambahkan opsi SSIS ke instans DB Anda. Gunakan proses berikut:

1. Buat grup opsi baru, atau pilih grup opsi yang sudah ada.

1. Tambahkan opsi `SSIS` untuk grup opsi.

1. Buat grup parameter baru, atau pilih grup parameter yang sudah ada.

1. Ubah grup parameter untuk mengatur parameter `clr enabled` ke 1.

1. Kaitkan grup opsi dan grup parameter dengan instans DB.

1. Aktifkan integrasi Amazon S3.

**catatan**  
Jika basis data dengan nama SSISDB atau kredensial login SSIS yang dicadangkan sudah ada di instans DB, Anda tidak dapat mengaktifkan SSIS di instans.

### Membuat grup opsi untuk SSIS
<a name="SSIS.OptionGroup"></a>

Untuk dapat bekerja dengan SSIS, buat grup opsi atau ubah grup opsi yang sesuai dengan edisi SQL Server dan versi instans DB yang akan Anda gunakan. Untuk melakukan ini, gunakan Konsol Manajemen AWS atau AWS CLI.

#### Konsol
<a name="SSIS.OptionGroup.Console"></a>

Prosedur berikut akan membuat grup opsi untuk SQL Server Standard Edition 2016.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di jendela **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam AWS akun Anda, seperti**ssis-se-2016**. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung.

   1. Untuk **Deskripsi**, masukkan deskripsi singkat grup opsi, seperti **SSIS option group for SQL Server SE 2016**. Deskripsi digunakan untuk tampilan. 

   1. Untuk **Mesin**, pilih **sqlserver-se**.

   1. Untuk **Versi mesin utama**, pilih **13.00**.

1. Pilih **Buat**.

#### CLI
<a name="SSIS.OptionGroup.CLI"></a>

Prosedur berikut akan membuat grup opsi untuk SQL Server Standard Edition 2016.

**Untuk membuat grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-option-group \
      --option-group-name ssis-se-2016 \
      --engine-name sqlserver-se \
      --major-engine-version 13.00 \
      --option-group-description "SSIS option group for SQL Server SE 2016"
  ```

  Untuk Windows:

  ```
  aws rds create-option-group ^
      --option-group-name ssis-se-2016 ^
      --engine-name sqlserver-se ^
      --major-engine-version 13.00 ^
      --option-group-description "SSIS option group for SQL Server SE 2016"
  ```

### Menambahkan opsi SSIS ke grup opsi
<a name="SSIS.Add"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `SSIS` opsi ke grup opsi Anda.

#### Konsol
<a name="SSIS.Add.Console"></a>

**Untuk menambahkan opsi SSIS**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Option groups**.

1. Pilih grup opsi yang baru saja Anda buat, **ssis-se-2016** dalam contoh ini.

1. Pilih **Tambah opsi**.

1. Di bagian **Detail opsi**, pilih **SSIS** untuk **Nama opsi**.

1. Di bagian **Penjadwalan**, pilih apakah akan menambahkan opsi langsung atau pada masa pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

#### CLI
<a name="SSIS.Add.CLI"></a>

**Untuk menambahkan opsi SSIS**
+ Tambahkan opsi `SSIS` untuk grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name ssis-se-2016 \
      --options OptionName=SSIS \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name ssis-se-2016 ^
      --options OptionName=SSIS ^
      --apply-immediately
  ```

### Membuat grup parameter untuk SSIS
<a name="SSIS.CreateParamGroup"></a>

Membuat atau mengubah grup parameter untuk parameter `clr enabled` yang sesuai dengan edisi SQL Server dan versi instans DB yang akan Anda gunakan untuk SSIS.

#### Konsol
<a name="SSIS.CreateParamGroup.Console"></a>

Prosedur berikut akan membuat grup parameter untuk SQL Server Standard Edition 2016.

**Untuk membuat grup parameter**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup parameter**.

1. Pilih **Buat grup parameter**.

1. Di panel **Buat grup parameter**, lakukan hal berikut:

   1. Untuk **Rangkaian grup parameter**, pilih **sqlserver-se-13.0**.

   1. Untuk **Nama grup**, masukkan pengidentifikasi grup parameter, seperti **ssis-sqlserver-se-13**.

   1. Untuk **Deskripsi**, masukkan **clr enabled parameter group**.

1. Pilih **Buat**.

#### CLI
<a name="SSIS.CreateParamGroup.CLI"></a>

Prosedur berikut akan membuat grup parameter untuk SQL Server Standard Edition 2016.

**Untuk membuat grup parameter**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "clr enabled parameter group"
  ```

  Untuk Windows:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "clr enabled parameter group"
  ```

### Memodifikasi parameter untuk SSIS
<a name="SSIS.ModifyParam"></a>

Ubah parameter `clr enabled` di grup parameter yang sesuai dengan edisi SQL Server dan versi instans DB Anda. Untuk SSIS, atur parameter `clr enabled` ke 1.

#### Konsol
<a name="SSIS.ModifyParam.Console"></a>

Prosedur berikut akan mengubah grup parameter yang telah Anda buat untuk SQL Server Standard Edition 2016.

**Untuk mengubah grup parameter**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup parameter**.

1. Pilih grup parameter, seperti **ssis-sqlserver-se-13**.

1. Di bagian **Parameter**, filter daftar parameter untuk **clr**.

1. Pilih **clr diaktifkan**.

1. Pilih **Edit parameter**.

1. Dari **Nilai**, pilih **1**.

1. Pilih **Simpan perubahan**.

#### CLI
<a name="SSIS.ModifyParam.CLI"></a>

Prosedur berikut akan mengubah grup parameter yang telah Anda buat untuk SQL Server Standard Edition 2016.

**Untuk mengubah grup parameter**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"
  ```

  Untuk Windows:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"
  ```

### Mengaitkan grup opsi dan grup parameter dengan instans DB
<a name="SSIS.Apply"></a>

Untuk mengaitkan grup opsi SSIS dan grup parameter dengan instans DB Anda, gunakan Konsol Manajemen AWS atau AWS CLI 

**catatan**  
Jika Anda menggunakan instance yang ada, itu harus sudah memiliki domain Direktori Aktif dan peran AWS Identity and Access Management (IAM) yang terkait dengannya. Jika Anda membuat instans baru, tentukan domain Active Directory dan peran IAM yang sudah ada. Untuk informasi selengkapnya, lihat [Menggunakan Active Directory dengan RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

#### Konsol
<a name="SSIS.Apply.Console"></a>

Untuk menyelesaikan pengaktifan SSIS, kaitkan grup opsi dan grup parameter SSIS Anda dengan instans DB baru atau yang sudah ada:
+ Untuk instans DB baru, kaitkan saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang sudah ada, kaitkan dengan memodifikasi instans. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

#### CLI
<a name="SSIS.Apply.CLI"></a>

Anda dapat mengaitkan grup opsi SSIS dan grup parameter dengan instans DB baru atau yang sudah ada.

**Untuk membuat instans dengan grup opsi dan grup parameter SSIS**
+ Tentukan jenis mesin DB dan versi utama yang sama seperti yang Anda gunakan saat membuat grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssisinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name ssis-se-2016 \
      --db-parameter-group-name ssis-sqlserver-se-13
  ```

  Untuk Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssisinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name ssis-se-2016 ^
      --db-parameter-group-name ssis-sqlserver-se-13
  ```

**Untuk mengubah instans serta mengaitkan grup opsi dan grup parameter SSIS**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssisinstance \
      --option-group-name ssis-se-2016 \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssisinstance ^
      --option-group-name ssis-se-2016 ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --apply-immediately
  ```

### Mengaktifkan integrasi S3
<a name="SSIS.EnableS3"></a>

Untuk mengunduh file proyek SSIS (.ispac) ke host Anda untuk deployment, gunakan integrasi file S3. Lihat informasi yang lebih lengkap di [Mengintegrasikan instans DB Amazon RDS for SQL Server dengan Amazon S3](User.SQLServer.Options.S3-integration.md).

# Izin administratif pada SSISDB
<a name="SSIS.Permissions"></a>

Ketika instance dibuat atau dimodifikasi dengan SSIS opsi, hasilnya adalah SSISDB database dengan peran ssis\$1admin dan ssis\$1logreader yang diberikan kepada pengguna master. Pengguna master memiliki hak istimewa berikut diSSISDB:
+ mengubah peran ssis\$1admin
+ mengganti peran ssis\$1logreader
+ mengubah pengguna mana pun

Karena pengguna master adalah pengguna yang SQL diautentikasi, Anda tidak dapat menggunakan pengguna master untuk mengeksekusi SSIS paket. Pengguna master dapat menggunakan hak istimewa ini untuk membuat SSISDB pengguna baru dan menambahkannya ke peran ssis\$1admin dan ssis\$1logreader. Melakukan hal ini berguna untuk memberikan akses ke pengguna domain Anda untuk digunakanSSIS.

## Menyiapkan pengguna yang diautentikasi Windows untuk SSIS
<a name="SSIS.Use.Auth"></a>

Pengguna master dapat menggunakan contoh kode berikut untuk mengatur login yang diautentikasi Windows SSISDB dan memberikan izin prosedur yang diperlukan. Melakukan hal ini memberikan izin kepada pengguna domain untuk menyebarkan dan menjalankan SSIS paket, menggunakan prosedur transfer file S3, membuat kredensi, dan bekerja dengan proxy Agen Server. SQL Untuk informasi selengkapnya, lihat [Kredensial (mesin database)](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/credentials-database-engine?view=sql-server-ver15) dan [Membuat proxy Agen SQL Server](https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver15) di dokumentasi Microsoft.

**catatan**  
Anda dapat memberikan beberapa atau semua izin berikut sesuai kebutuhan kepada pengguna yang diautentikasi Windows.

**Example**  

```
-- Create a server-level SQL login for the domain user, if it doesn't already exist
USE [master]
GO
CREATE LOGIN [mydomain\user_name] FROM WINDOWS
GO						
						
-- Create a database-level account for the domain user, if it doesn't already exist						
USE [SSISDB]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Add SSIS role membership to the domain user
ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name]
ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name]
GO

-- Add MSDB role membership to the domain user
USE [msdb]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Grant MSDB stored procedure privileges to the domain user
GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option
GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name]  with grant option
GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION


-- Add the SQLAgentUserRole privilege to the domain user
USE [msdb]
GO
ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name]
GO

-- Grant the ALTER ANY CREDENTIAL privilege to the domain user
USE [master]
GO
GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name]
GO
```

# Melakukan deployment satu proyek SSIS
<a name="SSIS.Deploy"></a>

Pada RDS, Anda tidak dapat melakukan deployment proyek SSIS secara langsung menggunakan prosedur SQL Server Management Studio (SSMS) atau SSIS. Untuk mengunduh file proyek dari Amazon S3 lalu melakukan deployment, gunakan prosedur tersimpan RDS.

Untuk menjalankan prosedur tersimpan, lakukan login sebagai pengguna yang Anda berikan izin agar dapat menjalankan prosedur tersimpan. Untuk informasi lebih lanjut, lihat [Menyiapkan pengguna yang diautentikasi Windows untuk SSIS](SSIS.Permissions.md#SSIS.Use.Auth).

**Untuk melakukan deployment proyek SSIS**

1. Unduh file proyek (.ispac).

   ```
   exec msdb.dbo.rds_download_from_s3
   @s3_arn_of_file='arn:aws:s3:::bucket_name/ssisproject.ispac',
   @rds_file_path='D:\S3\ssisproject.ispac',
   @overwrite_file=1;
   ```

1. Kirim tugas deployment dan pastikan beberapa hal berikut:
   + Folder ini ada di katalog SSIS.
   + Nama proyek sesuai dengan nama proyek yang Anda gunakan saat mengembangkan proyek SSIS.

   ```
   exec msdb.dbo.rds_msbi_task
   @task_type='SSIS_DEPLOY_PROJECT',
   @folder_name='DEMO',
   @project_name='ssisproject',
   @file_path='D:\S3\ssisproject.ispac';
   ```

# Memantau status tugas deployment
<a name="SSIS.Monitor"></a>

Untuk melacak status tugas deployment Anda, panggil fungsi `rds_fn_task_status`. Pelacakan status membutuhkan dua parameter. Parameter pertama harus selalu `NULL` karena tidak berlaku untukSSIS. Parameter kedua menerima ID tugas. 

Untuk melihat daftar semua tugas, tetapkan parameter pertama ke `NULL` dan parameter kedua ke `0`, seperti yang ditunjukkan dalam contoh berikut.

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);
```

Untuk melihat daftar semua tugas, tetapkan parameter pertama ke `NULL` dan parameter kedua ke ID tugas, seperti yang ditunjukkan dalam contoh berikut.

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);
```

Fungsi `rds_fn_task_status` menampilkan informasi berikut.


| Parameter output | Deskripsi | 
| --- | --- | 
| `task_id` | ID tugas. | 
| `task_type` | `SSIS_DEPLOY_PROJECT` | 
| `database_name` | Tidak berlaku untuk SSIS tugas. | 
| `% complete` | Kemajuan tugas sebagai persentase. | 
| `duration (mins)` | Jumlah waktu yang dihabiskan untuk tugas, dalam menit. | 
| `lifecycle` |  Status tugas. Status yang mungkin adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SSIS.Monitor.html)  | 
| `task_info` | Informasi tambahan tentang tugas. Jika terjadi kesalahan selama pemrosesan, kolom ini berisi informasi tentang kesalahan tersebut. | 
| `last_updated` | Tanggal dan waktu status tugas terakhir diperbarui. | 
| `created_at` | Tanggal dan waktu tugas dibuat. | 
| `S3_object_arn` |  Tidak berlaku untuk SSIS tugas.  | 
| `overwrite_S3_backup_file` | Tidak berlaku untuk SSIS tugas. | 
| `KMS_master_key_arn` |  Tidak berlaku untuk SSIS tugas.  | 
| `filepath` |  Tidak berlaku untuk SSIS tugas.  | 
| `overwrite_file` |  Tidak berlaku untuk SSIS tugas.  | 
| `task_metadata` | Metadata yang terkait dengan tugas. SSIS | 

# Menggunakan SSIS
<a name="SSIS.Use"></a>

Setelah menyebarkan SSIS proyek ke dalam SSIS katalog, Anda dapat menjalankan paket langsung dari SSMS atau menjadwalkannya dengan menggunakan Agen SQL Server. Anda harus menggunakan login yang diautentikasi Windows untuk mengeksekusi paket. SSIS Untuk informasi selengkapnya, lihat [Menyiapkan pengguna yang diautentikasi Windows untuk SSIS](SSIS.Permissions.md#SSIS.Use.Auth).

**Topics**
+ [Mengatur manajer koneksi database untuk SSIS proyek](#SSIS.Use.ConnMgrs)
+ [Membuat SSIS proxy](#SSIS.Use.Proxy)
+ [Menjadwalkan SSIS paket menggunakan SQL Server Agent](#SSIS.Use.Schedule)
+ [Mencabut SSIS akses dari proxy](#SSIS.Use.Revoke)

## Mengatur manajer koneksi database untuk SSIS proyek
<a name="SSIS.Use.ConnMgrs"></a>

Saat menggunakan pengelola koneksi, Anda dapat menggunakan jenis autentikasi ini:
+ Untuk koneksi database lokal menggunakan AWS Managed Active Directory, Anda dapat menggunakan SQL otentikasi atau otentikasi Windows. Untuk autentikasi Windows, gunakan `DB_instance_name.fully_qualified_domain_name` sebagai nama server dari string koneksi.

  Contohnya adalah `myssisinstance.corp-ad.example.com`, dengan `myssisinstance` adalah nama instans DB dan `corp-ad.example.com` adalah nama domain yang sepenuhnya memenuhi syarat.
+ Untuk koneksi jarak jauh, selalu gunakan SQL otentikasi.
+ Untuk koneksi database lokal menggunakan Active Directory yang dikelola sendiri, Anda dapat menggunakan SQL otentikasi atau otentikasi Windows. Untuk autentikasi Windows, gunakan `.` atau `LocalHost` sebagai nama server dari string koneksi.

## Membuat SSIS proxy
<a name="SSIS.Use.Proxy"></a>

Untuk dapat menjadwalkan SSIS paket menggunakan SQL Server Agent, buat SSIS kredensi dan SSIS proxy. Jalankan prosedur ini sebagai pengguna yang diautentikasi Windows.

**Untuk membuat SSIS kredensi**
+ Buat kredensial untuk proksi. Untuk melakukan ini, Anda dapat menggunakan SSMS atau SQL pernyataan berikut.

  ```
  USE [master]
  GO
  CREATE CREDENTIAL [SSIS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret'
  GO
  ```
**catatan**  
`IDENTITY` harus merupakan kredensial login yang diautentikasi domain. Ganti `mysecret` dengan kata sandi untuk kredensial login yang diautentikasi domain.  
Setiap kali host SSISDB utama diubah, ubah kredensi SSIS proxy untuk memungkinkan host baru mengaksesnya.

**Untuk membuat SSIS proxy**

1. Gunakan SQL pernyataan berikut untuk membuat proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSIS_Proxy',@credential_name=N'SSIS_Credential',@description=N''
   GO
   ```

1. Gunakan SQL pernyataan berikut untuk memberikan akses ke proxy ke pengguna lain.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSIS_Proxy',@login_name=N'mydomain\user_name'
   GO
   ```

1. Gunakan SQL pernyataan berikut untuk memberikan SSIS subsistem akses ke proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS'
   GO
   ```

**Untuk melihat proksi dan izin pada proksi**

1. Gunakan SQL pernyataan berikut untuk melihat penerima hibah proxy.

   ```
   USE [msdb]
   GO
   EXEC sp_help_proxy
   GO
   ```

1. Gunakan SQL pernyataan berikut untuk melihat hibah subsistem.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_enum_proxy_for_subsystem
   GO
   ```

## Menjadwalkan SSIS paket menggunakan SQL Server Agent
<a name="SSIS.Use.Schedule"></a>

Setelah Anda membuat kredensi dan proxy dan memberikan SSIS akses ke proxy, Anda dapat membuat pekerjaan Agen SQL Server untuk menjadwalkan SSIS paket.

**Untuk menjadwalkan SSIS paket**
+ Anda dapat menggunakan SSMS atau T- SQL untuk membuat pekerjaan Agen SQL Server. Contoh berikut menggunakan T-SQL.

  ```
  USE [msdb]
  GO
  DECLARE @jobId BINARY(16)
  EXEC msdb.dbo.sp_add_job @job_name=N'MYSSISJob',
  @enabled=1,
  @notify_level_eventlog=0,
  @notify_level_email=2,
  @notify_level_page=2,
  @delete_level=0,
  @category_name=N'[Uncategorized (Local)]',
  @job_id = @jobId OUTPUT
  GO
  EXEC msdb.dbo.sp_add_jobserver @job_name=N'MYSSISJob',@server_name=N'(local)'
  GO
  EXEC msdb.dbo.sp_add_jobstep @job_name=N'MYSSISJob',@step_name=N'ExecuteSSISPackage',
  @step_id=1,
  @cmdexec_success_code=0,
  @on_success_action=1,
  @on_fail_action=2,
  @retry_attempts=0,
  @retry_interval=0,
  @os_run_priority=0,
  @subsystem=N'SSIS',
  @command=N'/ISSERVER "\"\SSISDB\MySSISFolder\MySSISProject\MySSISPackage.dtsx\"" /SERVER "\"my-rds-ssis-instance.corp-ad.company.com/\"" 
  /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E',
  @database_name=N'master',
  @flags=0,
  @proxy_name=N'SSIS_Proxy'
  GO
  ```

## Mencabut SSIS akses dari proxy
<a name="SSIS.Use.Revoke"></a>

Anda dapat mencabut akses ke SSIS subsistem dan menghapus SSIS proxy menggunakan prosedur tersimpan berikut.

**Untuk mencabut akses dan menghapus proksi**

1. Mencabut akses subsistem.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS'
   GO
   ```

1. Mencabut izin pada proksi.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSIS_Proxy',@name=N'mydomain\user_name'
   GO
   ```

1. Hapus proksi.

   ```
   USE [msdb]
   GO
   EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy'
   GO
   ```

# Nonaktifkan dan jatuhkan SSIS database
<a name="SSIS.DisableDrop"></a>

Gunakan langkah-langkah berikut untuk menonaktifkan atau menjatuhkan SSIS database:

**Topics**
+ [Menonaktifkan SSIS](#SSIS.Disable)
+ [Menjatuhkan database SSISDB](#SSIS.Drop)

## Menonaktifkan SSIS
<a name="SSIS.Disable"></a>

Untuk menonaktifkanSSIS, hapus `SSIS` opsi dari grup opsinya.

**penting**  
Menghapus opsi tidak menghapus SSISDB database, sehingga Anda dapat menghapus opsi dengan aman tanpa kehilangan SSIS proyek.  
Anda dapat mengaktifkan kembali `SSIS` opsi setelah penghapusan untuk menggunakan kembali SSIS proyek yang sebelumnya digunakan ke katalog. SSIS

### Konsol
<a name="SSIS.Disable.Console"></a>

Prosedur berikut akan menghapus opsi `SSIS`.

**Untuk menghapus SSIS opsi dari grup opsinya**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `SSIS` (`ssis-se-2016` dalam contoh sebelumnya).

1. Pilih **Hapus opsi**.

1. Di bawah **Opsi penghapusan, pilih Opsi SSIS****** **untuk** dihapus.

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya pada masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

### CLI
<a name="SSIS.Disable.CLI"></a>

Prosedur berikut menghapus opsi `SSIS`.

**Untuk menghapus SSIS opsi dari grup opsinya**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name ssis-se-2016 \
      --options SSIS \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name ssis-se-2016 ^
      --options SSIS ^
      --apply-immediately
  ```

## Menjatuhkan database SSISDB
<a name="SSIS.Drop"></a>

Setelah menghapus SSIS opsi, SSISDB database tidak dihapus. Untuk menjatuhkan SSISDB database, gunakan prosedur yang `rds_drop_ssis_database` disimpan setelah menghapus SSIS opsi.

**Untuk menjatuhkan SSIS database**
+ Gunakan prosedur tersimpan berikut.

  ```
  USE [msdb]
  GO
  EXEC dbo.rds_drop_ssis_database
  GO
  ```

Setelah menjatuhkan SSISDB database, jika Anda mengaktifkan kembali SSIS opsi Anda mendapatkan katalog baruSSISDB.

# Support untuk Layanan Pelaporan SQL Server di Amazon RDS untuk SQL Server
<a name="Appendix.SQLServer.Options.SSRS"></a>

Microsoft SQL Server Reporting Services (SSRS) adalah aplikasi berbasis server yang digunakan untuk pembuatan dan distribusi laporan. Ini adalah bagian dari rangkaian layanan SQL Server yang juga mencakup Layanan Analisis SQL Server (SSAS) dan Layanan Integrasi SQL Server (SSIS). SSRSadalah layanan yang dibangun di atas SQL Server. Anda dapat menggunakannya untuk mengumpulkan data dari berbagai sumber data dan menyajikannya dengan cara yang mudah dimengerti dan siap untuk dianalisis.

Amazon RDS for SQL Server mendukung berjalan SSRS langsung pada instans RDS DB. Anda dapat menggunakan SSRS dengan instans DB yang ada atau baru.

RDSmendukung SSRS untuk SQL Server Standard dan Enterprise Editions pada versi berikut:
+ SQLServer 2022, semua versi
+ SQLServer 2019, versi 15.00.4043.16.v1 dan lebih tinggi
+ SQLServer 2017, versi 14.00.3223.3.v1 dan lebih tinggi
+ SQLServer 2016, versi 13.00.5820.21.v1 dan lebih tinggi

**Contents**
+ [Batasan dan rekomendasi](#SSRS.Limitations)
+ [Mengaktifkan SSRS](SSRS.Enabling.md)
  + [Membuat grup opsi untuk SSRS](SSRS.Enabling.md#SSRS.OptionGroup)
  + [Menambahkan opsi SSRS ke grup opsi Anda](SSRS.Enabling.md#SSRS.Add)
  + [Mengaitkan grup opsi Anda dengan instans DB Anda](SSRS.Enabling.md#SSRS.Apply)
  + [Mengizinkan akses masuk ke grup keamanan VPC Anda](SSRS.Enabling.md#SSRS.Inbound)
+ [Laporkan basis data server](#SSRS.DBs)
+ [SSRSberkas log](#SSRS.Logs)
+ [Mengakses portal SSRS web](SSRS.Access.md)
  + [Menggunakan SSL pada RDS](SSRS.Access.md#SSRS.Access.SSL)
  + [Memberikan akses ke pengguna domain](SSRS.Access.md#SSRS.Access.Grant)
  + [Mengakses portal web](SSRS.Access.md#SSRS.Access)
+ [Menyebarkan laporan dan mengonfigurasi sumber data laporan](SSRS.DeployConfig.md)
  + [Menyebarkan laporan ke SSRS](SSRS.DeployConfig.md#SSRS.Deploy)
  + [Mengonfigurasi sumber data laporan](SSRS.DeployConfig.md#SSRS.ConfigureDataSource)
+ [Menggunakan Email SSRS untuk mengirim laporan](SSRS.Email.md)
+ [Mencabut izin tingkat sistem](SSRS.Access.Revoke.md)
+ [Memantau status tugas](SSRS.Monitor.md)
+ [Menonaktifkan dan menghapus database SSRS](SSRS.DisableDelete.md)
  + [Mematikan SSRS](SSRS.DisableDelete.md#SSRS.Disable)
  + [Menghapus database SSRS](SSRS.DisableDelete.md#SSRS.Drop)

## Batasan dan rekomendasi
<a name="SSRS.Limitations"></a>

Batasan dan rekomendasi berikut berlaku untuk menjalankan SSRS RDS untuk SQL Server:
+ Anda tidak dapat menggunakan SSRS pada instans DB yang telah membaca replika.
+ Instans harus menggunakan Active Directory yang dikelola sendiri atau AWS Directory Service for Microsoft Active Directory untuk otentikasi portal SSRS web dan server web. Untuk informasi selengkapnya, lihat [Menggunakan Active Directory dengan RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md). 
+ Anda tidak dapat membuat cadangan database server pelaporan yang dibuat dengan SSRS opsi.
+ Mengimpor dan memulihkan database server laporan dari instance lain tidak didukung. SSRS Untuk informasi selengkapnya, lihat [Laporkan basis data server](#SSRS.DBs).
+ Anda tidak dapat mengonfigurasi SSRS untuk mendengarkan pada SSL port default (443). Nilai yang diizinkan adalah 1150–49511, kecuali 1234, 1434, 3260, 3343, 3389, dan 47001.
+ Langganan melalui berbagi berkas Microsoft Windows tidak didukung.
+ Menggunakan Reporting Services Configuration Manager tidak didukung.
+ Membuat dan memodifikasi peran tidak didukung.
+ Memodifikasi properti server laporan tidak didukung.
+ Administrator sistem dan peran pengguna sistem tidak diizinkan.
+ Anda tidak dapat mengedit penetapan peran tingkat sistem melalui portal web.

# Mengaktifkan SSRS
<a name="SSRS.Enabling"></a>

Gunakan proses berikut untuk mengaktifkan SSRS untuk instans DB Anda:

1. Buat grup opsi baru, atau pilih grup opsi yang sudah ada.

1. Tambahkan opsi `SSRS` untuk grup opsi.

1. Kaitkan grup opsi dengan instans DB.

1. Izinkan akses masuk ke grup keamanan cloud privat virtual (VPC) untuk port pendengar SSRS.

## Membuat grup opsi untuk SSRS
<a name="SSRS.OptionGroup"></a>

Untuk bekerja dengan SSRS, buat grup opsi yang sesuai dengan versi dan mesin SQL Server untuk instans DB yang ingin Anda gunakan. Untuk melakukan ini, gunakan Konsol Manajemen AWS atau AWS CLI. 

**catatan**  
Anda juga dapat menggunakan grup opsi yang ada jika grup opsi tersebut untuk mesin dan versi SQL Server yang benar.

### Konsol
<a name="SSRS.OptionGroup.Console"></a>

Prosedur berikut membuat grup opsi untuk SQL Server Standard Edition 2017.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di panel **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam Anda Akun AWS, seperti**ssrs-se-2017**. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung.

   1. Untuk **Deskripsi**, masukkan deskripsi singkat grup opsi, seperti **SSRS option group for SQL Server SE 2017**. Deskripsi digunakan untuk tampilan.

   1. Untuk **Mesin**, pilih **sqlserver-se**.

   1. Untuk **Versi mesin utama**, pilih **14.00**.

1. Pilih **Buat**.

### CLI
<a name="SSRS.OptionGroup.CLI"></a>

Prosedur berikut membuat grup opsi untuk SQL Server Standard Edition 2017.

**Untuk membuat grup opsi**
+ Gunakan salah satu perintah berikut ini.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws rds create-option-group \
    --option-group-name ssrs-se-2017 \
    --engine-name sqlserver-se \
    --major-engine-version 14.00 \
    --option-group-description "SSRS option group for SQL Server SE 2017"
```
Untuk Windows:  

```
aws rds create-option-group ^
    --option-group-name ssrs-se-2017 ^
    --engine-name sqlserver-se ^
    --major-engine-version 14.00 ^
    --option-group-description "SSRS option group for SQL Server SE 2017"
```

## Menambahkan opsi SSRS ke grup opsi Anda
<a name="SSRS.Add"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `SSRS` opsi ke grup opsi Anda.

### Konsol
<a name="SSRS.Add.CON"></a>

**Untuk menambahkan opsi SSRS**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi yang baru saja Anda buat, lalu pilih **Tambahkan opsi**.

1. Pada **Detail opsi**, pilih **SSRS** untuk **Nama opsi**.

1. Pada **Pengaturan opsi**, lakukan berikut ini:

   1. Masukkan port untuk layanan SSRS untuk mendengarkan. Default-nya adalah 8443. Untuk daftar nilai yang diizinkan, lihat [Batasan dan rekomendasi](Appendix.SQLServer.Options.SSRS.md#SSRS.Limitations).

   1. Masukkan nilai untuk **Memori maks**.

      **Memori maks** menentukan ambang atas yang di atasnya tidak ada permintaan alokasi memori baru yang diberikan untuk melaporkan aplikasi server. Jumlah tersebut adalah persentase dari total memori instans DB. Nilai yang diperbolehkan adalah 10-80.

   1. Untuk **Grup keamanan**, pilih grup keamanan VPC untuk dikaitkan dengan opsi. Gunakan grup keamanan yang sama yang terkait dengan instans DB Anda.

1. Untuk menggunakan Email SSRS untuk mengirim laporan, centang **Konfigurasikan opsi pengiriman email** di bagian **Pengiriman email dalam layanan pelaporan**, lalu lakukan berikut ini:

   1. Untuk **alamat email Pengirim**, masukkan alamat email yang akan digunakan di bidang **Dari** pada pesan yang dikirim oleh Email SSRS.

      Tentukan akun pengguna yang memiliki izin untuk mengirim email dari server SMTP.

   1. Untuk **server SMTP**, tentukan gateway atau server SMTP yang akan digunakan.

      Ini dapat berupa alamat IP, nama NetBIOS komputer di intranet perusahaan Anda, atau nama domain yang sepenuhnya memenuhi syarat.

   1. Untuk **port SMTP**, masukkan port yang akan digunakan untuk menghubungkan ke server email. Default-nya adalah 25.

   1. Untuk menggunakan autentikasi:

      1. Centang kotak **Gunakan autentikasi**.

      1. Untuk **Rahasia Amazon Resource Name (ARN)** masukkan AWS Secrets Manager ARN untuk kredensi pengguna.

         Gunakan format berikut:

         **arn:aws:secretsmanager:*Region*:*AccountId*:secret:*SecretName*-*6RandomCharacters***

         Contoh:

         **arn:aws:secretsmanager:*us-west-2*:*123456789012*:secret:*MySecret-a1b2c3***

         Untuk informasi lebih lanjut tentang pembuatan rahasia, lihat [Menggunakan Email SSRS untuk mengirim laporan](SSRS.Email.md).

   1. Pilih **Gunakan Secure Sockets Layer (SSL)** untuk mengenkripsi pesan email menggunakan SSL.

1. Pada **Scheduling**, tentukan apakah akan menambahkan opsi segera atau pada periode pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

### CLI
<a name="SSRS.Add.CLI"></a>

**Untuk menambahkan opsi SSRS**

1. Buat file JSON, misalnya `ssrs-option.json`.

   1. Tetapkan parameter wajib berikut:
      + `OptionGroupName` – Nama grup opsi yang Anda buat atau pilih sebelumnya (`ssrs-se-2017` dalam contoh berikut).
      + `Port` – Port untuk layanan SSRS untuk didengarkan. Default-nya adalah 8443. Untuk daftar nilai yang diizinkan, lihat [Batasan dan rekomendasi](Appendix.SQLServer.Options.SSRS.md#SSRS.Limitations).
      + `VpcSecurityGroupMemberships` – Keanggotaan grup keamanan VPC untuk instans DB RDS Anda.
      + `MAX_MEMORY` – Ambang batas atas yang di atasnya tidak ada permintaan alokasi memori baru yang diberikan untuk melaporkan aplikasi server. Jumlah tersebut adalah persentase dari total memori instans DB. Nilai yang diperbolehkan adalah 10-80.

   1. (Opsional) Tetapkan parameter berikut untuk menggunakan SSRS Email:
      + `SMTP_ENABLE_EMAIL` – Tetapkan menjadi `true` untuk menggunakan Email SSRS. Nilai default-nya `false`.
      + `SMTP_SENDER_EMAIL_ADDRESS` – Alamat email yang akan digunakan di bidang **Dari** pada pesan yang dikirim oleh Email SSRS. Tentukan akun pengguna yang memiliki izin untuk mengirim email dari server SMTP.
      + `SMTP_SERVER` – Gateway atau server SMTP yang akan digunakan. Ini dapat berupa alamat IP, nama NetBIOS komputer di intranet perusahaan Anda, atau nama domain yang sepenuhnya memenuhi syarat.
      + `SMTP_PORT` – Port yang digunakan untuk menghubungkan ke server email. Default-nya adalah 25.
      + `SMTP_USE_SSL` – Tetapkan menjadi `true` untuk mengenkripsi pesan email menggunakan SSL. Nilai default-nya `true`.
      + `SMTP_EMAIL_CREDENTIALS_SECRET_ARN` – Secrets Manager ARN yang memegang kredensial pengguna. Gunakan format berikut:

        **arn:aws:secretsmanager:*Region*:*AccountId*:secret:*SecretName*-*6RandomCharacters***

        Untuk informasi lebih lanjut tentang pembuatan rahasia, lihat [Menggunakan Email SSRS untuk mengirim laporan](SSRS.Email.md).
      + `SMTP_USE_ANONYMOUS_AUTHENTICATION` – Tetapkan menjadi `true` dan jangan sertakan `SMTP_EMAIL_CREDENTIALS_SECRET_ARN` jika Anda tidak ingin menggunakan autentikasi.

        Default-nya adalah `false` jika `SMTP_ENABLE_EMAIL` adalah `true`.

   Contoh berikut mencakup parameter Email SSRS, menggunakan ARN rahasia.

   ```
   {
   "OptionGroupName": "ssrs-se-2017",
   "OptionsToInclude": [
   	{
   	"OptionName": "SSRS",
   	"Port": 8443,
   	"VpcSecurityGroupMemberships": ["sg-0abcdef123"],
   	"OptionSettings": [
               {"Name": "MAX_MEMORY","Value": "60"},
               {"Name": "SMTP_ENABLE_EMAIL","Value": "true"}
               {"Name": "SMTP_SENDER_EMAIL_ADDRESS","Value": "nobody@example.com"},
               {"Name": "SMTP_SERVER","Value": "email-smtp.us-west-2.amazonaws.com"},
               {"Name": "SMTP_PORT","Value": "25"},
               {"Name": "SMTP_USE_SSL","Value": "true"},
               {"Name": "SMTP_EMAIL_CREDENTIALS_SECRET_ARN","Value": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret-a1b2c3"}
               ]
   	}],
   "ApplyImmediately": true
   }
   ```

1. Tambahkan opsi `SSRS` untuk grup opsi.  
**Example**  

   Untuk Linux, macOS, atau Unix:

   ```
   aws rds add-option-to-option-group \
       --cli-input-json file://ssrs-option.json \
       --apply-immediately
   ```

   Untuk Windows:

   ```
   aws rds add-option-to-option-group ^
       --cli-input-json file://ssrs-option.json ^
       --apply-immediately
   ```

## Mengaitkan grup opsi Anda dengan instans DB Anda
<a name="SSRS.Apply"></a>

Gunakan Konsol Manajemen AWS or AWS CLI untuk mengaitkan grup opsi Anda dengan instans DB Anda.

Jika Anda menggunakan instans DB yang ada, instans tersebut harus memiliki domain Active Directory dan peran AWS Identity and Access Management (IAM) yang terkait dengannya. Jika Anda membuat instans baru, tentukan domain Active Directory dan peran IAM yang ada. Untuk informasi selengkapnya, lihat [Menggunakan Active Directory dengan RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

### Konsol
<a name="SSRS.Apply.Console"></a>

Anda dapat mengaitkan grup opsi dengan instans DB baru atau yang sudah ada:
+ Untuk instans DB baru, kaitkan grup opsi saat Anda meluncurkan instans tersebut. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang ada, ubah instans tersebut dan kaitkan grup opsi baru. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

### CLI
<a name="SSRS.Apply.CLI"></a>

Anda dapat mengaitkan grup opsi dengan instans DB baru atau yang sudah ada.

**Untuk membuat instans DB yang menggunakan grup opsi Anda**
+ Tentukan jenis mesin DB dan versi utama yang sama seperti yang Anda gunakan saat membuat grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssrsinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 14.00.3223.3.v1 \
      --allocated-storage 100 \
      --manage-master-user-password  \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name ssrs-se-2017
  ```

  Untuk Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssrsinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 14.00.3223.3.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name ssrs-se-2017
  ```

**Untuk mengubah instans DB untuk menggunakan grup opsi Anda**
+ Jalankan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssrsinstance \
      --option-group-name ssrs-se-2017 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssrsinstance ^
      --option-group-name ssrs-se-2017 ^
      --apply-immediately
  ```

## Mengizinkan akses masuk ke grup keamanan VPC Anda
<a name="SSRS.Inbound"></a>

Untuk mengizinkan akses masuk ke grup keamanan VPC yang terkait dengan instans DB Anda, buat aturan masuk untuk port pendengar SSRS yang ditentukan. Untuk informasi lebih lanjut tentang mengatur grup keamanan, lihat [Memberikan akses ke instans DB di VPC Anda dengan membuat grup keamanan](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

## Laporkan basis data server
<a name="SSRS.DBs"></a>

Ketika instans DB Anda dikaitkan dengan SSRS opsi, dua database baru dibuat pada instans DB Anda:
+ `rdsadmin_ReportServer`
+ `rdsadmin_ReportServerTempDB`

Database ini bertindak sebagai database ReportServer dan ReportServerTemp DB. SSRSmenyimpan datanya dalam ReportServer database dan menyimpan datanya di database ReportServerTemp DB. Untuk informasi selengkapnya, lihat [Report Server Database](https://learn.microsoft.com/en-us/sql/reporting-services/report-server/report-server-database-ssrs-native-mode?view=sql-server-ver15) dalam dokumentasi Microsoft.

RDSmemiliki dan mengelola database ini, sehingga operasi database pada mereka seperti ALTER dan DROP tidak diizinkan. Akses tidak diizinkan pada basis data `rdsadmin_ReportServerTempDB`. Namun, Anda dapat melakukan operasi baca di basis data `rdsadmin_ReportServer`.

## SSRSberkas log
<a name="SSRS.Logs"></a>

Anda dapat membuat daftar, melihat, dan mengunduh file SSRS log. SSRSfile log mengikuti konvensi penamaan ReportServerService \$1*timestamp*.log. Log server laporan ini berada di direktori `D:\rdsdbdata\Log\SSRS`. (`D:\rdsdbdata\Log`Direktori ini juga merupakan direktori induk untuk log kesalahan dan log Agen SQL Server.). Untuk informasi selengkapnya, lihat [Melihat dan mencantumkan file log basis data](USER_LogAccess.Procedural.Viewing.md).

Untuk SSRS instance yang ada, memulai ulang SSRS layanan mungkin diperlukan untuk mengakses log server laporan. Anda dapat memulai ulang layanan tersebut dengan memperbarui opsi `SSRS`.

Untuk informasi selengkapnya, lihat [Bekerja dengan Amazon RDS untuk log Microsoft SQL Server](Appendix.SQLServer.CommonDBATasks.Logs.md).

# Mengakses portal SSRS web
<a name="SSRS.Access"></a>

Gunakan proses berikut untuk mengakses portal SSRS web:

1. Aktifkan Secure Sockets Layer (SSL).

1. Berikan akses kepada pengguna domain.

1. Akses portal web menggunakan browser dan kredensial pengguna domain.

## Menggunakan SSL pada RDS
<a name="SSRS.Access.SSL"></a>

SSRSmenggunakan HTTPS SSL protokol untuk koneksinya. Untuk bekerja dengan protokol ini, impor SSL sertifikat ke sistem operasi Microsoft Windows di komputer klien Anda.

Untuk informasi selengkapnya tentang SSL sertifikat, lihat[](UsingWithRDS.SSL.md). Untuk informasi selengkapnya tentang penggunaan SSL dengan SQL Server, lihat[Menggunakan SSL dengan instans DB Microsoft SQL Server](SQLServer.Concepts.General.SSL.Using.md).

## Memberikan akses ke pengguna domain
<a name="SSRS.Access.Grant"></a>

Dalam SSRS aktivasi baru, tidak ada penugasan peran diSSRS. Untuk memberikan pengguna domain atau grup pengguna akses ke portal web, RDS menyediakan prosedur tersimpan.

**Untuk memberikan akses kepada pengguna domain di portal web**
+ Gunakan prosedur tersimpan berikut.

  ```
  exec msdb.dbo.rds_msbi_task
  @task_type='SSRS_GRANT_PORTAL_PERMISSION',
  @ssrs_group_or_username=N'AD_domain\user';
  ```

Pengguna domain atau grup pengguna diberi peran sistem `RDS_SSRS_ROLE`. Peran ini diberi tugas tingkat sistem berikut:
+ Menjalankan laporan
+ Mengelola pekerjaan
+ Mengelola jadwal bersama
+ Melihat jadwal bersama

Peran tingkat item `Content Manager` di folder root juga diberikan.

## Mengakses portal web
<a name="SSRS.Access"></a>

Setelah tugas `SSRS_GRANT_PORTAL_PERMISSION` berhasil diselesaikan, Anda memiliki akses ke portal menggunakan browser web. Portal web URL memiliki format berikut.

```
https://rds_endpoint:port/Reports
```

Dalam format ini, hal-hal berikut berlaku:
+ *`rds_endpoint`* — Titik akhir untuk instans RDS DB yang Anda gunakan. SSRS

  Titik akhir tersebut dapat ditemukan di tab **Konektivitas & keamanan** untuk instans DB Anda. Untuk informasi selengkapnya, lihat [Menyambung ke instans Microsoft SQL Server DB](USER_ConnectToMicrosoftSQLServerInstance.md).
+ `port`— Port pendengar untuk SSRS yang Anda atur dalam `SSRS` opsi.

**Untuk mengakses portal web**

1. Masukkan portal web URL di browser Anda.

   ```
   https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/Reports
   ```

1. Masuk dengan kredensial untuk pengguna domain yang Anda beri akses dengan tugas `SSRS_GRANT_PORTAL_PERMISSION`.

# Menyebarkan laporan dan mengonfigurasi sumber data laporan
<a name="SSRS.DeployConfig"></a>

Gunakan prosedur berikut untuk menyebarkan laporan ke SSRS dan mengonfigurasi sumber data pelaporan:

**Topics**
+ [Menyebarkan laporan ke SSRS](#SSRS.Deploy)
+ [Mengonfigurasi sumber data laporan](#SSRS.ConfigureDataSource)

## Menyebarkan laporan ke SSRS
<a name="SSRS.Deploy"></a>

Setelah memiliki akses ke portal web, Anda dapat men-deploy laporan ke portal tersebut. Anda dapat menggunakan alat Unggah di portal web untuk mengunggah laporan, atau menyebarkan langsung dari [alat data SQL Server (SSDT)](https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt). Saat menerapkan dariSSDT, pastikan hal berikut:
+ Pengguna yang meluncurkan SSDT memiliki akses ke portal SSRS web.
+ `TargetServerURL`Nilai dalam properti SSRS proyek diatur ke HTTPS titik akhir instance RDS DB yang diakhiran dengan`ReportServer`, misalnya:

  ```
  https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/ReportServer
  ```

## Mengonfigurasi sumber data laporan
<a name="SSRS.ConfigureDataSource"></a>

Setelah menerapkan laporanSSRS, Anda harus mengonfigurasi sumber data laporan. Saat mengonfigurasi sumber data laporan, pastikan hal berikut:
+ RDSUntuk instance SQL Server DB yang digabungkan AWS Directory Service for Microsoft Active Directory, gunakan nama domain yang memenuhi syarat (FQDN) sebagai nama sumber data dari string koneksi. Contohnya adalah `myssrsinstance.corp-ad.example.com`, dengan `myssrsinstance` adalah nama instans DB dan `corp-ad.example.com` adalah nama domain yang sepenuhnya memenuhi syarat. 
+ RDSUntuk instance SQL Server DB yang digabungkan ke Active Directory yang dikelola sendiri`.`, gunakan, atau `LocalHost` sebagai nama sumber data dari string koneksi.

# Menggunakan Email SSRS untuk mengirim laporan
<a name="SSRS.Email"></a>

SSRS menyertakan ekstensi Email SSRS, yang dapat Anda gunakan untuk mengirim laporan kepada pengguna.

Untuk mengonfigurasi Email SSRS, gunakan pengaturan opsi `SSRS`. Untuk informasi selengkapnya, lihat [Menambahkan opsi SSRS ke grup opsi Anda](SSRS.Enabling.md#SSRS.Add).

Setelah mengonfigurasi Email SSRS, Anda dapat berlangganan laporan di server laporan. Untuk informasi selengkapnya, lihat [Email delivery in Reporting Services](https://docs.microsoft.com/en-us/sql/reporting-services/subscriptions/e-mail-delivery-in-reporting-services) di dokumentasi Microsoft.

Integrasi dengan AWS Secrets Manager diperlukan agar Email SSRS berfungsi pada RDS. Untuk mengintegrasikan dengan Secrets Manager, Anda harus membuat rahasia.

**catatan**  
Jika mengubah rahasianya nanti, Anda juga harus memperbarui opsi `SSRS` di grup opsi.

**Untuk membuat rahasia untuk Email SSRS**

1. Ikuti langkah-langkah di [Membuat rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) di *Panduan Pengguna AWS Secrets Manager*.

   1. Untuk **Pilih jenis rahasia**, pilih **Jenis rahasia lainnya**.

   1. Untuk **pasangan kunci/nilai**, masukkan berikut ini:
      + **SMTP\$1USERNAME** – Masukkan pengguna dengan izin untuk mengirim email dari server SMTP.
      + **SMTP\$1PASSWORD** – Masukkan kata sandi untuk pengguna SMTP.

   1. Untuk **kunci Enkripsi**, jangan gunakan default AWS KMS key. Gunakan kunci Anda sendiri, atau buat yang baru.

      Kebijakan kunci KMS harus mengizinkan tindakan `kms:Decrypt`, misalnya:

      ```
      {
          "Sid": "Allow use of the key",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "rds.amazonaws.com"
              ]
          },
          "Action": [
              "kms:Decrypt"
          ],
          "Resource": "*"
      }
      ```

1. Ikuti langkah-langkah di [Melampirkan kebijakan izin ke rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) di *Panduan Pengguna AWS Secrets Manager*. Kebijakan izin memberikan tindakan `secretsmanager:GetSecretValue` kepada prinsipal layanan `rds.amazonaws.com`.

   Sebaiknya Anda menggunakan ketentuan `aws:sourceAccount` dan `aws:sourceArn` dalam kebijakan untuk menghindari masalah *wakil yang membingungkan*. Gunakan ARN Akun AWS untuk `aws:sourceAccount` dan grup opsi ARN untuk. `aws:sourceArn` Untuk informasi selengkapnya, lihat [Pencegahan masalah confused deputy lintas layanan](cross-service-confused-deputy-prevention.md).

   Contoh berikut menunjukkan kebijakan izin.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [ {
       "Effect" : "Allow",
       "Principal" : {
         "Service" : "rds.amazonaws.com"
       },
       "Action" : "secretsmanager:GetSecretValue",
       "Resource" : "*",
       "Condition" : {
         "StringEquals" : {
           "aws:sourceAccount" : "123456789012"
         },
         "ArnLike" : {
           "aws:sourceArn" : "arn:aws:rds:us-west-2:123456789012:og:ssrs-se-2017"
         }
       }
     } ]
   }
   ```

------

   Untuk contoh lainnya, lihat [contoh kebijakan izin untuk AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html) di *Panduan AWS Secrets Manager Pengguna*.

# Mencabut izin tingkat sistem
<a name="SSRS.Access.Revoke"></a>

Peran sistem `RDS_SSRS_ROLE` tidak memiliki izin yang memadai untuk menghapus penetapan peran tingkat sistem. Untuk menghapus pengguna atau grup pengguna dari `RDS_SSRS_ROLE`, gunakan prosedur tersimpan yang sama dengan yang Anda gunakan untuk memberikan peran, tetapi gunakan jenis tugas `SSRS_REVOKE_PORTAL_PERMISSION`.

**Untuk mencabut akses dari pengguna domain untuk portal web**
+ Gunakan prosedur tersimpan berikut.

  ```
  exec msdb.dbo.rds_msbi_task
  @task_type='SSRS_REVOKE_PORTAL_PERMISSION',
  @ssrs_group_or_username=N'AD_domain\user';
  ```

Tindakan ini akan menghapus pengguna dari peran sistem `RDS_SSRS_ROLE`. Tindakan ini juga menghapus pengguna dari peran tingkat item `Content Manager` jika pengguna memilikinya.

# Memantau status tugas
<a name="SSRS.Monitor"></a>

Untuk melacak status penetapan atau pencabutan tugas Anda, panggil fungsi `rds_fn_task_status`. Membutuhkan dua parameter. Parameter pertama harus selalu `NULL` karena tidak berlaku untukSSRS. Parameter kedua menerima ID tugas. 

Untuk melihat daftar semua tugas, tetapkan parameter pertama ke `NULL` dan parameter kedua ke `0`, seperti yang ditunjukkan dalam contoh berikut.

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);
```

Untuk melihat daftar semua tugas, tetapkan parameter pertama ke `NULL` dan parameter kedua ke ID tugas, seperti yang ditunjukkan dalam contoh berikut.

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);
```

Fungsi `rds_fn_task_status` menampilkan informasi berikut.


| Parameter output | Deskripsi | 
| --- | --- | 
| `task_id` | ID tugas. | 
| `task_type` | UntukSSRS, tugas dapat memiliki jenis tugas berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SSRS.Monitor.html)  | 
| `database_name` | Tidak berlaku untuk SSRS tugas. | 
| `% complete` | Kemajuan tugas sebagai persentase. | 
| `duration (mins)` | Jumlah waktu yang dihabiskan untuk tugas, dalam menit. | 
| `lifecycle` |  Status tugas. Status yang mungkin adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/SSRS.Monitor.html)  | 
| `task_info` | Informasi tambahan tentang tugas. Jika terjadi kesalahan selama pemrosesan, kolom ini berisi informasi tentang kesalahan tersebut.  | 
| `last_updated` | Tanggal dan waktu status tugas terakhir diperbarui.  | 
| `created_at` | Tanggal dan waktu tugas dibuat. | 
| `S3_object_arn` |  Tidak berlaku untuk SSRS tugas.  | 
| `overwrite_S3_backup_file` | Tidak berlaku untuk SSRS tugas. | 
| `KMS_master_key_arn` |  Tidak berlaku untuk SSRS tugas.  | 
| `filepath` |  Tidak berlaku untuk SSRS tugas.  | 
| `overwrite_file` |  Tidak berlaku untuk SSRS tugas.  | 
| `task_metadata` | Metadata yang terkait dengan tugas. SSRS | 

# Menonaktifkan dan menghapus database SSRS
<a name="SSRS.DisableDelete"></a>

Gunakan prosedur berikut untuk menonaktifkan SSRS dan menghapus SSRS database:

**Topics**
+ [Mematikan SSRS](#SSRS.Disable)
+ [Menghapus database SSRS](#SSRS.Drop)

## Mematikan SSRS
<a name="SSRS.Disable"></a>

Untuk mematikanSSRS, hapus `SSRS` opsi dari grup opsinya. Menghapus opsi tidak menghapus SSRS database. Untuk informasi selengkapnya, lihat [Menghapus database SSRS](#SSRS.Drop).

Anda dapat SSRS menghidupkan kembali dengan menambahkan kembali `SSRS` opsi. Jika Anda juga telah menghapus SSRS database, membaca opsi pada instans DB yang sama akan membuat database server laporan baru.

### Konsol
<a name="SSRS.Disable.Console"></a>

**Untuk menghapus SSRS opsi dari grup opsinya**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `SSRS` (`ssrs-se-2017` dalam contoh sebelumnya).

1. Pilih **Hapus opsi**.

1. Di bawah **Opsi penghapusan, pilih Opsi SSRS****** **untuk** dihapus.

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya pada masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

### CLI
<a name="SSRS.Disable.CLI"></a>

**Untuk menghapus SSRS opsi dari grup opsinya**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name ssrs-se-2017 \
      --options SSRS \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name ssrs-se-2017 ^
      --options SSRS ^
      --apply-immediately
  ```

## Menghapus database SSRS
<a name="SSRS.Drop"></a>

Menghapus opsi `SSRS` tidak akan menghapus basis data server laporan. Untuk menghapusnya, gunakan prosedur tersimpan berikut. 

Untuk menghapus basis data server laporan, pastikan untuk menghapus opsi `SSRS` terlebih dahulu.

**Untuk menghapus SSRS database**
+ Gunakan prosedur tersimpan berikut.

  ```
  exec msdb.dbo.rds_drop_ssrs_databases
  ```

# Dukungan untuk Microsoft Distributed Transaction Coordinator di RDS for SQL Server
<a name="Appendix.SQLServer.Options.MSDTC"></a>

*Transaksi terdistribusi* adalah transaksi basis data yang melibatkan dua atau beberapa host jaringan. Amazon RDS for SQL Server mendukung transaksi terdistribusi di antara host, dengan satu host dapat menjadi salah satu opsi berikut ini:
+ Instans DB RDS for SQL Server
+ Host SQL Server on-premise
+ Host Amazon EC2 dengan SQL Server diinstal
+ Semua host EC2 atau instans DB RDS lainnya dengan mesin basis data yang mendukung transaksi terdistribusi

Di RDS, dimulai dengan SQL Server 2012 (versi 11.00.5058.0.v1 dan yang lebih baru), semua edisi RDS for SQL Server mendukung transaksi terdistribusi. Dukungan disediakan menggunakan Microsoft Distributed Transaction Coordinator (MSDTC). Untuk informasi mendalam tentang MSDTC, lihat [Distributed Transaction Coordinator](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms684146(v=vs.85)) dalam dokumentasi Microsoft.

**Contents**
+ [Batasan](#Appendix.SQLServer.Options.MSDTC.Limitations)
+ [Mengaktifkan MSDTC](Appendix.SQLServer.Options.MSDTC.Enabling.md)
  + [Membuat grup opsi untuk MSDTC](Appendix.SQLServer.Options.MSDTC.Enabling.md#Appendix.SQLServer.Options.MSDTC.OptionGroup)
  + [Menambahkan MSDTC opsi ke grup opsi](Appendix.SQLServer.Options.MSDTC.Enabling.md#Appendix.SQLServer.Options.MSDTC.Add)
  + [Membuat grup parameter untuk MSDTC](Appendix.SQLServer.Options.MSDTC.Enabling.md#MSDTC.CreateParamGroup)
  + [Memodifikasi parameter untuk MSDTC](Appendix.SQLServer.Options.MSDTC.Enabling.md#ModifyParam.MSDTC)
  + [Mengaitkan grup opsi dan grup parameter dengan instans DB](Appendix.SQLServer.Options.MSDTC.Enabling.md#MSDTC.Apply)
  + [Memodifikasi opsi MSDTC](Appendix.SQLServer.Options.MSDTC.Enabling.md#Appendix.SQLServer.Options.MSDTC.Modify)
+ [Menggunakan transaksi](#Appendix.SQLServer.Options.MSDTC.Using)
  + [Menggunakan transaksi terdistribusi](#Appendix.SQLServer.Options.MSDTC.UsingXA)
  + [Menggunakan transaksi XA](#MSDTC.XA)
  + [Menggunakan pelacakan transaksi](#MSDTC.Tracing)
+ [Menonaktifkan MSDTC](Appendix.SQLServer.Options.MSDTC.Disable.md)
+ [Pemecahan Masalah MSDTC untuk Server RDS SQL](Appendix.SQLServer.Options.MSDTC.Troubleshooting.md)

## Batasan
<a name="Appendix.SQLServer.Options.MSDTC.Limitations"></a>

Batasan berikut berlaku untuk penggunaan MSDTC di RDS for SQL Server:
+ MSDTC tidak didukung pada instans yang menggunakan SQL Server Database Mirroring. Untuk informasi selengkapnya, lihat [Transactions - availability groups and database mirroring](https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring?view=sql-server-ver15#non-support-for-distributed-transactions).
+ Parameter `in-doubt xact resolution` harus diatur ke 1 atau 2. Untuk informasi selengkapnya, lihat [Memodifikasi parameter untuk MSDTC](Appendix.SQLServer.Options.MSDTC.Enabling.md#ModifyParam.MSDTC).
+ MSDTC mengharuskan semua host yang berpartisipasi dalam transaksi terdistribusi dapat diselesaikan menggunakan nama host-nya. RDS akan otomatis mempertahankan fungsionalitas ini untuk instans yang bergabung dengan domain. Namun, untuk instans mandiri, pastikan Anda mengonfigurasi server DNS secara manual.
+ Transaksi XA Java Database Connectivity (JDBC) didukung untuk SQL Server 2017 versi 14.00.3223.3 dan yang lebih tinggi, serta SQL Server 2019.
+ Transaksi terdistribusi yang bergantung pada pustaka tautan dinamis klien (DLLs) pada instance RDS tidak didukung.
+ Penggunaan pustaka tautan dinamis XA kustom tidak didukung.

# Mengaktifkan MSDTC
<a name="Appendix.SQLServer.Options.MSDTC.Enabling"></a>

Gunakan proses berikut MSDTC untuk mengaktifkan instans DB Anda:

1. Buat grup opsi baru, atau pilih grup opsi yang sudah ada.

1. Tambahkan opsi `MSDTC` untuk grup opsi.

1. Buat grup parameter baru, atau pilih grup parameter yang sudah ada.

1. Ubah grup parameter untuk menyetel parameter `in-doubt xact resolution` ke 1 atau 2.

1. Kaitkan grup opsi dan grup parameter dengan instans DB.

## Membuat grup opsi untuk MSDTC
<a name="Appendix.SQLServer.Options.MSDTC.OptionGroup"></a>

Gunakan Konsol Manajemen AWS atau AWS CLI untuk membuat grup opsi yang sesuai dengan mesin SQL Server dan versi instans DB Anda.

**catatan**  
Anda juga dapat menggunakan grup opsi yang ada jika itu untuk mesin dan versi SQL Server yang benar.

### Konsol
<a name="OptionGroup.MSDTC.Console"></a>

Prosedur berikut membuat grup opsi untuk SQL Server Standard Edition 2016.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di panel **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam AWS akun Anda, seperti**msdtc-se-2016**. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung.

   1. Untuk **Deskripsi**, masukkan deskripsi singkat grup opsi, seperti **MSDTC option group for SQL Server SE 2016**. Deskripsi digunakan untuk tampilan. 

   1. Untuk **Mesin**, pilih **sqlserver-se**.

   1. Untuk **Versi mesin utama**, pilih **13.00**.

1. Pilih **Buat**.

### CLI
<a name="OptionGroup.MSDTC.CLI"></a>

Contoh berikut membuat grup opsi untuk SQL Server Standard Edition 2016.

**Untuk membuat grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-option-group \
      --option-group-name msdtc-se-2016 \
      --engine-name sqlserver-se \
      --major-engine-version 13.00 \
      --option-group-description "MSDTC option group for SQL Server SE 2016"
  ```

  Untuk Windows:

  ```
  aws rds create-option-group ^
      --option-group-name msdtc-se-2016 ^
      --engine-name sqlserver-se ^
      --major-engine-version 13.00 ^
      --option-group-description "MSDTC option group for SQL Server SE 2016"
  ```

## Menambahkan MSDTC opsi ke grup opsi
<a name="Appendix.SQLServer.Options.MSDTC.Add"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `MSDTC` opsi ke grup opsi.

Pengaturan opsi berikut diperlukan:
+ **Port** — Port yang Anda gunakan untuk mengaksesMSDTC. Nilai yang diizinkan adalah 1150–49151 kecuali untuk 1234, 1434, 3260, 3343, 3389, dan 47001. Nilai default-nya adalah 5000.

  Pastikan port yang ingin Anda gunakan diaktifkan dalam aturan firewall Anda. Selain itu, pastikan jika diperlukan bahwa port ini diaktifkan dalam aturan masuk dan keluar untuk grup keamanan yang terkait dengan instans DB Anda. Untuk informasi selengkapnya, lihat [Tidak dapat terhubung ke instans DB Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting). 
+ **Grup keamanan** — Keanggotaan grup VPC keamanan untuk instans RDS DB Anda.
+ **Jenis autentikasi** – Mode autentikasi antara host. Jenis autentikasi berikut ini didukung:
  + Mutual — RDS Instance saling diautentikasi satu sama lain menggunakan otentikasi terintegrasi. Jika opsi ini dipilih, semua instans yang terkait dengan grup opsi ini harus bergabung dengan domain.
  + Tidak Ada – Tidak ada autentikasi yang dilakukan antara host. Kami tidak menyarankan penggunaan mode ini di lingkungan produksi.
+ **Ukuran log transaksi** — Ukuran log MSDTC transaksi. Nilai yang diizinkan adalah 4–1024 MB. Ukuran default-nya adalah 4 MB.

Pengaturan opsi berikut ini bersifat opsional:
+ **Aktifkan koneksi masuk** — Apakah akan mengizinkan MSDTC koneksi masuk ke instance yang terkait dengan grup opsi ini.
+ **Aktifkan koneksi keluar** — Apakah akan mengizinkan MSDTC koneksi keluar dari instance yang terkait dengan grup opsi ini.
+ **Aktifkan XA** – Apakah akan mengizinkan transaksi XA atau tidak. Untuk informasi selengkapnya tentang protokol XA, lihat [spesifikasi XA](https://publications.opengroup.org/c193).
+ **Aktifkan SNA LU** — Apakah akan mengizinkan protokol SNA LU digunakan untuk transaksi terdistribusi. Untuk informasi selengkapnya tentang dukungan protokol SNA LU, lihat [Mengelola transaksi IBM CICS LU 6.2](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms685136(v=vs.85)) dalam dokumentasi Microsoft.

### Konsol
<a name="Options.MSDTC.Add.Console"></a>

**Untuk menambahkan MSDTC opsi**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi yang baru saja Anda buat.

1. Pilih **Tambah opsi**.

1. Di bawah **Rincian opsi**, pilih **MSDTC****nama Opsi**.

1. Di bagian **Pengaturan opsi**:

   1. Untuk **Port**, masukkan nomor port untuk mengakses. MSDTC Default-nya adalah **5000**.

   1. Untuk **grup Keamanan**, pilih grup VPC keamanan untuk dikaitkan dengan opsi.

   1. Untuk **Jenis autentikasi**, pilih **Timbal Balik** atau **Tidak Ada**.

   1. Untuk **Ukuran log transaksi**, masukkan nilai dari 4–1024. Default-nya adalah **4**.

1. Di bagian **Konfigurasi tambahan**, lakukan tindakan berikut:

   1. Untuk **Koneksi**, sebagaimana dibutuhkan pilih **Aktifkan koneksi masuk** dan **Aktifkan koneksi keluar**.

   1. **Untuk **protokol yang Diizinkan**, sesuai kebutuhan pilih **Aktifkan XA dan Aktifkan** LU. SNA**

1. Di bagian **Penjadwalan**, pilih apakah akan menambahkan opsi langsung atau pada masa pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

   Boot ulang tidak diperlukan untuk menambahkan opsi ini.

### CLI
<a name="Options.MSDTC.Add.CLI"></a>

**Untuk menambahkan MSDTC opsi**

1. Buat JSON file, misalnya`msdtc-option.json`, dengan parameter yang diperlukan berikut.

   ```
   {
   "OptionGroupName":"msdtc-se-2016",
   "OptionsToInclude": [
   	{
   	"OptionName":"MSDTC",
   	"Port":5000,
   	"VpcSecurityGroupMemberships":["sg-0abcdef123"],
   	"OptionSettings":[{"Name":"AUTHENTICATION","Value":"MUTUAL"},{"Name":"TRANSACTION_LOG_SIZE","Value":"4"}]
   	}],
   "ApplyImmediately": true
   }
   ```

1. Tambahkan opsi `MSDTC` ke grup opsi.  
**Example**  

   Untuk Linux, macOS, atau Unix:

   ```
   aws rds add-option-to-option-group \
       --cli-input-json file://msdtc-option.json \
       --apply-immediately
   ```

   Untuk Windows:

   ```
   aws rds add-option-to-option-group ^
       --cli-input-json file://msdtc-option.json ^
       --apply-immediately
   ```

   Tidak diperlukan boot ulang.

## Membuat grup parameter untuk MSDTC
<a name="MSDTC.CreateParamGroup"></a>

Buat atau modifikasi grup parameter untuk `in-doubt xact resolution` parameter yang sesuai dengan edisi SQL Server dan versi instans DB Anda.

### Konsol
<a name="CreateParamGroup.MSDTC.Console"></a>

Contoh berikut membuat grup parameter untuk SQL Server Standard Edition 2016.

**Untuk membuat grup parameter**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup parameter**.

1. Pilih **Buat grup parameter**.

1. Di panel **Buat grup parameter**, lakukan hal berikut:

   1. Untuk **Rangkaian grup parameter**, pilih **sqlserver-se-13.0**.

   1. Untuk **Nama grup**, masukkan pengidentifikasi grup parameter, seperti **msdtc-sqlserver-se-13**.

   1. Untuk **Deskripsi**, masukkan **in-doubt xact resolution**.

1. Pilih **Buat**.

### CLI
<a name="CreateParamGroup.MSDTC.CLI"></a>

Contoh berikut membuat grup parameter untuk SQL Server Standard Edition 2016.

**Untuk membuat grup parameter**
+ Gunakan salah satu perintah berikut.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name msdtc-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "in-doubt xact resolution"
  ```

  Untuk Windows:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name msdtc-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "in-doubt xact resolution"
  ```

## Memodifikasi parameter untuk MSDTC
<a name="ModifyParam.MSDTC"></a>

Ubah `in-doubt xact resolution` parameter dalam grup parameter yang sesuai dengan edisi SQL Server dan versi instans DB Anda.

UntukMSDTC, atur `in-doubt xact resolution` parameter ke salah satu dari berikut ini:
+ `1`—`Presume commit`. Setiap MSDTC transaksi yang diragukan dianggap telah dilakukan.
+ `2`—`Presume abort`. Setiap MSDTC transaksi yang diragukan dianggap telah berhenti.

Untuk informasi selengkapnya, lihat [in-doubt xact resolution server configuration option](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/in-doubt-xact-resolution-server-configuration-option) dalam dokumentasi Microsoft.

### Konsol
<a name="ModifyParam.MSDTC.Console"></a>

Contoh berikut memodifikasi grup parameter yang Anda buat untuk SQL Server Standard Edition 2016.

**Untuk mengubah grup parameter**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup parameter**.

1. Pilih grup parameter, seperti **msdtc-sqlserver-se-13**.

1. Di bagian **Parameter**, filter daftar parameter untuk **xact**.

1. Pilih **in-doubt xact resolution**.

1. Pilih **Edit parameter**.

1. Masukkan **1** atau **2**.

1. Pilih **Simpan perubahan**.

### CLI
<a name="ModifyParam.MSDTC.CLI"></a>

Contoh berikut memodifikasi grup parameter yang Anda buat untuk SQL Server Standard Edition 2016.

**Untuk mengubah grup parameter**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name msdtc-sqlserver-se-13 \
      --parameters "ParameterName='in-doubt xact resolution',ParameterValue=1,ApplyMethod=immediate"
  ```

  Untuk Windows:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name msdtc-sqlserver-se-13 ^
      --parameters "ParameterName='in-doubt xact resolution',ParameterValue=1,ApplyMethod=immediate"
  ```

## Mengaitkan grup opsi dan grup parameter dengan instans DB
<a name="MSDTC.Apply"></a>

Anda dapat menggunakan Konsol Manajemen AWS or AWS CLI untuk mengaitkan grup MSDTC opsi dan grup parameter dengan instans DB.

### Konsol
<a name="MSDTC.Apply.Console"></a>

Anda dapat mengaitkan grup MSDTC opsi dan grup parameter dengan instans DB baru atau yang sudah ada.
+ Untuk instans DB baru, kaitkan saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang sudah ada, kaitkan dengan memodifikasi instans. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).
**catatan**  
Jika Anda menggunakan instance DB yang sudah bergabung dengan domain, instans tersebut harus sudah memiliki domain Active Directory dan AWS Identity and Access Management (IAM) peran yang terkait dengannya. Jika Anda membuat instance baru yang bergabung dengan domain, tentukan domain dan peran Direktori Aktif yang ada. IAM Untuk informasi selengkapnya, lihat [Bekerja dengan Direktori Aktif AWS Terkelola dengan RDS untuk SQL Server](USER_SQLServerWinAuth.md).

### CLI
<a name="MSDTC.Apply.CLI"></a>

Anda dapat mengaitkan grup MSDTC opsi dan grup parameter dengan instans DB baru atau yang sudah ada.

**catatan**  
Jika Anda menggunakan instans DB yang bergabung dengan domain yang ada, itu harus sudah memiliki domain dan IAM peran Direktori Aktif yang terkait dengannya. Jika Anda membuat instance baru yang bergabung dengan domain, tentukan domain dan peran Direktori Aktif yang ada. IAM Untuk informasi selengkapnya, lihat [Bekerja dengan Direktori Aktif AWS Terkelola dengan RDS untuk SQL Server](USER_SQLServerWinAuth.md).

**Untuk membuat instance DB dengan grup MSDTC opsi dan grup parameter**
+ Tentukan jenis mesin DB dan versi utama yang sama seperti yang Anda gunakan saat membuat grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier mydbinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name msdtc-se-2016 \
      --db-parameter-group-name msdtc-sqlserver-se-13
  ```

  Untuk Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name msdtc-se-2016 ^
      --db-parameter-group-name msdtc-sqlserver-se-13
  ```

**Untuk memodifikasi instance DB dan mengaitkan grup MSDTC opsi dan grup parameter**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mydbinstance \
      --option-group-name msdtc-se-2016 \
      --db-parameter-group-name msdtc-sqlserver-se-13 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mydbinstance ^
      --option-group-name msdtc-se-2016 ^
      --db-parameter-group-name msdtc-sqlserver-se-13 ^
      --apply-immediately
  ```

## Memodifikasi opsi MSDTC
<a name="Appendix.SQLServer.Options.MSDTC.Modify"></a>

Setelah mengaktifkan opsi `MSDTC`, Anda dapat mengubah pengaturannya. Untuk informasi cara mengubah pengaturan opsi, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption).

**catatan**  
Beberapa perubahan pada pengaturan MSDTC opsi mengharuskan MSDTC layanan dimulai ulang. Persyaratan ini dapat memengaruhi transaksi terdistribusi yang berjalan.

## Menggunakan transaksi
<a name="Appendix.SQLServer.Options.MSDTC.Using"></a>

### Menggunakan transaksi terdistribusi
<a name="Appendix.SQLServer.Options.MSDTC.UsingXA"></a>

Di Amazon RDS for SQL Server, Anda dapat menjalankan transaksi terdistribusi dengan cara yang sama seperti transaksi terdistribusi yang berjalan on-premise:
+ Menggunakan transaksi yang dapat dipromosikan .NET framework `System.Transactions`, yang mengoptimalkan transaksi terdistribusi dengan menunda pembuatannya hingga diperlukan.

  Dalam hal ini, promosi bersifat otomatis dan tidak mengharuskan Anda untuk melakukan intervensi apa pun. Jika hanya ada satu pengelola sumber daya dalam transaksi, tidak ada promosi yang dilakukan. Untuk informasi selengkapnya tentang cakupan transaksi implisit, lihat [Implementing an implicit transaction using transaction scope](https://docs.microsoft.com/en-us/dotnet/framework/data/transactions/implementing-an-implicit-transaction-using-transaction-scope) dalam dokumentasi Microsoft.

  Transaksi yang dapat dipromosikan didukung dengan implementasi .NET ini:
  + Dimulai dengan ADO.NET 2.0, `System.Data.SqlClient` mendukung transaksi yang dapat dipromosikan dengan SQL Server. Untuk informasi selengkapnya, lihat [System.Transactions integration with SQL Server](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/system-transactions-integration-with-sql-server) dalam dokumentasi Microsoft.
  + ODP.NET mendukung `System.Transactions`. Transaksi lokal dibuat untuk koneksi pertama yang dibuka dalam cakupan `TransactionsScope` ke Oracle Database 11g rilis 1 (versi 11.1) dan yang lebih baru. Ketika koneksi kedua dibuka, transaksi ini akan otomatis dipromosikan menjadi transaksi terdistribusi. Untuk informasi dukungan transaksi terdistribusi di ODP.NET selengkapnya, lihat [Microsoft Distributed Transaction Coordinator integration](https://docs.oracle.com/en/database/oracle/oracle-data-access-components/18.3/ntmts/using-mts-with-oracledb.html) dalam dokumentasi Microsoft.
+ Menggunakan pernyataan `BEGIN DISTRIBUTED TRANSACTION`. Untuk informasi selengkapnya, lihat [BEGIN DISTRIBUTED TRANSACTION (Transact-SQL)](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/begin-distributed-transaction-transact-sql) dalam dokumentasi Microsoft.

### Menggunakan transaksi XA
<a name="MSDTC.XA"></a>

Mulai dari RDS for SQL Server 2017 versi 14.00.3223.3, Anda dapat mengontrol transaksi terdistribusi menggunakan JDBC. Saat Anda mengatur pengaturan opsi `Enable XA` ke `true` dalam opsi `MSDTC`, RDS akan otomatis mengaktifkan transaksi JDBC dan memberikan peran `SqlJDBCXAUser` tersebut kepada pengguna `guest`. Tindakan ini akan memungkinkan pelaksanaan transaksi terdistribusi melalui JDBC. Untuk informasi selengkapnya, termasuk contoh kode, lihat [Understanding XA transactions](https://docs.microsoft.com/en-us/sql/connect/jdbc/understanding-xa-transactions) dalam dokumentasi Microsoft.

### Menggunakan pelacakan transaksi
<a name="MSDTC.Tracing"></a>

RDS mendukung pengendalian jejak transaksi MSDTC dan mengunduhnya dari instans DB RDS untuk memecahkan masalah. Anda dapat mengontrol sesi pelacakan transaksi dengan menjalankan prosedur RDS berikut.

```
exec msdb.dbo.rds_msdtc_transaction_tracing 'trace_action',
[@traceall='0|1'],
[@traceaborted='0|1'],
[@tracelong='0|1'];
```

Parameter berikut diperlukan:
+ `trace_action` – Tindakan pelacakan. Tindakan tersebut dapat berupa `START`, `STOP`, atau `STATUS`.

Parameter berikut ini bersifat opsional:
+ `@traceall` – Atur ke 1 untuk melacak semua transaksi terdistribusi. Default-nya adalah 0.
+ `@traceaborted` – Atur ke 1 untuk melacak transaksi terdistribusi yang dibatalkan. Default-nya adalah 0.
+ `@tracelong` – Atur ke 1 untuk melacak transaksi terdistribusi yang berlangsung lama. Default-nya adalah 0.

**Example tindakan pelacakan START**  
Untuk memulai sesi pelacakan transaksi baru, jalankan pernyataan contoh berikut.  

```
exec msdb.dbo.rds_msdtc_transaction_tracing 'START',
@traceall='0',
@traceaborted='1',
@tracelong='1';
```
Hanya satu sesi pelacakan transaksi yang dapat aktif pada satu waktu. Jika perintah sesi pelacakan `START` dikeluarkan saat sesi pelacakan aktif, kesalahan akan dikembalikan dan sesi pelacakan aktif tetap tidak berubah.

**Example tindakan pelacakan STOP**  
Untuk menghentikan sesi pelacakan transaksi, jalankan pernyataan berikut.  

```
exec msdb.dbo.rds_msdtc_transaction_tracing 'STOP'
```
Pernyataan ini akan menghentikan sesi pelacakan transaksi aktif dan menyimpan data jejak transaksi ke direktori log di instans DB RDS. Baris pertama output berisi hasil keseluruhan, dan baris berikutnya menunjukkan detail operasi.  
Berikut ini adalah contoh penghentian sesi pelacakan yang berhasil.  

```
OK: Trace session has been successfully stopped.
Setting log file to: D:\rdsdbdata\MSDTC\Trace\dtctrace.log
Examining D:\rdsdbdata\MSDTC\Trace\msdtctr.mof for message formats,  8 found.
Searching for TMF files on path: (null)
Logfile D:\rdsdbdata\MSDTC\Trace\dtctrace.log:
 OS version    10.0.14393  (Currently running on 6.2.9200)
 Start Time    <timestamp>
 End Time      <timestamp>
 Timezone is   @tzres.dll,-932 (Bias is 0mins)
 BufferSize            16384 B
 Maximum File Size     10 MB
 Buffers  Written      Not set (Logger may not have been stopped).
 Logger Mode Settings (11000002) ( circular paged
 ProcessorCount         1 
Processing completed   Buffers: 1, Events: 3, EventsLost: 0 :: Format Errors: 0, Unknowns: 3
Event traces dumped to d:\rdsdbdata\Log\msdtc_<timestamp>.log
```
Anda dapat menggunakan informasi terperinci untuk mencari nama file log yang dihasilkan. Untuk informasi selengkapnya tentang pengunduhan file log dari instans DB RDS, lihat [Memantau file RDS Amazon](USER_LogAccess.md).  
Log sesi pelacakan tetap berada di instans selama 35 hari. Semua log sesi pelacakan yang lebih lama akan otomatis dihapus.

**Example tindakan pelacakan STATUS**  
Untuk melacak status sesi pelacakan transaksi, jalankan pernyataan berikut.  

```
exec msdb.dbo.rds_msdtc_transaction_tracing 'STATUS'
```
Pernyataan ini menghasilkan informasi berikut sebagai baris kumpulan hasil yang terpisah.  

```
OK
SessionStatus: <Started|Stopped>
TraceAll: <True|False>
TraceAborted: <True|False>
TraceLongLived: <True|False>
```
Baris pertama menunjukkan hasil keseluruhan dari operasi: `OK` atau `ERROR` beserta detail, jika ada. Baris berikutnya menunjukkan detail status sesi pelacakan:   
+ `SessionStatus` dapat berupa salah satu status berikut:
  + `Started` jika sesi pelacakan berjalan.
  + `Stopped` jika tidak ada sesi pelacakan yang berjalan.
+ Tanda sesi pelacakan bisa bernilai `True` atau `False` bergantung pada pengaturannya dalam perintah `START`.

# Menonaktifkan MSDTC
<a name="Appendix.SQLServer.Options.MSDTC.Disable"></a>

Untuk menonaktifkanMSDTC, hapus `MSDTC` opsi dari grup opsinya.

## Konsol
<a name="Options.MSDTC.Disable.Console"></a>

**Untuk menghapus MSDTC opsi dari grup opsinya**

1. Masuk ke Konsol Manajemen AWS dan buka RDS konsol Amazon di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `MSDTC` (`msdtc-se-2016` dalam contoh sebelumnya).

1. Pilih **Hapus opsi**.

1. Di bawah **Opsi penghapusan, pilih Opsi MSDTC****** **untuk** dihapus.

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya pada masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

## CLI
<a name="Options.MSDTC.Disable.CLI"></a>

**Untuk menghapus MSDTC opsi dari grup opsinya**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name msdtc-se-2016 \
      --options MSDTC \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name msdtc-se-2016 ^
      --options MSDTC ^
      --apply-immediately
  ```

# Pemecahan Masalah MSDTC untuk Server RDS SQL
<a name="Appendix.SQLServer.Options.MSDTC.Troubleshooting"></a>

Dalam beberapa kasus, Anda mungkin mengalami kesulitan membangun koneksi antara MSDTC berjalan di komputer klien dan MSDTC layanan yang berjalan pada instance RDS for SQL Server DB. Jika demikian, pastikan beberapa hal berikut:
+ Aturan masuk untuk grup keamanan yang terkait dengan instans DB telah dikonfigurasi dengan benar. Untuk informasi selengkapnya, lihat [Tidak dapat terhubung ke instans DB Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).
+ Komputer klien Anda telah dikonfigurasi dengan benar.
+ Aturan MSDTC firewall pada komputer klien Anda diaktifkan.

**Untuk mengonfigurasi komputer klien**

1. Buka **Component Services**.

   Bisa juga melalui **Server Manager**, pilih **Tools**, lalu pilih **Component Services**.

1. Perluas **Component Services**, perluas **Computers**, perluas **My Computer**, lalu perluas **Distributed Transaction Coordinator**.

1. Buka menu konteks (klik kanan) untuk **Local DTC** dan pilih **Properties**.

1. Pilih tab **Security**.

1. Pilih semua dari opsi berikut:
   + **DTCAkses Jaringan**
   + **Allow Inbound**
   + **Allow Outbound**

1. Pastikan bahwa mode autentikasi yang benar telah dipilih:
   + **Mutual Authentication Required** – Mesin klien digabungkan ke domain yang sama dengan simpul lain yang berpartisipasi dalam transaksi terdistribusi, atau ada hubungan kepercayaan yang dikonfigurasi antar-domain.
   + **No Authentication Required** – Semua kasus lainnya.

1. Pilih **OK** untuk menyimpan perubahan Anda.

1. Jika diminta untuk memulai ulang layanan, pilih **Yes**.

**Untuk mengaktifkan aturan MSDTC firewall**

1. Buka Windows Firewall, lalu pilih **Advanced settings**.

   Bisa juga melalui **Server Manager**, pilih **Tools**, lalu pilih **Windows Firewall with Advanced Security**.
**catatan**  
Bergantung pada sistem operasi Anda, Windows Firewall mungkin disebut Windows Defender Firewall.

1. Pilih **Inbound Rules** di panel kiri.

1. Aktifkan aturan firewall berikut, jika belum diaktifkan:
   + **Koordinator Transaksi Terdistribusi () RPC**
   + **Koordinator Transaksi Terdistribusi (RPC) - EPMAP**
   + **Koordinator Transaksi Terdistribusi (TCP-In)**

1. Tutup Windows Firewall.

# Gubernur sumber daya Microsoft SQL Server dengan RDS untuk SQL Server
<a name="Appendix.SQLServer.Options.ResourceGovernor"></a>

Resource governor adalah fitur SQL Server Enterprise Edition yang memberi Anda kontrol yang tepat atas sumber daya instans Anda. Ini memungkinkan Anda untuk menetapkan batasan spesifik tentang bagaimana beban kerja menggunakan CPU, memori, dan I/O sumber daya fisik. Dengan gubernur sumber daya, Anda dapat:
+ Mencegah monopoli sumber daya di lingkungan multi-penyewa dengan mengelola bagaimana beban kerja yang berbeda berbagi sumber daya instans
+ Memberikan kinerja yang dapat diprediksi dengan menetapkan batas dan prioritas sumber daya tertentu untuk pengguna dan aplikasi yang berbeda

Anda dapat mengaktifkan pengatur sumber daya pada RDS yang sudah ada atau baru untuk instans SQL Server DB.

Gubernur sumber daya menggunakan tiga konsep dasar:
+ **Resource pool** - Sebuah wadah yang mengelola sumber daya fisik instans Anda (CPU, memori, dan I/O). Anda mendapatkan dua kolam bawaan (internal dan default) dan Anda dapat membuat kolam khusus tambahan.
+ **Kelompok beban kerja** - Wadah untuk sesi database dengan karakteristik serupa. Setiap kelompok beban kerja termasuk dalam kumpulan sumber daya. Anda mendapatkan dua grup beban kerja bawaan (internal dan default) dan Anda dapat membuat grup beban kerja khusus tambahan.
+ **Klasifikasi** - Proses yang menentukan grup beban kerja mana yang menangani sesi masuk berdasarkan nama pengguna, nama aplikasi, nama database, atau nama host.

Untuk detail tambahan tentang fungsionalitas pengatur sumber daya di SQL Server, lihat [Resource Governor](https://learn.microsoft.com/en-us/sql/relational-databases/resource-governor/resource-governor?view=sql-server-ver16) di dokumentasi Microsoft.

**Contents**
+ [Versi dan Wilayah yang didukung](#ResourceGovernor.SupportedVersions)
+ [Batasan dan rekomendasi](#ResourceGovernor.Limitations)
+ [Mengaktifkan pengatur sumber daya Microsoft SQL Server untuk RDS Anda untuk instans SQL Server](ResourceGovernor.Enabling.md)
  + [Membuat grup opsi untuk `RESOURCE_GOVERNOR`](ResourceGovernor.Enabling.md#ResourceGovernor.OptionGroup)
  + [Menambahkan opsi `RESOURCE_GOVERNOR` ke grup opsi](ResourceGovernor.Enabling.md#ResourceGovernor.Add)
  + [Mengaitkan grup opsi dengan instans DB](ResourceGovernor.Enabling.md#ResourceGovernor.Apply)
+ [Menggunakan pengatur sumber daya Microsoft SQL Server untuk RDS Anda untuk instans SQL Server](ResourceGovernor.Using.md)
  + [Kelola kumpulan sumber daya](ResourceGovernor.Using.md#ResourceGovernor.ManageResourcePool)
    + [Buat Pool sumber daya](ResourceGovernor.Using.md#ResourceGovernor.CreateResourcePool)
    + [Ubah kolam sumber daya](ResourceGovernor.Using.md#ResourceGovernor.AlterResourcePool)
    + [Jatuhkan kolam sumber daya](ResourceGovernor.Using.md#ResourceGovernor.DropResourcePool)
  + [Kelola grup beban kerja](ResourceGovernor.Using.md#ResourceGovernor.ManageWorkloadGroups)
    + [Buat grup beban kerja](ResourceGovernor.Using.md#ResourceGovernor.CreateWorkloadGroup)
    + [Ubah kelompok beban kerja](ResourceGovernor.Using.md#ResourceGovernor.AlterWorkloadGroup)
    + [Jatuhkan grup beban kerja](ResourceGovernor.Using.md#ResourceGovernor.DropWorkloadGroup)
  + [Buat dan daftarkan fungsi pengklasifikasi](ResourceGovernor.Using.md#ResourceGovernor.ClassifierFunction)
  + [Fungsi pengklasifikasi drop](ResourceGovernor.Using.md#ResourceGovernor.DropClassifier)
  + [Fungsi pengklasifikasi de-register](ResourceGovernor.Using.md#ResourceGovernor.DeregisterClassifier)
  + [Setel ulang statistik](ResourceGovernor.Using.md#ResourceGovernor.ResetStats)
  + [Perubahan konfigurasi gubernur sumber daya](ResourceGovernor.Using.md#ResourceGovernor.ConfigChanges)
  + [Mengikat TempDB ke kumpulan sumber daya](ResourceGovernor.Using.md#ResourceGovernor.BindTempDB)
  + [Lepaskan TempDB dari kumpulan sumber daya](ResourceGovernor.Using.md#ResourceGovernor.UnbindTempDB)
  + [Gubernur sumber daya pembersihan](ResourceGovernor.Using.md#ResourceGovernor.Cleanup)
+ [Pertimbangan untuk penyebaran Multi-AZ](#ResourceGovernor.Considerations)
+ [Pertimbangan untuk replika baca](#ResourceGovernor.ReadReplica)
+ [Pantau pengatur sumber daya Microsoft SQL Server menggunakan tampilan sistem untuk RDS Anda untuk instans SQL Server](ResourceGovernor.Monitoring.md)
  + [Statistik runtime kumpulan sumber daya](ResourceGovernor.Monitoring.md#ResourceGovernor.ResourcePoolStats)
+ [Menonaktifkan pengatur sumber daya Microsoft SQL Server untuk RDS Anda untuk instans SQL Server](ResourceGovernor.Disabling.md)
+ [Praktik terbaik untuk mengonfigurasi gubernur sumber daya pada RDS untuk SQL Server](ResourceGovernor.BestPractices.md)

## Versi dan Wilayah yang didukung
<a name="ResourceGovernor.SupportedVersions"></a>

Amazon RDS mendukung pengatur sumber daya untuk versi dan edisi SQL Server berikut di semua Wilayah AWS tempat RDS untuk SQL Server tersedia:
+ Edisi Pengembang dan Perusahaan SQL Server 2022
+ SQL Server 2019 Enterprise Edition
+ SQL Server 2017 Enterprise Edition
+ SQL Server 2016 Enterprise Edition

## Batasan dan rekomendasi
<a name="ResourceGovernor.Limitations"></a>

Batasan dan rekomendasi berikut berlaku untuk gubernur sumber daya:
+ Pembatasan edisi dan layanan:
  + Hanya tersedia di SQL Server Enterprise Edition.
  + Manajemen sumber daya terbatas pada SQL Server Database Engine. Gubernur sumber daya untuk Layanan Analisis, Layanan Integrasi, dan Layanan Pelaporan tidak didukung.
+ Batasan konfigurasi:
  + Harus menggunakan prosedur tersimpan Amazon RDS untuk semua konfigurasi.
  + Pernyataan DDL asli dan konfigurasi GUI SQL Server Management Studio tidak didukung.
+ Parameter kumpulan sumber daya:
  + Nama pool yang dimulai dengan `rds_` tidak didukung.
  + Modifikasi kumpulan sumber daya internal dan default tidak diizinkan.
  + Untuk kumpulan sumber daya yang ditentukan pengguna, parameter kumpulan sumber daya berikut tidak didukung:
    + `MIN_MEMORY_PERCENT`
    + `MIN_CPU_PERCENT`
    + `MIN_IOPS_PER_VOLUME`
    + `AFFINITY`
+ Parameter grup beban kerja:
  + Nama grup beban kerja yang dimulai dengan `rds_` tidak didukung.
  + Modifikasi grup beban kerja internal tidak diizinkan.
  + Untuk grup beban kerja default:
    + Hanya `REQUEST_MAX_MEMORY_GRANT_PERCENT` parameter yang dapat dimodifikasi.
    + Untuk grup beban kerja default, `REQUEST_MAX_MEMORY_GRANT_PERCENT` harus antara 1 dan 70.
    + Semua parameter lainnya terkunci dan tidak dapat diubah.
  + Kelompok beban kerja yang ditentukan pengguna memungkinkan modifikasi semua parameter.
+ Keterbatasan fungsi pengklasifikasi:
  + Fungsi pengklasifikasi merutekan koneksi ke grup beban kerja khusus berdasarkan kriteria yang ditentukan (nama pengguna, database, host, atau nama aplikasi).
  + Mendukung hingga dua grup beban kerja yang ditentukan pengguna dengan kondisi perutean masing-masing.
  + Menggabungkan kriteria dengan `AND` kondisi dalam setiap kelompok.
  + Membutuhkan setidaknya satu kriteria routing per kelompok beban kerja.
  + Hanya metode klasifikasi yang tercantum di atas yang didukung.
  + Nama fungsi harus dimulai dengan`rg_classifier_`.
  + Penetapan grup default jika tidak ada kondisi yang cocok.

# Mengaktifkan pengatur sumber daya Microsoft SQL Server untuk RDS Anda untuk instans SQL Server
<a name="ResourceGovernor.Enabling"></a>

Aktifkan pengatur sumber daya dengan menambahkan `RESOURCE_GOVERNOR` opsi ke RDS Anda untuk instans SQL Server DB. Gunakan proses berikut:

1. Buat grup opsi baru, atau pilih grup opsi yang sudah ada.

1. Tambahkan opsi `RESOURCE_GOVERNOR` untuk grup opsi.

1. Kaitkan grup opsi tersebut dengan instans DB.

**catatan**  
Mengaktifkan gubernur sumber daya melalui grup opsi tidak memerlukan reboot.

## Membuat grup opsi untuk `RESOURCE_GOVERNOR`
<a name="ResourceGovernor.OptionGroup"></a>

Untuk mengaktifkan pengatur sumber daya, buat grup opsi atau ubah grup opsi yang sesuai dengan edisi SQL Server dan versi instans DB yang akan Anda gunakan. Untuk menyelesaikan prosedur ini, gunakan Konsol Manajemen AWS atau AWS CLI.

### Konsol
<a name="ResourceGovernor.OptionGroup.Console"></a>

Gunakan prosedur berikut untuk membuat grup opsi untuk SQL Server Enterprise Edition 2022.

**Untuk membuat grup opsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih **Buat grup**.

1. Di jendela **Buat grup opsi**, lakukan hal berikut:

   1. Untuk **Nama**, masukkan nama untuk grup opsi yang unik di dalam AWS akun Anda, seperti**resource-governor-ee-2022**. Nama tersebut hanya boleh berisi huruf, angka, dan tanda hubung.

   1. Untuk **Deskripsi**, masukkan deskripsi singkat grup opsi, seperti **RESOURCE\$1GOVERNOR option group for SQL Server EE 2022**. Deskripsi digunakan untuk tampilan.

   1. Untuk **Engine**, pilih **sqlserver-EE**.

   1. Untuk **versi mesin Major**, pilih **16.00**.

1. Pilih **Buat**.

### CLI
<a name="ResourceGovernor.OptionGroup.CLI"></a>

Prosedur berikut membuat grup opsi untuk SQL Server Enterprise Edition 2022.

**Untuk membuat grup opsi**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-option-group \
      --option-group-name resource-governor-ee-2022 \
      --engine-name sqlserver-ee \
      --major-engine-version 16.00 \
      --option-group-description "RESOURCE_GOVERNOR option group for SQL Server EE 2022"
  ```

  Untuk Windows:

  ```
  aws rds create-option-group ^
      --option-group-name resource-governor-ee-2022 ^
      --engine-name sqlserver-ee ^
      --major-engine-version 16.00 ^
      --option-group-description "RESOURCE_GOVERNOR option group for SQL Server EE 2022"
  ```

## Menambahkan opsi `RESOURCE_GOVERNOR` ke grup opsi
<a name="ResourceGovernor.Add"></a>

Selanjutnya, gunakan Konsol Manajemen AWS atau AWS CLI untuk menambahkan `RESOURCE_GOVERNOR` opsi ke grup opsi Anda.

### Konsol
<a name="ResourceGovernor.Add.Console"></a>

**Untuk menambahkan opsi RESOURCE\$1GOVERNOR**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi yang baru saja Anda buat, **resource-governor-ee-2022** dalam contoh ini.

1. Pilih **Tambah opsi**.

1. **Di bawah **Rincian opsi**, pilih **RESOURCE\$1GOVERNOR** untuk nama Opsi.**

1. Di bagian **Penjadwalan**, pilih apakah akan menambahkan opsi langsung atau pada masa pemeliharaan berikutnya.

1. Pilih **Tambah opsi**.

### CLI
<a name="ResourceGovernor.Add.CLI"></a>

**Untuk menambahkan `RESOURCE_GOVERNOR` opsi**
+ Tambahkan opsi `RESOURCE_GOVERNOR` ke grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name resource-governor-ee-2022 \
      --options "OptionName=RESOURCE_GOVERNOR" \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name resource-governor-ee-2022 ^
      --options "OptionName=RESOURCE_GOVERNOR" ^
      --apply-immediately
  ```

## Mengaitkan grup opsi dengan instans DB
<a name="ResourceGovernor.Apply"></a>

Untuk mengaitkan grup `RESOURCE_GOVERNOR` opsi dengan instans DB Anda, gunakan Konsol Manajemen AWS atau AWS CLI.

### Konsol
<a name="ResourceGovernor.Apply.Console"></a>

Untuk menyelesaikan pengaktifan resource governor, kaitkan grup `RESOURCE_GOVERNOR` opsi Anda dengan instans DB baru atau yang sudah ada:
+ Untuk instans DB baru, kaitkan saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Untuk instans DB yang sudah ada, kaitkan dengan memodifikasi instans. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

### CLI
<a name="ResourceGovernor.Apply.CLI"></a>

Anda dapat mengaitkan grup `RESOURCE_GOVERNOR` opsi dengan instans DB baru atau yang sudah ada.

**Untuk membuat instance dengan grup `RESOURCE_GOVERNOR` opsi**
+ Tentukan tipe mesin DB yang sama dan versi utama yang Anda gunakan saat membuat grup opsi.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier mytestsqlserverresourcegovernorinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-ee \
      --engine-version 16.00 \
      --license-model license-included \
      --allocated-storage 100 \
      --master-username admin \
      --master-user-password password \
      --storage-type gp2 \
      --option-group-name resource-governor-ee-2022
  ```

  Untuk Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier mytestsqlserverresourcegovernorinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-ee ^
      --engine-version 16.00 ^
      --license-model license-included ^
      --allocated-storage 100 ^
      --master-username admin ^
      --master-user-password password ^
      --storage-type gp2 ^
      --option-group-name resource-governor-ee-2022
  ```

**Untuk memodifikasi instans dan mengaitkan grup opsi `RESOURCE_GOVERNOR`**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mytestinstance \
      --option-group-name resource-governor-ee-2022 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mytestinstance ^
      --option-group-name resource-governor-ee-2022 ^
      --apply-immediately
  ```

# Menggunakan pengatur sumber daya Microsoft SQL Server untuk RDS Anda untuk instans SQL Server
<a name="ResourceGovernor.Using"></a>

Setelah menambahkan opsi gubernur sumber daya ke grup opsi Anda, gubernur sumber daya belum aktif di tingkat mesin database. Untuk sepenuhnya mengaktifkan gubernur sumber daya, Anda harus menggunakan RDS untuk prosedur tersimpan SQL Server untuk mengaktifkannya dan membuat objek pengatur sumber daya yang diperlukan. Untuk informasi selengkapnya, lihat [Menyambung ke instans Microsoft SQL Server DB](USER_ConnectToMicrosoftSQLServerInstance.md).

Pertama, sambungkan ke database SQL Server Anda, lalu panggil RDS yang sesuai untuk prosedur tersimpan SQL Server untuk menyelesaikan konfigurasi. Untuk petunjuk tentang melakukan koneksi ke basis data Anda, lihat [Menyambung ke instans Microsoft SQL Server DB](USER_ConnectToMicrosoftSQLServerInstance.md).

Untuk petunjuk bagaimana cara memanggil setiap prosedur tersimpan, lihat topik berikut:

**Topics**
+ [Kelola kumpulan sumber daya](#ResourceGovernor.ManageResourcePool)
+ [Kelola grup beban kerja](#ResourceGovernor.ManageWorkloadGroups)
+ [Buat dan daftarkan fungsi pengklasifikasi](#ResourceGovernor.ClassifierFunction)
+ [Fungsi pengklasifikasi drop](#ResourceGovernor.DropClassifier)
+ [Fungsi pengklasifikasi de-register](#ResourceGovernor.DeregisterClassifier)
+ [Setel ulang statistik](#ResourceGovernor.ResetStats)
+ [Perubahan konfigurasi gubernur sumber daya](#ResourceGovernor.ConfigChanges)
+ [Mengikat TempDB ke kumpulan sumber daya](#ResourceGovernor.BindTempDB)
+ [Lepaskan TempDB dari kumpulan sumber daya](#ResourceGovernor.UnbindTempDB)
+ [Gubernur sumber daya pembersihan](#ResourceGovernor.Cleanup)

## Kelola kumpulan sumber daya
<a name="ResourceGovernor.ManageResourcePool"></a>

### Buat Pool sumber daya
<a name="ResourceGovernor.CreateResourcePool"></a>

Setelah pengatur sumber daya diaktifkan pada grup opsi, Anda dapat membuat kumpulan sumber daya khusus menggunakan`rds_create_resource_pool`. Kumpulan ini memungkinkan Anda mengalokasikan persentase spesifik CPU, memori, dan IOPS ke beban kerja yang berbeda.

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_create_resource_pool    
    @pool_name=value,
    @MAX_CPU_PERCENT=value,
    @CAP_CPU_PERCENT=value,
    @MAX_MEMORY_PERCENT=value,
    @MAX_IOPS_PER_VOLUME=value
```

Parameter-parameter berikut diperlukan:
+ `@group_name`- Adalah nama grup beban kerja yang ditentukan pengguna yang ada.
+ `@pool_name`- Adalah nama yang ditentukan pengguna untuk kumpulan sumber daya. *pool\$1name*bersifat alfanumerik, bisa sampai 128 karakter, harus unik dalam instance Database Engine, dan harus mematuhi aturan untuk pengidentifikasi database.

Parameter berikut ini bersifat opsional:
+ `@MAX_CPU_PERCENT`- Menentukan bandwidth CPU rata-rata maksimum yang diterima semua permintaan di kumpulan sumber daya saat ada pertentangan CPU. *value*adalah integer dengan pengaturan default 100. Rentang yang diizinkan untuk *value* adalah dari 1 hingga 100.
+ `@CAP_CPU_PERCENT`- Menentukan batas keras pada bandwidth CPU yang diterima semua permintaan di kumpulan sumber daya. Membatasi tingkat bandwidth CPU maksimum agar sama dengan nilai yang ditentukan. *value*adalah integer dengan pengaturan default 100. Rentang yang diizinkan untuk *value* adalah dari 1 hingga 100.
+ `@MAX_MEMORY_PERCENT`- Menentukan jumlah maksimum memori ruang kerja kueri yang permintaan dalam kumpulan sumber daya ini dapat digunakan. *value*adalah integer dengan pengaturan default 100. Rentang yang diizinkan untuk *value* adalah dari 1 hingga 100.
+ `@MAX_IOPS_PER_VOLUME`- Menentukan I/O operasi maksimum per detik (IOPS) per volume disk untuk memungkinkan kumpulan sumber daya. Rentang yang diizinkan untuk *value* adalah dari 0 hingga 2 ^ 31-1 (2.147.483.647). Tentukan 0 untuk menghapus batas IOPS untuk kumpulan. Default-nya adalah 0.

**Contoh**

Contoh pembuatan kumpulan sumber daya dengan semua nilai default:

```
--This creates resource pool 'SalesPool' with all default values
USE [msdb]
EXEC rds_create_resource_pool @pool_name = 'SalesPool';
     
--Apply changes
USE [msdb]
EXEC msdb.dbo.rds_alter_resource_governor_configuration;
     
--Validate configuration
select * from sys.resource_governor_resource_pools
```

Contoh membuat kumpulan sumber daya dengan parameter berbeda yang ditentukan:

```
--creates resource pool
USE [msdb]
EXEC dbo.rds_create_resource_pool    
@pool_name='analytics',
@MAX_CPU_PERCENT = 30,
@CAP_CPU_PERCENT = 40,
@MAX_MEMORY_PERCENT = 20;
            
--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;
    
--Validate configuration
select * from sys.resource_governor_resource_pools
```

### Ubah kolam sumber daya
<a name="ResourceGovernor.AlterResourcePool"></a>

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_alter_resource_pool    
    @pool_name=value,
    @MAX_CPU_PERCENT=value,
    @CAP_CPU_PERCENT=value,
    @MAX_MEMORY_PERCENT=value,
    @MAX_IOPS_PER_VOLUME=value;
```

Parameter-parameter berikut diperlukan:
+ `@pool_name`- Adalah nama kumpulan sumber daya yang ditentukan pengguna yang ada. Mengubah kumpulan sumber daya default tidak diizinkan di Amazon RDS SQL Server.

Setidaknya salah satu parameter opsional harus ditentukan:
+ `@MAX_CPU_PERCENT`- Menentukan bandwidth CPU rata-rata maksimum yang diterima semua permintaan di kumpulan sumber daya saat ada pertentangan CPU. *value*adalah integer dengan pengaturan default 100. Rentang yang diizinkan untuk *value* adalah dari 1 hingga 100.
+ `@CAP_CPU_PERCENT`- Menentukan batas keras pada bandwidth CPU yang diterima semua permintaan di kumpulan sumber daya. Membatasi tingkat bandwidth CPU maksimum agar sama dengan nilai yang ditentukan. *value*adalah integer dengan pengaturan default 100. Rentang yang diizinkan untuk *value* adalah dari 1 hingga 100.
+ `@MAX_MEMORY_PERCENT`- Menentukan jumlah maksimum memori ruang kerja kueri yang permintaan dalam kumpulan sumber daya ini dapat digunakan. *value*adalah integer dengan pengaturan default 100. Rentang yang diizinkan untuk *value* adalah dari 1 hingga 100.
+ `@MAX_IOPS_PER_VOLUME`- Menentukan I/O operasi maksimum per detik (IOPS) per volume disk untuk memungkinkan kumpulan sumber daya. Rentang yang diizinkan untuk *value* adalah dari 0 hingga 2 ^ 31-1 (2.147.483.647). Tentukan 0 untuk menghapus batas IOPS untuk kumpulan. Default-nya adalah 0.

**Contoh**

```
--This alters resource pool
USE [msdb]
EXEC dbo.rds_alter_resource_pool    
    @pool_name='analytics',
    @MAX_CPU_PERCENT = 10,
    @CAP_CPU_PERCENT = 20,
    @MAX_MEMORY_PERCENT = 50;

--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;

--Validate configuration.
select * from sys.resource_governor_resource_pools
```

### Jatuhkan kolam sumber daya
<a name="ResourceGovernor.DropResourcePool"></a>

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_drop_resource_pool    
@pool_name=value;
```

Parameter berikut diperlukan:
+ `@pool_name`- Adalah nama kumpulan sumber daya yang ditentukan pengguna yang ada.

**catatan**  
Menjatuhkan kumpulan sumber daya internal atau default tidak diizinkan di SQL Server.

**Contoh**

```
--This drops resource pool
USE [msdb]
EXEC dbo.rds_drop_resource_pool    
@pool_name='analytics'

--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;

--Validate configuration
select * from sys.resource_governor_resource_pools
```

## Kelola grup beban kerja
<a name="ResourceGovernor.ManageWorkloadGroups"></a>

Grup beban kerja, dibuat dan dikelola dengan `rds_create_workload_group` dan`rds_alter_workload_group`, memungkinkan Anda menetapkan tingkat kepentingan, hibah memori, dan parameter lainnya untuk grup kueri.

### Buat grup beban kerja
<a name="ResourceGovernor.CreateWorkloadGroup"></a>

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_create_workload_group 
@group_name = value, 
@IMPORTANCE ={ LOW | MEDIUM | HIGH }, 
@REQUEST_MAX_MEMORY_GRANT_PERCENT =value, 
@REQUEST_MAX_CPU_TIME_SEC = value , 
@REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value, 
@MAX_DOP = value, 
@GROUP_MAX_REQUESTS = value, 
@pool_name = value
```

Parameter-parameter berikut diperlukan:
+ `@pool_name`- Adalah nama kumpulan sumber daya yang ditentukan pengguna yang ada.
+ `@group_name`- Adalah nama grup beban kerja yang ditentukan pengguna yang ada.

Parameter berikut ini bersifat opsional:
+ `@IMPORTANCE`- Menentukan kepentingan relatif dari permintaan dalam kelompok beban kerja. Nilai default-nya adalah `MEDIUM`.
+ `@REQUEST_MAX_MEMORY_GRANT_PERCENT`- Menentukan jumlah maksimum memori ruang kerja query yang satu permintaan dapat mengambil dari pool. *value*adalah persentase dari ukuran kumpulan sumber daya yang ditentukan oleh`MAX_MEMORY_PERCENT`. Nilai default adalah 25.
+ `@REQUEST_MAX_CPU_TIME_SEC`- Menentukan jumlah maksimum waktu CPU, dalam hitungan detik, yang dapat digunakan oleh permintaan batch. *value*harus 0 atau bilangan bulat positif. Pengaturan default untuk *value* adalah 0, yang berarti tidak terbatas.
+ `@REQUEST_MEMORY_GRANT_TIMEOUT_SEC`- Menentukan waktu maksimum, dalam hitungan detik, bahwa kueri dapat menunggu hibah memori dari memori ruang kerja query menjadi tersedia. *value*harus 0 atau bilangan bulat positif. Pengaturan default untuk*value*, 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.
+ `@MAX_DOP`- Menentukan tingkat maksimum paralelisme () `MAXDOP` untuk eksekusi query paralel. Rentang yang diizinkan untuk *value* adalah dari 0 hingga 64. Pengaturan default untuk*value*, 0, menggunakan pengaturan global.
+ `@GROUP_MAX_REQUESTS`= Menentukan jumlah maksimum permintaan simultan yang diizinkan untuk mengeksekusi dalam kelompok beban kerja. *value*harus 0 atau bilangan bulat positif. Pengaturan default untuk *value* adalah 0, dan memungkinkan permintaan tak terbatas.
+ `@pool_name`= Mengaitkan grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh*pool\$1name*, atau dengan kumpulan sumber daya. `default` Jika *pool\$1name* tidak disediakan, grup beban kerja dikaitkan dengan `default` kumpulan bawaan.

**Contoh**

```
--This creates workload group named 'analytics'
USE msdb;
EXEC dbo.rds_create_workload_group 
    @group_name = 'analytics',
    @IMPORTANCE = 'HIGH',
    @REQUEST_MAX_MEMORY_GRANT_PERCENT = 25, 
    @REQUEST_MAX_CPU_TIME_SEC = 0, 
    @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = 0, 
    @MAX_DOP = 0, 
    @GROUP_MAX_REQUESTS = 0, 
    @pool_name = 'analytics';

--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;
  
--Validate configuration
select * from sys.resource_governor_workload_groups
```

### Ubah kelompok beban kerja
<a name="ResourceGovernor.AlterWorkloadGroup"></a>

**Penggunaan**

```
EXEC msdb.dbo.rds_alter_workload_group
    @group_name = value,
    @IMPORTANCE = 'LOW|MEDIUM|HIGH',
    @REQUEST_MAX_MEMORY_GRANT_PERCENT = value,
    @REQUEST_MAX_CPU_TIME_SEC = value,
    @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value,
    @MAX_DOP = value,
    @GROUP_MAX_REQUESTS = value,
    @pool_name = value
```

Parameter-parameter berikut diperlukan:
+ `@group_name`- Adalah nama default atau grup beban kerja yang ditentukan pengguna yang ada.

**catatan**  
Mengubah hanya `REQUEST_MAX_MEMORY_GRANT_PERCENT` parameter pada grup beban kerja default didukung. Untuk grup beban kerja default `REQUEST_MAX_MEMORY_GRANT_PERCENT` harus antara 1 dan 70. Tidak ada parameter lain yang dapat dimodifikasi dalam grup beban kerja default. Semua parameter dapat dimodifikasi dalam grup beban kerja yang ditentukan pengguna.

Parameter berikut ini bersifat opsional:
+ `@IMPORTANCE`- Menentukan kepentingan relatif dari permintaan dalam kelompok beban kerja. Nilai defaultnya adalah MEDIUM.
+ `@REQUEST_MAX_MEMORY_GRANT_PERCENT`- Menentukan jumlah maksimum memori ruang kerja query yang satu permintaan dapat mengambil dari pool. *value*adalah persentase dari ukuran kumpulan sumber daya yang ditentukan oleh`MAX_MEMORY_PERCENT`. Nilai default adalah 25. Di Amazon RDS, `REQUEST_MAX_MEMORY_GRANT_PERCENT` harus antara 1 dan 70.
+ `@REQUEST_MAX_CPU_TIME_SEC`- Menentukan jumlah maksimum waktu CPU, dalam hitungan detik, yang dapat digunakan oleh permintaan batch. *value*harus 0 atau bilangan bulat positif. Pengaturan default untuk *value* adalah 0, yang berarti tidak terbatas.
+ `@REQUEST_MEMORY_GRANT_TIMEOUT_SEC`- Menentukan waktu maksimum, dalam hitungan detik, bahwa kueri dapat menunggu hibah memori dari memori ruang kerja query menjadi tersedia. *value*harus 0 atau bilangan bulat positif. Pengaturan default untuk*value*, 0, menggunakan perhitungan internal berdasarkan biaya kueri untuk menentukan waktu maksimum.
+ `@MAX_DOP`- Menentukan tingkat maksimum paralelisme (MAXDOP) untuk eksekusi query paralel. Rentang yang diizinkan untuk *value* adalah dari 0 hingga 64. Pengaturan default untuk*value*, 0, menggunakan pengaturan global.
+ `@GROUP_MAX_REQUESTS`- Menentukan jumlah maksimum permintaan simultan yang diizinkan untuk mengeksekusi dalam kelompok beban kerja. *value*harus 0 atau bilangan bulat positif. Pengaturan default untuk *value* adalah 0, dan memungkinkan permintaan tak terbatas.
+ `@pool_name`- Mengaitkan grup beban kerja dengan kumpulan sumber daya yang ditentukan pengguna yang diidentifikasi oleh. *pool\$1name*

**Contoh**

Contoh untuk Memodifikasi perubahan grup beban kerja default REQUEST\$1MAX\$1MEMORY\$1GRANT\$1PERCENT:

```
--Modify default workload group (set memory grant cap to 10%)
USE msdb
EXEC dbo.rds_alter_workload_group    
    @group_name = 'default',
    @REQUEST_MAX_MEMORY_GRANT_PERCENT=10;
    
--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;

--Validate configuration
SELECT * FROM sys.resource_governor_workload_groups WHERE name='default';
```

Contoh untuk memodifikasi grup beban kerja non-default:

```
EXEC msdb.dbo.rds_alter_workload_group    
    @group_name = 'analytics',
    @IMPORTANCE = 'HIGH',
    @REQUEST_MAX_MEMORY_GRANT_PERCENT = 30,
    @REQUEST_MAX_CPU_TIME_SEC = 3600,
    @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = 60,
    @MAX_DOP = 4,
    @GROUP_MAX_REQUESTS = 100;

--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;
```

Contoh untuk memindahkan Grup Beban Kerja Non-Default ke kumpulan sumber daya lain:

```
EXEC msdb.dbo.rds_alter_workload_group    
@group_name = 'analytics',
@pool_name='abc'

--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;

--Validate configuration
select * from sys.resource_governor_workload_groups
```

### Jatuhkan grup beban kerja
<a name="ResourceGovernor.DropWorkloadGroup"></a>

**Penggunaan**

```
EXEC msdb.dbo.rds_drop_workload_group    
@group_name = value
```

Parameter-parameter berikut diperlukan:
+ `@group_name`- Adalah nama grup beban kerja yang ditentukan pengguna yang ada.

**Contoh**

```
--Drops a Workload Group:
EXEC msdb.dbo.rds_drop_workload_group    
@group_name = 'analytics';

--Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;

--Validate configuration
select * from sys.resource_governor_workload_groups
```

## Buat dan daftarkan fungsi pengklasifikasi
<a name="ResourceGovernor.ClassifierFunction"></a>

Prosedur ini membuat fungsi pengklasifikasi gubernur sumber daya dalam database master yang merutekan koneksi ke grup beban kerja khusus berdasarkan kriteria yang ditentukan (nama pengguna, database, host, atau nama aplikasi). Jika pengatur sumber daya diaktifkan dan fungsi pengklasifikasi ditentukan dalam konfigurasi pengatur sumber daya, maka output fungsi menentukan grup beban kerja yang digunakan untuk sesi baru. Dengan tidak adanya fungsi pengklasifikasi, semua sesi diklasifikasikan ke dalam `default` grup.

**Fitur-fitur**:
+ Mendukung hingga dua kelompok beban kerja dengan kondisi perutean masing-masing.
+ Menggabungkan kriteria dengan `AND` kondisi dalam setiap kelompok.
+ Membutuhkan setidaknya satu kriteria routing per kelompok beban kerja.
+ Nama fungsi harus dimulai dengan`rg_classifier_`.
+ Penetapan grup default jika tidak ada kondisi yang cocok.

Fungsi pengklasifikasi memiliki karakteristik dan perilaku sebagai berikut:
+ Fungsi ini didefinisikan dalam lingkup server (dalam database master).
+ Fungsi ini didefinisikan dengan pengikatan skema.
+ Fungsi ini dievaluasi untuk setiap sesi baru, bahkan ketika penyatuan koneksi diaktifkan.
+ Fungsi mengembalikan konteks kelompok beban kerja untuk sesi. Sesi ditugaskan ke grup beban kerja yang dikembalikan oleh pengklasifikasi selama masa sesi.
+ Jika fungsi mengembalikan NULL, default, atau nama grup beban kerja yang tidak ada, sesi diberikan konteks grup beban kerja default. Sesi ini juga diberikan konteks default jika fungsi gagal karena alasan apapun.
+ Anda dapat membuat beberapa fungsi pengklasifikasi. Namun, SQL Server hanya mengizinkan satu fungsi pengklasifikasi untuk didaftarkan pada satu waktu.
+ Fungsi pengklasifikasi tidak dapat dihapus kecuali status pengklasifikasi dihapus menggunakan prosedur de-register (`EXEC dbo.msdb.rds_alter_resource_governor_configuration @deregister_function = 1;`) yang menyetel nama fungsi ke NULL atau fungsi pengklasifikasi lain terdaftar menggunakan () `EXEC dbo.msdb.rds_alter_resource_governor_configuration @classifier_function = <function_name>;`
+ Dengan tidak adanya fungsi pengklasifikasi, semua sesi diklasifikasikan ke dalam grup default.
+ Anda tidak dapat memodifikasi fungsi pengklasifikasi saat direferensikan dalam konfigurasi pengatur sumber daya. Namun, Anda dapat memodifikasi konfigurasi untuk menggunakan fungsi pengklasifikasi yang berbeda. Jika Anda ingin membuat perubahan pada pengklasifikasi, pertimbangkan untuk membuat sepasang fungsi pengklasifikasi. Misalnya, Anda dapat membuat `rg_classifier_a` dan`rg_classifier_b`.

**Penggunaan**

```
EXEC msdb.dbo.rds_create_classifier_function 
@function_name = value,
@workload_group1 = value, 
@user_name1 = value,
@db_name1 = value,
@host_name1 = value, 
@app_name1 = value, 
@workload_group2 = value,
@user_name2 = value,
@db_name2 = value,
@host_name2 = value,
@app_name2 = value
```

Parameter-parameter berikut diperlukan:
+ `@function_name`- Nama fungsi pengklasifikasi. Harus dimulai dengan `rg_classifier_`
+ `@workload_group1`- Nama grup beban kerja pertama

Parameter berikut ini bersifat opsional:

(Setidaknya satu dari kriteria ini harus ditentukan untuk kelompok 1)
+ `@user_name1`- Nama login untuk grup 1
+ `@db_name1`- Nama database untuk grup 1
+ `@host_name1`- Nama host untuk grup 1
+ `@app_name1`- Nama aplikasi untuk grup 1

(Jika kelompok 2 ditentukan, setidaknya satu kriteria harus disediakan)
+ `@workload_group2`- Nama kelompok beban kerja kedua
+ `@user_name2`- Nama login untuk grup 2
+ `@db_name2`- Nama database untuk grup 2
+ `@host_name2`- Nama host untuk grup 2
+ `@app_name2`- Nama aplikasi untuk grup 2

**catatan**  
Akun sistem, database, aplikasi, dan host dibatasi.

**Contoh**

Contoh Dasar dengan Satu Kelompok Beban Kerja:

```
/*Create a classifier to route all requests from 'PowerBI' app to workload group 
'reporting_group'*/

EXEC msdb.dbo.rds_create_classifier_function
@function_name = 'rg_classifier_a',
@workload_group1 = 'reporting_group',
@app_name1 = 'PowerBI';

--Register the classifier
EXEC msdb.dbo.rds_alter_resource_governor_configuration
@classifier_function = 'rg_classifier_a';

-- Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration

/*Query sys.resource_governor_configuration to validate that resource governor is enabled and is using the classifier function we created and registered*/

use master
go
SELECT OBJECT_SCHEMA_NAME(classifier_function_id) AS classifier_schema_name,
       OBJECT_NAME(classifier_function_id) AS classifier_object_name,
       is_enabled
FROM sys.resource_governor_configuration;
```

## Fungsi pengklasifikasi drop
<a name="ResourceGovernor.DropClassifier"></a>

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_drop_classifier_function
@function_name = value;
```

Parameter berikut diperlukan:
+ `@function_name`- Apakah nama fungsi pengklasifikasi yang ditentukan pengguna yang ada

**Contoh**

```
EXEC msdb.dbo.rds_drop_classifier_function
@function_name = 'rg_classifier_b';
```

## Fungsi pengklasifikasi de-register
<a name="ResourceGovernor.DeregisterClassifier"></a>

Gunakan prosedur ini untuk membatalkan pendaftaran fungsi pengklasifikasi. Setelah fungsi tidak terdaftar, sesi baru secara otomatis ditetapkan ke grup beban kerja default.

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_alter_resource_governor_configuration    
@deregister_function = 1;
```

Untuk de-registrasi parameter berikut diperlukan:
+ `@deregister_function`harus 1

**Contoh**

```
EXEC msdb.dbo.rds_alter_resource_governor_configuration 
    @deregister_function = 1;
GO

-- Apply changes
EXEC msdb.dbo.rds_alter_resource_governor_configuration;
```

## Setel ulang statistik
<a name="ResourceGovernor.ResetStats"></a>

Statistik gubernur sumber daya bersifat kumulatif sejak server terakhir dimulai ulang. Jika Anda perlu mengumpulkan statistik mulai dari waktu tertentu, Anda dapat mengatur ulang statistik menggunakan prosedur tersimpan Amazon RDS berikut.

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_alter_resource_governor_configuration  
@reset_statistics = 1;
```

Untuk mengatur ulang statistik parameter berikut diperlukan:
+ `@reset_statistics`harus 1

## Perubahan konfigurasi gubernur sumber daya
<a name="ResourceGovernor.ConfigChanges"></a>

Ketika gubernur sumber daya tidak diaktifkan, `rds_alter_resource_governor_configuration` aktifkan gubernur sumber daya. Mengaktifkan gubernur sumber daya memiliki hasil sebagai berikut:
+ Fungsi pengklasifikasi, jika ada, dijalankan untuk sesi baru, menetapkannya ke grup beban kerja.
+ Batas sumber daya yang ditentukan dalam konfigurasi gubernur sumber daya dihormati dan ditegakkan.
+ Batas sumber daya yang ditentukan dalam konfigurasi gubernur sumber daya dihormati dan ditegakkan.
+ Permintaan yang ada sebelum mengaktifkan pengatur sumber daya mungkin terpengaruh oleh perubahan konfigurasi apa pun yang dibuat saat pengatur sumber daya diaktifkan.
+ Permintaan yang ada, sebelum mengaktifkan pengatur sumber daya, mungkin terpengaruh oleh perubahan konfigurasi apa pun yang dibuat saat pengatur sumber daya diaktifkan.
+ Pada RDS untuk SQL Server, `EXEC msdb.dbo.rds_alter_resource_governor_configuration` harus dijalankan agar perubahan konfigurasi gubernur sumber daya diterapkan. 

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_alter_resource_governor_configuration
```

## Mengikat TempDB ke kumpulan sumber daya
<a name="ResourceGovernor.BindTempDB"></a>

Anda dapat mengikat metadata yang dioptimalkan memori tempdb ke kumpulan sumber daya tertentu menggunakan `rds_bind_tempdb_metadata_to_resource_pool` Amazon RDS SQL Server versi 2019 dan yang lebih baru.

**catatan**  
Fitur metadata tempdb yang dioptimalkan untuk memori harus diaktifkan sebelum mengikat metadata tempdb ke kumpulan sumber daya. Untuk mengaktifkan fitur ini di Amazon RDS, ini adalah parameter `tempdb metadata memory-optimized` statis.

Aktifkan parameter statis di Amazon RDS dan lakukan reboot tanpa failover agar parameter diterapkan:

```
aws rds modify-db-parameter-group \
    --db-parameter-group-name test-sqlserver-ee-2022 \
    --parameters "ParameterName='tempdb metadata memory-optimized',ParameterValue=True,ApplyMethod=pending-reboot"
```

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_bind_tempdb_metadata_to_resource_pool  
@pool_name=value;
```

Parameter berikut diperlukan:
+ `@pool_name`- Adalah nama kumpulan sumber daya yang ditentukan pengguna yang ada.

**catatan**  
Perubahan ini juga memerlukan reboot layanan sql tanpa failover untuk diterapkan, bahkan jika fitur metadata TempDB yang dioptimalkan untuk memori sudah diaktifkan.

## Lepaskan TempDB dari kumpulan sumber daya
<a name="ResourceGovernor.UnbindTempDB"></a>

Buka ikatan metadata memori tempdb yang dioptimalkan dari kumpulan sumber daya.

**catatan**  
Perubahan ini juga membutuhkan reboot layanan sql tanpa failover untuk diterapkan

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_unbind_tempdb_metadata_from_resource_pool
```

## Gubernur sumber daya pembersihan
<a name="ResourceGovernor.Cleanup"></a>

Prosedur ini untuk membersihkan semua objek terkait setelah Anda menghapus opsi pengatur sumber daya dari grup opsi. Ini menonaktifkan pengatur sumber daya, mengembalikan grup beban kerja default ke pengaturan default, menghapus grup beban kerja khusus, kumpulan sumber daya, dan fungsi pengklasifikasi.

**Fitur utama**
+ Mengembalikan grup beban kerja default ke pengaturan default
+ Menonaktifkan gubernur sumber daya
+ Menghapus grup beban kerja khusus
+ Menghapus kumpulan sumber daya khusus
+ Fungsi pengklasifikasi tetes
+ Menghapus pengikatan kumpulan sumber daya tempdb jika diaktifkan

**penting**  
Pembersihan ini dapat error jika ada sesi aktif pada grup beban kerja. Tunggu sesi aktif selesai atau hentikan sesi aktif sesuai kebutuhan bisnis Anda. Disarankan untuk menjalankan ini selama jendela pemeliharaan.   
Pembersihan ini dapat error jika kumpulan sumber daya terikat ke tempdb dan reboot tanpa failover belum terjadi. Jika Anda mengikat kumpulan sumber daya ke tempdb atau membuka ikatan kumpulan sumber daya dari tempdb sebelumnya, lakukan reboot tanpa failover untuk membuat perubahan efektif. Disarankan untuk menjalankan ini selama jendela pemeliharaan.

**Penggunaan**

```
USE [msdb]
EXEC dbo.rds_cleanup_resource_governor
```

## Pertimbangan untuk penyebaran Multi-AZ
<a name="ResourceGovernor.Considerations"></a>

RDS untuk SQL Server mereplikasi pengatur sumber daya ke instance sekunder dalam penerapan Multi-AZ. Anda dapat memverifikasi kapan dimodifikasi dan gubernur sumber daya baru terakhir disinkronkan dengan instance sekunder.

Gunakan kueri berikut untuk memeriksa `last_sync_time` replikasi:

```
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
```

Dalam hasil kueri, jika waktu sinkronisasi melewati pengatur sumber daya yang diperbarui atau waktu pembuatan, maka gubernur sumber daya menyinkronkan dengan yang sekunder.

Untuk melakukan failover DB manual untuk mengonfirmasi bahwa gubernur sumber daya bereplikasi, tunggu `last_sync_time` hingga pembaruan terlebih dahulu. Kemudian, lanjutkan dengan failover Multi-AZ.

## Pertimbangan untuk replika baca
<a name="ResourceGovernor.ReadReplica"></a>
+ Untuk replika SQL Server di Wilayah yang sama dengan instans DB sumber, gunakan grup opsi yang sama dengan sumbernya. Perubahan pada grup opsi segera menyebar ke replika, terlepas dari jendela pemeliharaannya.
+ Saat Anda membuat replika SQL Server Cross-region, RDS membuat grup opsi khusus untuknya.
+ Anda tidak dapat menghapus replika lintas Wilayah SQL dari grup opsi khususnya. Tidak ada instans DB lain yang dapat menggunakan grup opsi khusus untuk replika lintas Wilayah SQL Server.
+ Opsi gubernur sumber daya adalah opsi yang tidak direplikasi. Anda dapat menambahkan atau menghapus opsi non-replikasi dari grup opsi khusus.
+ Saat Anda mempromosikan replika baca lintas Wilayah SQL, replika yang dipromosikan memiliki perilaku yang sama seperti instans DB SQL Server lainnya, termasuk manajemen opsinya.

**catatan**  
Saat menggunakan Gubernur sumber daya pada replika baca, Anda harus memastikan secara manual bahwa gubernur sumber daya telah dikonfigurasi pada replika baca Anda menggunakan prosedur tersimpan Amazon RDS setelah opsi ditambahkan ke grup opsi. Konfigurasi gubernur sumber daya tidak secara otomatis mereplikasi ke replika baca. Juga, beban kerja pada replika baca biasanya berbeda dari contoh utama. Oleh karena itu, disarankan untuk menerapkan konfigurasi sumber daya pada replika berdasarkan beban kerja dan jenis instance Anda. Anda dapat menjalankan prosedur tersimpan Amazon RDS ini pada replika baca secara independen untuk mengonfigurasi pengatur sumber daya pada replika baca.

# Pantau pengatur sumber daya Microsoft SQL Server menggunakan tampilan sistem untuk RDS Anda untuk instans SQL Server
<a name="ResourceGovernor.Monitoring"></a>

Statistik Gubernur Sumber Daya bersifat kumulatif sejak server terakhir dimulai ulang. Jika Anda perlu mengumpulkan statistik mulai dari waktu tertentu, Anda dapat mengatur ulang statistik menggunakan prosedur tersimpan Amazon RDS berikut:

```
EXEC msdb.dbo.rds_alter_resource_governor_configuration  
@reset_statistics = 1;
```

## Statistik runtime kumpulan sumber daya
<a name="ResourceGovernor.ResourcePoolStats"></a>

Untuk setiap kumpulan sumber daya, pengatur sumber daya melacak pemanfaatan CPU dan memori, out-of-memory peristiwa, hibah memori, I/O, dan statistik lainnya. Untuk informasi selengkapnya, lihat [sys.dm\$1resource\$1governor\$1resource\$1pools](https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-resource-governor-resource-pools-transact-sql?view=sql-server-ver17).

Kueri berikut mengembalikan subset statistik yang tersedia untuk semua kumpulan sumber daya:

```
SELECT rp.pool_id,
       rp.name AS resource_pool_name,
       wg.workload_group_count,
       rp.statistics_start_time,
       rp.total_cpu_usage_ms,
       rp.target_memory_kb,
       rp.used_memory_kb,
       rp.out_of_memory_count,
       rp.active_memgrant_count,
       rp.total_memgrant_count,
       rp.total_memgrant_timeout_count,
       rp.read_io_completed_total,
       rp.write_io_completed_total,
       rp.read_bytes_total,
       rp.write_bytes_total,
       rp.read_io_stall_total_ms,
       rp.write_io_stall_total_ms
FROM sys.dm_resource_governor_resource_pools AS rp
OUTER APPLY (
            SELECT COUNT(1) AS workload_group_count
            FROM sys.dm_resource_governor_workload_groups AS wg
            WHERE wg.pool_id = rp.pool_id
            ) AS wg;
```

# Menonaktifkan pengatur sumber daya Microsoft SQL Server untuk RDS Anda untuk instans SQL Server
<a name="ResourceGovernor.Disabling"></a>

Saat Anda menonaktifkan pengatur sumber daya pada RDS untuk SQL Server, layanan berhenti mengelola sumber daya beban kerja. Sebelum Anda menonaktifkan resource governor, tinjau bagaimana hal ini memengaruhi koneksi dan konfigurasi database Anda.

Menonaktifkan gubernur sumber daya memiliki hasil sebagai berikut:
+ Fungsi classifier tidak dijalankan ketika koneksi baru dibuka.
+ Koneksi baru secara otomatis diklasifikasikan ke dalam grup beban kerja default.
+ Semua pengaturan grup beban kerja dan kumpulan sumber daya yang ada disetel ulang ke nilai defaultnya.
+ Tidak ada peristiwa yang ditembakkan ketika batas tercapai.
+ Perubahan konfigurasi gubernur sumber daya dapat dilakukan, tetapi perubahan tidak berlaku sampai gubernur sumber daya diaktifkan.

Untuk menonaktifkan gubernur sumber daya, hapus `RESOURCE_GOVERNOR` opsi dari grup opsinya.

## Konsol
<a name="ResourceGovernor.Disabling.Console"></a>

Prosedur berikut akan menghapus opsi `RESOURCE_GOVERNOR`.

**Untuk menghapus opsi RESOURCE\$1GOVERNOR dari grup opsinya**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih grup opsi dengan opsi `RESOURCE_GOVERNOR` (`resource-governor-ee-2022` dalam contoh sebelumnya).

1. Pilih **Hapus opsi**.

1. **Di bawah **Opsi penghapusan**, pilih **RESOURCE\$1GOVERNOR** untuk Opsi yang akan dihapus.**

1. Di bagian **Langsung terapkan**, pilih **Ya** untuk segera menghapus opsi, atau **Tidak** untuk menghapusnya selama masa pemeliharaan berikutnya.

1. Pilih **Hapus**.

## CLI
<a name="ResourceGovernor.Disabling.CLI"></a>

Prosedur berikut akan menghapus opsi `RESOURCE_GOVERNOR`.

**Untuk menghapus opsi RESOURCE\$1GOVERNOR dari grup opsinya**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds remove-option-from-option-group \
      --option-group-name resource-governor-ee-2022 \
      --options RESOURCE_GOVERNOR \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name resource-governor-ee-2022 ^
      --options RESOURCE_GOVERNOR ^
      --apply-immediately
  ```

# Praktik terbaik untuk mengonfigurasi gubernur sumber daya pada RDS untuk SQL Server
<a name="ResourceGovernor.BestPractices"></a>

Untuk mengontrol konsumsi sumber daya, RDS untuk SQL Server mendukung pengatur sumber daya Microsoft SQL Server. Praktik terbaik berikut membantu Anda menghindari masalah konfigurasi umum dan mengoptimalkan kinerja database.

1. Konfigurasi gubernur sumber daya disimpan dalam `master` database. Kami menyarankan Anda selalu menyimpan salinan skrip konfigurasi gubernur sumber daya secara terpisah.

1. Fungsi pengklasifikasi memperpanjang waktu pemrosesan login sehingga disarankan untuk menghindari logika kompleks di pengklasifikasi. Fungsi yang terlalu kompleks dapat menyebabkan penundaan login atau batas waktu koneksi termasuk sesi otomatisasi Amazon RDS. Ini dapat memengaruhi kemampuan otomatisasi Amazon RDS untuk memantau kesehatan instans. Oleh karena itu, selalu disarankan untuk menguji fungsi pengklasifikasi di lingkungan pra-produksi sebelum diterapkan di lingkungan produksi.

1. Hindari menyetel nilai tinggi (di atas 70) untuk `REQUEST_MAX_MEMORY_GRANT_PERCENT` dalam grup beban kerja, karena ini dapat mencegah instance database mengalokasikan memori yang cukup untuk kueri bersamaan lainnya, yang berpotensi mengakibatkan kesalahan batas waktu pemberian memori (Kesalahan 8645). Sebaliknya, menyetel nilai ini terlalu rendah (kurang dari 1) atau ke 0 dapat mencegah kueri yang membutuhkan ruang kerja memori (seperti yang melibatkan operasi pengurutan atau hash) dijalankan dengan benar dalam kelompok beban kerja yang ditentukan pengguna. RDS memberlakukan batasan ini dengan membatasi nilai antara 1 dan 70 pada grup beban kerja default.

1. Untuk mengikat tempdb ke kumpulan sumber daya, setelah mengikat metadata tempdb yang dioptimalkan memori ke kumpulan, kumpulan mungkin mencapai pengaturan maksimumnya, dan kueri apa pun yang digunakan `tempdb` mungkin gagal karena kesalahan. out-of-memory Dalam keadaan tertentu, SQL Server berpotensi berhenti jika terjadi out-of-memory kesalahan. Untuk mengurangi kemungkinan hal ini terjadi, atur kumpulan memori `MAX_MEMORY_PERCENT` ke nilai tinggi.