Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeiten mit SQL Serverdatenbanken mithilfe der Erweiterung tds_fdw
Sie können die SQL tds_fdw
Postgre-Erweiterung verwenden, um auf Datenbanken zuzugreifen, die das Tabular Data Stream (TDS) -Protokoll unterstützen, z. B. Sybase- und Microsoft SQL Server-Datenbanken. Mit diesem Foreign Data Wrapper können Sie von Ihrem Aurora Postgre-DB-Cluster aus eine Verbindung zu Datenbanken herstellen, die das TDS Protokoll verwenden, einschließlich Amazon RDS for Microsoft Server. SQL Weitere Informationen finden Sie in der tds-fdw/tds_fdw-Dokumentation
Die tds_fdw
Erweiterung wird auf Amazon Aurora SQL Postgre-Version 13.6 und höheren Versionen unterstützt.
Einrichten Ihrer Aurora SQL Postgre-DB für die Verwendung der tds_fdw-Erweiterung
In den folgenden Verfahren finden Sie ein Beispiel für die Einrichtung und Verwendung des Aurora Postgre-DB-Clusters tds_fdw
mit einer . Bevor Sie eine Verbindung zu einer SQL Serverdatenbank herstellen könnentds_fdw
, benötigen Sie die folgenden Informationen für die Instance:
Hostname oder Endpunkt. RDSBei einer SQL Server-DB-Instance können Sie den Endpunkt mithilfe der Konsole finden. Wählen Sie die Registerkarte „Connectivity & security“ (Konnektivität und Sicherheit) aus und sehen Sie im Abschnitt „Endpoint and port“ (Endpunkt und Port) nach.
Port-Nummer. Die Standardportnummer für Microsoft SQL Server ist 1433.
Name der Datenbank. Die DB-ID.
Sie müssen auch Zugriff auf die Sicherheitsgruppe oder die Zugriffskontrollliste (ACL) für den SQL Serverport 1433 gewähren. Sowohl der Aurora SQL Postgre-DB-Cluster RDS als auch die RDS for SQL Server-DB-Instance benötigen Zugriff auf Port 1433. Wenn der Zugriff nicht richtig konfiguriert ist, wird beim Versuch, den Microsoft SQL Server abzufragen, die folgende Fehlermeldung angezeigt:
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
Um mit tds_fdw eine Verbindung zu einer Serverdatenbank herzustellen SQL
Stellen Sie eine Verbindung mit der primären Ihres Aurora SQL Postgre-DB-Clusters her, indem Sie ein Konto verwenden, das die folgende Rolle hat:
rds_superuser
psql --host=
your-cluster-name-instance-1
.aws-region
.rds.amazonaws.com --port=5432 --username=test –-passwordInstallieren Sie die
tds_fdw
-Erweiterung.test=>
CREATE EXTENSION tds_fdw;
CREATE EXTENSION
Nachdem die Erweiterung auf Ihrem Aurora SQL Postgre-DB-Cluster RDS installiert wurde, richten Sie den ausländischen Server ein.
So erstellen Sie den fremden Server
Führen Sie diese Aufgaben auf dem Aurora SQL Postgre-DB-Cluster RDS mit einem Konto aus, das über Berechtigungen verfügtrds_superuser
.
Erstellen Sie einen Fremdserver im Aurora SQL Postgre-DB-Cluster :
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
Um SQLServer nebenbei auf ASCII Nicht-Daten zuzugreifen, erstellen Sie einen Serverlink mit der Option character_set im Aurora SQL Postgre-DB-Cluster die Postgre-DB-Instance: 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
Gewähren Sie einem Benutzer, der keine
rds_superuser
-Rollenberechtigungen hat, Berechtigungen, zum Beispieluser1
:test=>
GRANT USAGE ON FOREIGN SERVER
sqlserverdb
TOuser1
;Stellen Sie eine Connect als Benutzer1 her und erstellen Sie eine Zuordnung zu einem SQL Serverbenutzer:
test=>
CREATE USER MAPPING FOR user1 SERVER
sqlserverdb
OPTIONS (username 'sqlserveruser
', password 'password
');CREATE USER MAPPING
Erstellen Sie eine Fremdtabelle, die mit einer SQL Servertabelle verknüpft ist:
test=>
CREATE FOREIGN TABLE mytab (a int) SERVER
sqlserverdb
OPTIONS (table 'MYTABLE
');CREATE FOREIGN TABLE
Fragen Sie die fremde Tabelle ab:
test=>
SELECT * FROM mytab;
a --- 1 (1 row)
Verwenden der Verschlüsselung während der Übertragung für die Verbindung
Die Verbindung von Aurora Postgre SQL RDS zum SQL Server verwendet je nach SQL Serverdatenbankkonfiguration Verschlüsselung bei der Übertragung (TLS/SSL). Wenn der SQL Server nicht für die Verschlüsselung konfiguriert ist, wird der RDS SQL For-Postgre-Client, der die Anfrage an die SQL Serverdatenbank stellt, auf unverschlüsselt zurückgesetzt.
Sie können die Verschlüsselung für die Verbindung zu RDS SQL Server-DB-Instances erzwingen, indem Sie den rds.force_ssl
Parameter festlegen. Wie das geht, erfahren Sie unter Verbindungen zu Ihrer DB-Instance zur Nutzung erzwingen SSL. Weitere Informationen zur TLS Konfiguration vonSSL/RDSfür SQL Server finden Sie unter SSLMit einer Microsoft SQL Server-DB-Instance verwenden.