

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

# Bekerja dengan database SQL Server dengan menggunakan ekstensi tds\$1fdw
<a name="postgresql-tds-fdw"></a>

Anda dapat menggunakan SQL `tds_fdw` ekstensi Postgre untuk mengakses database yang mendukung protokol aliran data tabular (TDS), seperti database Sybase dan Microsoft Server. SQL Pembungkus data asing ini memungkinkan Anda terhubung dari ke database yang menggunakan protokol, TDS termasuk Amazon untuk Microsoft Server. RDS RDS SQL Untuk informasi selengkapnya, lihat dokumentasi [tds-fdw/tds\$1fdw](https://github.com/tds-fdw/tds_fdw) di. GitHub 

`tds_fdw`Ekstensi ini didukung di Amazon RDS untuk Postgre SQL versi 14.2, 13.6, dan rilis yang lebih tinggi. 

## Menyiapkan Aurora Postgre SQL DB Anda untuk menggunakan ekstensi tds\$1fdw
<a name="postgresql-tds-fdw-setting-up"></a>

Dalam prosedur berikut, Anda dapat menemukan contoh pengaturan dan penggunaan `tds_fdw` dengan RDSuntuk Postgre SQL DB instance Postgre DB cluster. SQL Sebelum Anda dapat terhubung ke database SQL Server menggunakan`tds_fdw`, Anda perlu mendapatkan rincian berikut untuk contoh:
+ Nama host atau titik akhir. Untuk instans RDS for SQL Server DB, Anda dapat menemukan titik akhir dengan menggunakan Console. Pilih tab Konektivitas & keamanan, lalu lihat di bagian "Titik akhir dan port". 
+ Nomor port. Nomor port default untuk Microsoft SQL Server adalah 1433. 
+ Nama basis data. Pengidentifikasi DB. 

Anda juga perlu menyediakan akses pada grup keamanan atau daftar kontrol akses (ACL) untuk port SQL Server, 1433. Baik untuk instance Postgre SQL DB dan instance RDS untuk SQL Server DB memerlukan akses ke port 1433. Jika akses tidak dikonfigurasi dengan benar, ketika Anda mencoba untuk query Microsoft SQL Server Anda melihat pesan galat berikut:

```
ERROR: DB-Library error: DB #: 20009, DB Msg: Unable to connect:
Adaptive Server is unavailable or does not exist (mssql2019.aws-region.rds.amazonaws.com), OS #: 0, OS Msg: Success, Level: 9
```

**Untuk menggunakan tds\$1fdw untuk terhubung ke database Server SQL**

1. Connect ke instans Postgre SQL DB instans Aurora menggunakan akun yang memiliki peran: `rds_superuser`

   ```
   psql --host=your-DB-instance.aws-region.rds.amazonaws.com --port=5432 --username=test –-password
   ```

1. Instal ekstensi `tds_fdw`:

   ```
   test=> CREATE EXTENSION tds_fdw;
   CREATE EXTENSION
   ```

Setelah ekstensi diinstal pada Anda RDSuntuk instance Postgre SQL DB, Anda mengatur server asing.

**Untuk membuat server asing**

Lakukan tugas-tugas ini di untuk instans Postgre SQL DB menggunakan akun yang memiliki hak istimewa. `rds_superuser` 

1. Buat server asing di : SQL

   ```
   test=> CREATE SERVER sqlserverdb FOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql2019.aws-region.rds.amazonaws.com', port '1433', database 'tds_fdw_testing');
   CREATE SERVER
   ```

   Untuk mengakses ASCII non-data di SQLServer samping, buat tautan server dengan opsi character\$1set di cluster : RDS SQL

   ```
   test=> CREATE SERVER sqlserverdb FOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql2019.aws-region.rds.amazonaws.com', port '1433', database 'tds_fdw_testing', character_set 'UTF-8');
   CREATE SERVER
   ```

1. Berikan izin kepada pengguna yang tidak memiliki hak istimewa peran `rds_superuser`, misalnya `user1`:

   ```
   test=> GRANT USAGE ON FOREIGN SERVER sqlserverdb TO user1;
   ```

1. Connect as user1 dan buat pemetaan ke pengguna SQL Server:

   ```
   test=> CREATE USER MAPPING FOR user1 SERVER sqlserverdb OPTIONS (username 'sqlserveruser', password 'password');
   CREATE USER MAPPING
   ```

1. Buat tabel asing yang ditautkan ke tabel SQL Server:

   ```
   test=> CREATE FOREIGN TABLE mytab (a int) SERVER sqlserverdb OPTIONS (table 'MYTABLE');
   CREATE FOREIGN TABLE
   ```

1. Buat kueri tabel asing:

   ```
   test=> SELECT * FROM mytab;
    a
   ---
    1
   (1 row)
   ```

### Gunakan enkripsi bergerak untuk koneksi
<a name="postgresql-tds-fdw-ssl-tls-encryption"></a>

Koneksi dari untuk Postgre SQL ke SQL Server menggunakan enkripsi dalam transit (TLS/SSL) tergantung pada konfigurasi database Server. SQL Jika SQL Server tidak dikonfigurasi untuk enkripsi, SQL klien Postgre RDS untuk membuat permintaan ke database SQL Server akan kembali ke tidak terenkripsi.

Anda dapat menerapkan enkripsi untuk koneksi ke RDS instans SQL Server DB dengan menyetel parameter. `rds.force_ssl` Untuk mempelajari caranya, lihat [Memaksa koneksi ke instans DB Anda untuk digunakan SSL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Concepts.General.SSL.Using.html#SQLServer.Concepts.General.SSL.Forcing). Untuk informasi selengkapnya tentangSSL/TLSkonfigurasi RDS untuk SQL Server, lihat [Menggunakan SSL dengan instans Microsoft SQL Server DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Concepts.General.SSL.Using.html). 