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_fdw
estensione 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.
L'tds_fdw
estensione è 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
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 –-passwordInstallare 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
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
Concedere le autorizzazioni a un utente che non dispone del ruolo
rds_superuser
, ad esempiouser1
:test=>
GRANT USAGE ON FOREIGN SERVER
sqlserverdb
TOuser1
;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
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
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.