Bekerja dengan database SQL Server dengan menggunakan ekstensi tds_fdw - Amazon Aurora

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_fdw

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 cluster SQL DB Postgre DB ke database yang menggunakan protokol, TDS termasuk Amazon untuk Microsoft Server. RDS RDS SQL Untuk informasi selengkapnya, lihat dokumentasi tds-fdw/tds_fdw di. GitHub

tds_fdwEkstensi ini didukung pada Amazon Aurora Postgre SQL versi 13.6 dan rilis yang lebih tinggi.

Menyiapkan Aurora Postgre SQL DB Anda untuk menggunakan ekstensi tds_fdw

Dalam prosedur berikut, Anda dapat menemukan contoh pengaturan dan penggunaan tds_fdw dengan cluster. SQL Sebelum Anda dapat terhubung ke database SQL Server menggunakantds_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 cluster Aurora Postgre SQL DB RDS 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_fdw untuk terhubung ke database Server SQL
  1. Connect ke instans Postgre SQL DB cluster utama menggunakan akun yang memiliki peran: rds_superuser

    psql --host=your-cluster-name-instance-1.aws-region.rds.amazonaws.com --port=5432 --username=test –-password
  2. Instal ekstensi tds_fdw:

    test=> CREATE EXTENSION tds_fdw; CREATE EXTENSION

Setelah ekstensi diinstal pada cluster Aurora Postgre SQL DB Anda , Anda mengatur server asing.

Untuk membuat server asing

Lakukan tugas-tugas ini di cluster Aurora Postgre SQL DB RDS menggunakan akun yang memiliki hak istimewa. rds_superuser

  1. Buat server asing di cluster Aurora Postgre SQL DB instance Postgre DB: 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

    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
  2. Berikan izin kepada pengguna yang tidak memiliki hak istimewa peran rds_superuser, misalnya user1:

    test=> GRANT USAGE ON FOREIGN SERVER sqlserverdb TO user1;
  3. 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
  4. Buat tabel asing yang ditautkan ke tabel SQL Server:

    test=> CREATE FOREIGN TABLE mytab (a int) SERVER sqlserverdb OPTIONS (table 'MYTABLE'); CREATE FOREIGN TABLE
  5. Buat kueri tabel asing:

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

Gunakan enkripsi bergerak untuk koneksi

Koneksi dari Aurora Postgre SQL RDS 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. Untuk informasi selengkapnya tentangSSL/TLSkonfigurasi RDS untuk SQL Server, lihat Menggunakan SSL dengan instans Microsoft SQL Server DB.