

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

# Menggunakan Database Mail di Amazon RDS untuk SQL Server
<a name="SQLServer.DBMail"></a>

Anda dapat menggunakan Database Mail untuk mengirim pesan email ke pengguna dari instans database Amazon RDS di SQL Server Anda. Pesan dapat berisi file dan hasil kueri. Database Mail mencakup komponen berikut:
+ **Objek konfigurasi dan keamanan** – Objek-objek ini membuat profil dan akun, dan disimpan di basis data `msdb`.
+ **Objek pesan** – Objek-objek ini mencakup [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql) prosedur tersimpan yang digunakan untuk mengirim pesan, dan struktur data yang menyimpan informasi tentang pesan. Semuanya disimpan di basis data `msdb`.
+ **Pembuatan log dan audit objek** – Database Mail menulis informasi log ke basis data `msdb` dan log peristiwa aplikasi Microsoft Windows.
+ **Database Mail dapat executable** – `DatabaseMail.exe` membaca dari antrean di basis data `msdb` dan mengirim pesan email.

RDSmendukung Database Mail untuk semua versi SQL Server di Web, Standar, dan Edisi Perusahaan.

## Batasan
<a name="SQLServer.DBMail.Limitations"></a>

Batasan berikut berlaku untuk menggunakan Database Mail pada instans SQL Server DB Anda:
+ Database Mail tidak didukung untuk SQL Server Express Edition.
+ Mengubah parameter konfigurasi Database Mail tidak didukung. Untuk melihat nilai preset (default), gunakan prosedur tersimpan [sysmail\$1help\$1configure\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-help-configure-sp-transact-sql).
+ Lampiran file tidak sepenuhnya didukung. Untuk informasi selengkapnya, lihat [Bekerja dengan lampiran file](#SQLServer.DBMail.Files).
+ Ukuran lampiran file maksimum adalah 1 MB.
+ Database Mail memerlukan konfigurasi tambahan pada instans DB Multi-AZ. Untuk informasi selengkapnya, lihat [Pertimbangan untuk deployment multi-AZ](#SQLServer.DBMail.MAZ).
+ Mengkonfigurasi Agen SQL Server untuk mengirim pesan email ke operator yang telah ditentukan tidak didukung.

# Mengaktifkan Database Mail
<a name="SQLServer.DBMail.Enable"></a>

Gunakan proses berikut untuk mengaktifkan Database Mail untuk instans DB Anda:

1. Buat grup parameter baru.

1. Ubah grup parameter untuk mengatur parameter `database mail xps` ke 1.

1. Hubungkan grup parameter baru dengan instans DB.

## Membuat grup parameter untuk Database Mail
<a name="DBMail.CreateParamGroup"></a>

Buat grup parameter untuk parameter `database mail xps` yang sesuai dengan edisi SQL Server dan versi instans DB Anda.

**catatan**  
Anda juga dapat mengubah grup parameter yang ada. Ikuti prosedur di [Mengubah grup parameter untuk Database Mail](#DBMail.ModifyParamGroup).

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

Contoh berikut membuat grup parameter untuk Edisi Standar SQL Server 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 **dbmail-sqlserver-se-13**.

   1. Untuk **Deskripsi**, masukkan **Database Mail XPs**.

1. Pilih **Buat**.

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

Contoh berikut membuat grup parameter untuk Edisi Standar SQL Server 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 dbmail-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "Database Mail XPs"
  ```

  Untuk Windows:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "Database Mail XPs"
  ```

## Mengubah grup parameter untuk Database Mail
<a name="DBMail.ModifyParamGroup"></a>

Ubah parameter `database mail xps` di grup parameter yang sesuai dengan edisi SQL Server dan versi instans DB Anda.

Untuk mengaktifkan Database Mail, atur parameter `database mail xps` ke 1.

### Konsol
<a name="DBMail.ModifyParamGroup.Console"></a>

Contoh berikut akan mengubah grup parameter yang telah Anda buat untuk Edisi Standar SQL Server 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 **dbmail-sqlserver-se-13**.

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

1. Pilih **Database Mail xps**.

1. Pilih **Edit parameter**.

1. Masukkan **1**.

1. Pilih **Simpan perubahan**.

### CLI
<a name="DBMail.ModifyParamGroup.CLI"></a>

Contoh berikut akan mengubah grup parameter yang telah Anda buat untuk Edisi Standar SQL Server 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 dbmail-sqlserver-se-13 \
      --parameters "ParameterName='database mail xps',ParameterValue=1,ApplyMethod=immediate"
  ```

  Untuk Windows:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --parameters "ParameterName='database mail xps',ParameterValue=1,ApplyMethod=immediate"
  ```

## Kaitkan grup parameter dengan instans DB
<a name="DBMail.AssocParamGroup"></a>

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengaitkan grup parameter Database Mail dengan instans DB.

### Konsol
<a name="DBMail.AssocParamGroup.Console"></a>

Anda dapat mengaitkan grup parameter Database Mail 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).

### CLI
<a name="DBMail.AssocParamGroup.CLI"></a>

Anda dapat mengaitkan grup parameter Database Mail dengan instans DB baru atau yang sudah ada.

**Untuk membuat instans DB dengan grup parameter Database Mail**
+ Tentukan jenis mesin DB dan versi utama yang sama seperti yang Anda gunakan saat membuat grup parameter.  
**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
      --db-parameter-group-name dbmail-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 ^
      --db-parameter-group-name dbmail-sqlserver-se-13
  ```

**Untuk mengubah instans DB dan mengaitkan grup parameter Database Mail**
+ Gunakan salah satu perintah berikut ini.  
**Example**  

  Untuk Linux, macOS, atau Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mydbinstance \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --apply-immediately
  ```

  Untuk Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --apply-immediately
  ```

# Mengonfigurasi Database Mail
<a name="SQLServer.DBMail.Configure"></a>

Anda melakukan tugas berikut untuk mengonfigurasikan Database Mail:

1. Buat profil Database Mail.

1. Buat akun Database Mail.

1. Tambahkan akun Database Mail ke profil Database Mail.

1. Tambahkan pengguna ke profil Database Mail.

**catatan**  
Untuk mengonfigurasi Database Mail, pastikan bahwa Anda memiliki izin `execute` pada prosedur yang disimpan dalam basis data `msdb`.

## Membuat profil Database Mail
<a name="SQLServer.DBMail.Configure.Profile"></a>

Untuk membuat profil Database Mail, Anda menggunakan prosedur tersimpan [sysmail\$1add\$1profile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profile-sp-transact-sql). Contoh berikut membuat profil dengan nama `Notifications`.

**Untuk membuat profil**
+ Gunakan pernyataan SQL berikut.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_profile_sp  
      @profile_name         = 'Notifications',  
      @description          = 'Profile used for sending outgoing notifications using Amazon SES.';
  GO
  ```

## Membuat akun Database Mail
<a name="SQLServer.DBMail.Configure.Account"></a>

Untuk membuat akun Database Mail, Anda menggunakan prosedur tersimpan [sysmail\$1add\$1account\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-account-sp-transact-sql). Contoh berikut membuat akun dengan nama `SES` di RDS untuk instans DB SQL Server di VPC pribadi, menggunakan Layanan Email Sederhana Amazon.

Menggunakan Amazon SES memerlukan parameter berikut:
+ `@email_address`— Identitas terverifikasi Amazon SES. Untuk informasi selengkapnya, lihat [Identitas terverifikasi di Amazon SES.](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html)
+ `@mailserver_name`— Titik akhir SMTP Amazon SES. Untuk informasi selengkapnya, lihat [Menghubungkan ke titik akhir Amazon SES SMTP](https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.html).
+ `@username`— Nama pengguna SMTP Amazon SES. Untuk informasi selengkapnya, lihat [Mendapatkan kredensial Amazon SES SMTP](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html).

  Jangan gunakan nama AWS Identity and Access Management pengguna.
+ `@password`— Kata sandi Amazon SES SMTP. Untuk informasi selengkapnya, lihat [Mendapatkan kredensial Amazon SES SMTP](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html).

**Untuk membuat akun**
+ Gunakan pernyataan SQL berikut.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_account_sp
      @account_name        = 'SES',
      @description         = 'Mail account for sending outgoing notifications.',
      @email_address       = 'nobody@example.com',
      @display_name        = 'Automated Mailer',
      @mailserver_name     = 'vpce-0a1b2c3d4e5f-01234567.email-smtp.us-west-2.vpce.amazonaws.com',
      @port                = 587,
      @enable_ssl          = 1,
      @username            = 'Smtp_Username',
      @password            = 'Smtp_Password';
  GO
  ```
**catatan**  
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

## Menambahkan akun Database Mail ke profil Database Mail
<a name="SQLServer.DBMail.Configure.AddAccount"></a>

Untuk menambahkan akun Database Mail ke profil Database Mail, gunakan prosedur tersimpan [sysmail\$1add\$1profileaccount\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profileaccount-sp-transact-sql). Contoh berikut menambahkan akun `SES` ke profil `Notifications`.

**Menambahkan akun ke profil**
+ Gunakan pernyataan SQL berikut.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
      @profile_name        = 'Notifications',
      @account_name        = 'SES',
      @sequence_number     = 1;
  GO
  ```

## Menambahkan pengguna ke profil Database Mail
<a name="SQLServer.DBMail.Configure.AddUser"></a>

Untuk memberikan izin bagi pengguna utama basis data `msdb` untuk menggunakan profil Database Mail, Anda menggunakan prosedur [sysmail\$1add\$1principalprofile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-principalprofile-sp-transact-sql) tersimpan. *Pengguna utama* adalah entitas yang dapat meminta sumber daya SQL Server. Pengguna utama basis data harus dipetakan ke pengguna autentikasi SQL Server, pengguna Autentikasi Windows, atau grup Autentikasi Windows.

Contoh berikut memberikan akses publik ke profil `Notifications`.

**Untuk menambahkan pengguna ke profil**
+ Gunakan pernyataan SQL berikut.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
      @profile_name       = 'Notifications',  
      @principal_name     = 'public',  
      @is_default         = 1;
  GO
  ```

## Amazon RDS menyimpan prosedur dan fungsi untuk Database Mail
<a name="SQLServer.DBMail.StoredProc"></a>

Microsoft menyediakan [prosedur tersimpan](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/database-mail-stored-procedures-transact-sql) untuk menggunakan Database Mail, seperti membuat, mencantumkan, memperbarui, dan menghapus akun dan profil. Selain itu, RDS menyediakan prosedur dan fungsi tersimpan untuk Database Mail yang ditunjukkan pada tabel berikut.


| Prosedur/Fungsi | Deskripsi | 
| --- | --- | 
| rds\$1fn\$1sysmail\$1allitems | Menampilkan pesan terkirim, termasuk yang dikirim oleh pengguna lain. | 
| rds\$1fn\$1sysmail\$1event\$1log | Menampilkan acara, termasuk acara untuk pesan yang dikirimkan oleh pengguna lain. | 
| rds\$1fn\$1sysmail\$1mailattachments | Menampilkan lampiran terkirim, termasuk yang dikirim oleh pengguna lain. | 
| rds\$1sysmail\$1control | Memulai dan menghentikan antrian email (DatabaseMailproses.exe). | 
| rds\$1sysmail\$1delete\$1mailitems\$1sp | Menghapus pesan email yang dikirim oleh semua pengguna dari tabel internal Database Mail. | 

# Mengirim pesan email menggunakan Database Mail
<a name="SQLServer.DBMail.Send"></a>

Anda menggunakan prosedur [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql) tersimpan untuk mengirim pesan email menggunakan Database Mail.

## Penggunaan
<a name="SQLServer.DBMail.Send.Usage"></a>

```
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'profile_name',
@recipients = 'recipient1@example.com[; recipient2; ... recipientn]',
@subject = 'subject',
@body = 'message_body',
[@body_format = 'HTML'],
[@file_attachments = 'file_path1; file_path2; ... file_pathn'],
[@query = 'SQL_query'],
[@attach_query_result_as_file = 0|1]';
```

Parameter berikut diperlukan:
+ `@profile_name` – Nama profil Database Mail yang akan digunakan untuk mengirim pesan.
+ `@recipients` – Daftar alamat email tujuan pengiriman pesan yang dipisahkan titik koma.
+ `@subject` – Subjek pesan.
+ `@body` – Konten pesan. Anda juga dapat menggunakan variabel yang dinyatakan sebagai isi.

Parameter berikut ini bersifat opsional:
+ `@body_format` – Parameter ini digunakan dengan variabel yang dinyatakan untuk mengirim email dalam format HTML.
+ `@file_attachments` – Daftar lampiran pesan yang disusun dengan titik koma. Path file harus berupa path absolut.
+ `@query` – Kueri SQL untuk dijalankan. Hasil kueri dapat dilampirkan sebagai file atau disertakan dalam konten pesan.
+ `@attach_query_result_as_file` – Apakah melampirkan hasil kueri sebagai file. Atur ke 0 untuk tidak, 1 untuk ya. Default-nya adalah 0.

## Contoh
<a name="SQLServer.DBMail.Send.Examples"></a>

Contoh-contoh berikut ini mendemonstrasikan cara mengirim pesan email.

**Example mengirimkan pesan ke satu penerima**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Automated DBMail message - 1',
     @body               = 'Database Mail configuration was successful.';
GO
```

**Example mengirimkan pesan ke beberapa penerima**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'recipient1@example.com;recipient2@example.com',
     @subject            = 'Automated DBMail message - 2',
     @body               = 'This is a message.';
GO
```

**Example mengirimkan hasil kueri SQL sebagai lampiran file**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Test SQL query',
     @body               = 'This is a SQL query test.',
     @query              = 'SELECT * FROM abc.dbo.test',
     @attach_query_result_as_file = 1;
GO
```

**Example mengirimkan pesan dalam format HTML**  

```
USE msdb
GO

DECLARE @HTML_Body as NVARCHAR(500) = 'Hi, <h4> Heading </h4> </br> See the report. <b> Regards </b>';

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Test HTML message',
     @body               = @HTML_Body,
     @body_format        = 'HTML';
GO
```

**Example mengirimkan pesan menggunakan pemicu saat peristiwa tertentu terjadi di basis data**  

```
USE AdventureWorks2017
GO
IF OBJECT_ID ('Production.iProductNotification', 'TR') IS NOT NULL
DROP TRIGGER Purchasing.iProductNotification
GO

CREATE TRIGGER iProductNotification ON Production.Product
   FOR INSERT
   AS
   DECLARE @ProductInformation nvarchar(255);
   SELECT
   @ProductInformation = 'A new product, ' + Name + ', is now available for $' + CAST(StandardCost AS nvarchar(20)) + '!'
   FROM INSERTED i;

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'New product information',
     @body               = @ProductInformation;
GO
```

# Melihat pesan, log, dan lampiran
<a name="SQLServer.DBMail.View"></a>

Anda menggunakan prosedur RDS tersimpan untuk melihat pesan, log peristiwa, dan lampiran.

**Untuk melihat semua pesan email**
+ Gunakan SQL kueri berikut.

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_allitems(); --WHERE sent_status='sent' or 'failed' or 'unsent'
  ```

**Untuk melihat semua log peristiwa email**
+ Gunakan SQL kueri berikut.

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

**Untuk melihat semua lampiran email**
+ Gunakan SQL kueri berikut.

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

# Menghapus pesan
<a name="SQLServer.DBMail.Delete"></a>

Anda menggunakan prosedur `rds_sysmail_delete_mailitems_sp` yang disimpan untuk menghapus pesan.

**catatan**  
RDSsecara otomatis menghapus item tabel email ketika data DBMail riwayat mencapai ukuran 1 GB, dengan periode retensi minimal 24 jam.  
Jika Anda ingin menyimpan mail untuk periode yang lebih lama, Anda dapat mengarsipkannya. Untuk selengkapnya, lihat [Membuat pekerjaan Agen SQL Server untuk mengarsipkan pesan Mail Database dan log peristiwa](https://docs.microsoft.com/en-us/sql/relational-databases/database-mail/create-a-sql-server-agent-job-to-archive-database-mail-messages-and-event-logs) di dokumentasi Microsoft.

**Untuk menghapus semua pesan email**
+ Gunakan SQL pernyataan berikut.

  ```
  DECLARE @GETDATE datetime
  SET @GETDATE = GETDATE();
  EXECUTE msdb.dbo.rds_sysmail_delete_mailitems_sp @sent_before = @GETDATE;
  GO
  ```

**Untuk menghapus semua pesan email dengan status tertentu**
+ Gunakan SQL pernyataan berikut untuk menghapus semua pesan yang gagal.

  ```
  DECLARE @GETDATE datetime
  SET @GETDATE = GETDATE();
  EXECUTE msdb.dbo.rds_sysmail_delete_mailitems_sp @sent_status = 'failed';
  GO
  ```

# Memulai dan menghentikan antrian email
<a name="SQLServer.DBMail.StartStop"></a>

Gunakan petunjuk berikut untuk memulai dan menghentikan antrian email DB:

**Topics**
+ [Memulai antrean email](#SQLServer.DBMail.Start)
+ [Menghentikan antrean email](#SQLServer.DBMail.Stop)

## Memulai antrean email
<a name="SQLServer.DBMail.Start"></a>

Anda menggunakan prosedur `rds_sysmail_control` yang disimpan untuk memulai proses Database Mail.

**catatan**  
Mengaktifkan Database Mail secara otomatis memulai antrean email.

**Untuk memulai antrean email**
+ Gunakan SQL pernyataan berikut.

  ```
  EXECUTE msdb.dbo.rds_sysmail_control start;
  GO
  ```

## Menghentikan antrean email
<a name="SQLServer.DBMail.Stop"></a>

Anda menggunakan prosedur `rds_sysmail_control` yang disimpan untuk memulai menghentikan proses Database Mail.

**Untuk menghentikan antrean email**
+ Gunakan SQL pernyataan berikut.

  ```
  EXECUTE msdb.dbo.rds_sysmail_control stop;
  GO
  ```

## Bekerja dengan lampiran file
<a name="SQLServer.DBMail.Files"></a>

Ekstensi lampiran file berikut tidak didukung dalam pesan Database Mail dari RDS SQL Server: .ade, .adp, .apk, .appx, .appxbundle, .bat, .bak, .cab, .chm, .cmd, .com, .cpl, .dll, .dmg, .exe, .hta, .inf1, .ins, .isp, .iso, .jar, .job, .job, .js, .jse, .ldf, .lib, .lnk, .mde, .mdf, .msc, .msi, .msix, .msixbundle, .msp, .mst, .nsh, .pif, .ps, .ps1, .psc1, .reg, .rgs, .scr, .sct, .shb, .shb, .shb s, .svg, .sys, .u3p, .vb, .vbe, .vbs, .vbscript, .vxd, .ws, .wsc, .wsf, dan .wsh.

Database Mail menggunakan konteks keamanan Microsoft Windows dari pengguna saat ini untuk mengontrol akses ke file. Pengguna yang masuk dengan Otentikasi SQL Server tidak dapat melampirkan file menggunakan `@file_attachments` parameter dengan prosedur yang `sp_send_dbmail` disimpan. Windows tidak mengizinkan SQL Server untuk menyediakan kredensil dari komputer jarak jauh ke komputer jarak jauh lainnya. Oleh karena itu, Database Mail tidak dapat melampirkan file dari jaringan berbagi ketika perintah dijalankan dari komputer selain komputer yang menjalankan SQL Server.

Namun, Anda dapat menggunakan pekerjaan Agen SQL Server untuk melampirkan file. Untuk informasi selengkapnya tentang Agen SQL Server, lihat [Menggunakan Agen SQL Server untuk Amazon RDS](Appendix.SQLServer.CommonDBATasks.Agent.md) dan [Agen SQL Server](https://docs.microsoft.com/en-us/sql/ssms/agent/sql-server-agent) di dokumentasi Microsoft.

## Pertimbangan untuk deployment multi-AZ
<a name="SQLServer.DBMail.MAZ"></a>

Ketika Anda mengonfigurasikan Database Mail di instans DB Multi-AZ DB, konfigurasi tidak secara otomatis diperbanyak ke sekunder. Kami merekomendasikan untuk mengonversi instans Multi-AZ ke instans AZ Tunggal, mengonfigurasi Database Mail, kemudian mengonversikan kembali instans DB ke Multi-AZ. Kemudian, kedua node primer dan sekunder memiliki konfigurasi Database Mail.

Jika Anda membuat replika baca dari instans Multi-AZ Anda yang memiliki Database Mail dikonfigurasi, replika mewarisi konfigurasi, tetapi tanpa kata sandi ke server. SMTP Perbarui akun Database Mail dengan kata sandi.

## Menghapus batasan SMTP (port 25)
<a name="SQLServer.DBMail.SMTP"></a>

Secara default, AWS memblokir lalu lintas keluar pada SMTP (port 25) RDS untuk instance SQL Server DB. Hal ini dilakukan untuk mencegah spam berdasarkan kebijakan pemilik elastic network interface. Anda dapat menghapus batasan ini jika diperlukan. Untuk informasi selengkapnya, lihat [Bagaimana cara menghapus pembatasan pada port 25 dari EC2 instans Amazon atau fungsi Lambda saya](https://repost.aws/knowledge-center/ec2-port-25-throttle)? . 