

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

# 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.