Lavorare con i database SQL Server utilizzando l'estensione tds_fdw - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavorare con i database SQL Server utilizzando l'estensione tds_fdw

È possibile utilizzare l'SQLtds_fdwestensione Postgre per accedere ai database che supportano il protocollo tabular data stream (TDS), come i database Sybase e Microsoft SQL Server. Questo wrapper di dati esterno ti consente di connetterti dal tuo cluster Postgre SQL DB a database che utilizzano il protocollo, TDS incluso Amazon for Microsoft Server. RDS SQL Per ulteriori informazioni, consulta la documentazione di tds-fdw/tds_fdw su. GitHub

L'tds_fdwestensione è supportata nella SQL versione 13.6 e successive di Amazon Aurora Postgre.

Configurazione del SQL database Aurora Postgre per l'utilizzo dell'estensione tds_fdw

Nelle procedure seguenti, è possibile trovare un esempio di configurazione e utilizzo del cluster . SQL Prima di poterti connettere a un database SQL Server utilizzandotds_fdw, devi ottenere i seguenti dettagli per l'istanza:

  • Nome host o endpoint. Per un'istanza di RDS for SQL Server DB, puoi trovare l'endpoint utilizzando la Console. Scegliere la scheda Connectivity & security (Connettività e sicurezza) e cercare nella sezione Endpoint and port (Endpoint e porta).

  • Numero della porta. Il numero di porta predefinito per Microsoft SQL Server è 1433.

  • Nome del database. L'identificatore del database.

È inoltre necessario fornire l'accesso al gruppo di sicurezza o all'elenco di controllo degli accessi (ACL) per la porta del SQL server, 1433. Sia il cluster Aurora Postgre SQL DB RDS devono accedere alla porta 1433. Se l'accesso non è configurato correttamente, quando si tenta di eseguire una query su Microsoft SQL Server viene visualizzato il seguente messaggio di errore:

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
Per utilizzare tds_fdw per connettersi a un database Server SQL
  1. Connect all'istanza principale del cluster dell'istanza Postgre SQL DB utilizzando un account con il ruolo: rds_superuser

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

    test=> CREATE EXTENSION tds_fdw; CREATE EXTENSION

Dopo aver installato l'estensione sul cluster Aurora Postgre SQL DB , si configura il server esterno.

Per creare il server esterno

Esegui queste attività sul cluster Aurora Postgre SQL DB utilizzando un account con privilegi. rds_superuser

  1. Crea un server esterno nel cluster Aurora Postgre SQL DB l'istanza di 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. Concedere le autorizzazioni a un utente che non dispone del ruolo rds_superuser, ad esempio user1:

    test=> GRANT USAGE ON FOREIGN SERVER sqlserverdb TO user1;
  3. Connect come user1 e crea una mappatura per un utente SQL del Server:

    test=> CREATE USER MAPPING FOR user1 SERVER sqlserverdb OPTIONS (username 'sqlserveruser', password 'password'); CREATE USER MAPPING
  4. Crea una tabella esterna collegata a una tabella SQL Server:

    test=> CREATE FOREIGN TABLE mytab (a int) SERVER sqlserverdb OPTIONS (table 'MYTABLE'); CREATE FOREIGN TABLE
  5. Eseguire una query sulla tabella esterna:

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

Utilizzo della crittografia in transito per la connessione

La connessione da Aurora Postgre SQL al SQL Server utilizza la crittografia in transito (TLS/SSL) a seconda della configurazione del database del Server. SQL Se il SQL Server non è configurato per la crittografia, il SQL client RDS for Postgre che effettua la richiesta al database Server torna alla modalità non crittografataSQL.

È possibile applicare la crittografia per la connessione a RDS istanze DB del SQL server impostando il parametro. rds.force_ssl Per informazioni su come, consulta Forzare le connessioni all'istanza DB da utilizzare. SSL Per ulteriori informazioni suSSL/TLSconfiguration RDS for SQL Server, vedere Utilizzo SSL con un'istanza DB di Microsoft SQL Server.