Arbeiten mit SQL Serverdatenbanken mithilfe der Erweiterung tds_fdw - Amazon Aurora

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 unter. GitHub

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
  1. 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 –-password
  2. Installieren 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.

  1. 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
  2. Gewähren Sie einem Benutzer, der keine rds_superuser-Rollenberechtigungen hat, Berechtigungen, zum Beispiel user1:

    test=> GRANT USAGE ON FOREIGN SERVER sqlserverdb TO user1;
  3. 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
  4. 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
  5. 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.