Cloud SQL for SQL Server
Mit dem Cloud SQL for SQL Server-Connector können Sie Zeilen in einer SQL Server-Datenbank einfügen, lesen, aktualisieren und löschen.
Unterstützte Versionen
SQL Server-Versionen: 2008, 2012, 2014, 2016, 2017, 2019 und 2022
Hinweise
Führen Sie vor der Verwendung des Cloud SQL for SQL Server-Connectors die folgenden Aufgaben aus:
- In Ihrem Google Cloud-Projekt:
- Prüfen Sie, ob eine Netzwerkverbindung eingerichtet ist. Informationen zu Netzwerkmustern finden Sie unter Netzwerkverbindung.
- Weisen Sie dem Nutzer, der den Connector konfiguriert, die IAM-Rolle roles/connectors.admin zu.
- Weisen Sie dem Dienstkonto, das Sie für den Connector verwenden möchten, die folgenden IAM-Rollen zu:
roles/secretmanager.viewerroles/secretmanager.secretAccessorroles/cloudsql.editor
Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs zu erhalten. Wenn Sie kein Dienstkonto haben, müssen Sie eins erstellen. Der Connector und das Dienstkonto müssen zum selben Projekt gehören. Weitere Informationen finden Sie unter Dienstkonto erstellen.
- Aktivieren Sie die folgenden Dienste:
secretmanager.googleapis.com(Secret Manager API)connectors.googleapis.com(Connectors API)
Informationen zum Aktivieren von Diensten finden Sie unter Dienste aktivieren.
Wenn diese Dienste oder Berechtigungen für Ihr Projekt zuvor nicht aktiviert wurden, werden Sie aufgefordert, sie beim Konfigurieren des Connectors zu aktivieren.
- Den Dienst
sqladmin.googleapis.com(Cloud SQL Admin API) aktivieren.
- Informationen zum Erstellen einer Cloud SQL for SQL Server-Instanz in Google Cloud finden Sie unter Instanz in Google Cloud erstellen.
- Informationen zur PSC-Verbindung über einen SOCKS5-Proxy finden Sie unter PSC-Verbindung über einen SOCKS5-Proxy.
Connector konfigurieren
Eine Verbindung gilt für eine Datenquelle. Wenn Sie also viele Datenquellen haben, müssen Sie für jede Datenquelle eine separate Verbindung erstellen. So erstellen Sie eine Verbindung:
- Rufen Sie in der Cloud Console die Seite Integration Connectors > Verbindungen auf und wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
- Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Tippen Sie auf Weiter.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
- Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
- Connector: Wählen Sie Cloud SQL for SQL Server aus der Drop-down-Liste der verfügbaren Connectors aus.
- Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.
Verbindungsnamen müssen die folgenden Kriterien erfüllen:
- Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
- Buchstaben müssen Kleinbuchstaben sein.
- Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
- Verbindungsnamen dürfen maximal 49 Zeichen haben.
- Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindungsinstanz ein.
- Optional können Sie Cloud Logging aktivieren und dann eine Logebene auswählen. Die Logebene ist standardmäßig auf
Errorfestgelegt. - Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
- Konfigurieren Sie optional die Verbindungsknoteneinstellungen:
- Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
- Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.
Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.
- Projekt-ID: Die ID des Google Cloud-Projekts, in dem sich die CloudSQL-Instanz befindet.
- Datenbankregion:: Der Name der Region, in der sich die CloudSQL-Instanz befindet.
- Instanz-ID: Die ID der CloudSQL-Instanz, zu der eine Verbindung hergestellt werden soll.
- Datenbankname: Der Name der SQL Server-Datenbank, zu der eine Verbindung hergestellt werden soll.
- Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Tippen Sie auf Weiter.
- Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
- Zieltyp: Wählen Sie einen Zieltyp aus.
- Wenn Sie den Zielhostnamen oder die Ziel-IP-Adresse angeben möchten, wählen Sie Hostadresse aus und geben Sie die Adresse in das Feld Host 1 ein.
- Wenn Sie eine private Verbindung herstellen möchten, wählen Sie Endpunktanhang aus und wählen Sie den erforderlichen Anhang aus der Liste Endpunktanhang aus.
Wenn Sie eine öffentliche Verbindung zu Ihren Back-End-Systemen mit zusätzlicher Sicherheit herstellen möchten, können Sie statische ausgehende IP-Adressen für Ihre Verbindungen konfigurieren und dann Ihre Firewallregeln konfigurieren, um nur bestimmte statische IP-Adressen zuzulassen.
Wenn Sie weitere Ziele eingeben möchten, klicken Sie auf + ZIEL HINZUFÜGEN.
- Tippen Sie auf Weiter.
- Zieltyp: Wählen Sie einen Zieltyp aus.
-
Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
Die folgenden Authentifizierungstypen werden von der Cloud SQL for SQL Server-Verbindung unterstützt:
- Nutzername und Passwort
- Tippen Sie auf WEITER.
Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
Authentifizierung konfigurieren
Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.
-
Nutzername und Passwort
- Nutzername: Der SQL Server-Nutzername, der für die Verbindung verwendet werden soll.
- Passwort: Secret Manager-Secret, das das mit dem SQL Server-Nutzernamen verknüpfte Passwort enthält.
Beispiele für Verbindungskonfigurationen
Verbindungstyp für die Basisauthentifizierung
| Feldname | Details |
|---|---|
| Standort | us-central1 |
| Connector | Cloud SQL – SQL Server |
| Connector-Version | 1 |
| Verbindungsname | cloudsql-server-private |
| Cloud Logging aktivieren | Ja |
| Dienstkonto | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
| Projekt-ID | connectors-prod-test |
| Datenbankregion | us-central1 |
| Instanz-ID | google-cloud-bcone-sql-instance1 |
| Datenbankname | sqlcloudprivate_DB |
| Mindestanzahl von Knoten | 2 |
| Maximale Anzahl von Knoten | 2 |
| Zieltyp | Hostadresse |
| Host | HOST |
| Port | PORT |
| Nutzername | NUTZERNAME |
| Passwort | PASSWORT |
| Secret-Version | 1 |
Systembeschränkungen
Der Cloud SQL for SQL Server-Connector kann maximal 30 Transaktionen pro Sekunde und Knoten verarbeiten. Alle Transaktionen, die dieses Limit überschreiten, werden gedrosselt. Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.
Informationen zu den für Integration Connectors geltenden Limits finden Sie unter Limits.
Cloud SQL for SQL Server-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie sowohl in Apigee Integration als auch in Application Integration verfügbar. Sie können die Verbindung in einer Integration über die Aufgabe „Connectors“ verwenden.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Apigee Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors-Aufgabe.
Sehen Sie sich auch die Anleitung CRUD-Vorgänge in einer MySQL-Datenbank ausführen an. Dort wird beschrieben, wie Sie eine MySQL-Verbindung erstellen und in einer Integration verwenden, um Lese- und Schreibvorgänge auszuführen.
Unterstützte Datentypen
Die folgenden Datentypen werden für diesen Connector unterstützt:
- BIGINT
- BINARY
- BIT
- BOOLEAN
- CHAR
- DATE
- DECIMAL
- DOUBLE
- FLOAT
- INTEGER
- LONGN VARCHAR
- LONG VARCHAR
- NCHAR
- NUMERIC
- NVARCHAR
- REAL
- SMALL INT
- UHRZEIT
- TIMESTAMP
- TINY INT
- VARBINARY
- VARCHAR
Aktionen
In diesem Abschnitt finden Sie die Aktionen, die in diesem Connector verfügbar sind.
Aktion „Employee_Procedure“
Mit dieser Aktion werden Daten eines Mitarbeiters abgerufen.
Eingabeparameter der Aktion „Employee_Procedure“
| Parametername | Datentyp | Erforderlich | Beschreibung |
|---|---|---|---|
| ID | Integer | Wahr | Die ID des Mitarbeiters. |
Ein Beispiel für die Konfiguration der Aktion Employee_Procedure finden Sie unter Beispiele für Aktionen.
Beispiele für Aktionen
In diesem Abschnitt finden Sie Beispiele für Aktionen, die in diesem Connector verfügbar sind.
Beispiel: Daten eines Mitarbeiters abrufen
- Klicken Sie im Dialogfeld
Configure connector taskaufActions. - Wählen Sie die Aktion
Employee_Procedureaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "ID": 3 }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload der Connector-Aufgabe einen Wert, der dem folgenden ähnelt:
[{
"ID": 3,
"Name": "Charlie",
"City": "Paris",
"SALARY": 6500.0,
"Department": "IT"
}]
Beispiele für Entitätsvorgänge
In diesem Abschnitt finden Sie Beispiele für Entitätsvorgänge, die in diesem Connector verfügbar sind.
Beispiel: Alle Personen auflisten
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Personsaus der ListeEntityaus. - Wählen Sie den Vorgang
Listaus und klicken Sie auf Fertig. - Im Bereich Aufgabeneingabe der Aufgabe Connectors können Sie die filterClause entsprechend Ihren Anforderungen festlegen.
Der Wert für eine filterClause muss in einfache Anführungszeichen (') gesetzt sein. Mit filterClause können Sie Datensätze anhand der Spalten filtern.
Beispiel: Personendetails abrufen
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Personsaus der ListeEntityaus. - Wählen Sie den Vorgang
Getaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann
1in das Feld Standardwert ein. Diese ID gibt den abzurufenden Datensatz an.
Beispiel: Person löschen
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Personsaus der ListeEntityaus. - Wählen Sie den Vorgang
Deleteaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann
9in das Feld Standardwert ein. Mit dieser ID wird der zu löschende Datensatz angegeben.
Beispiel: Person erstellen
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Personsaus der ListeEntityaus. - Wählen Sie den Vorgang
Createaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "LastName": "Charlie", "FirstName": "Cruz", "Address": "123 Main Street", "City": "Paris" }Wenn die Integration erfolgreich ist, hat der Antwortparameter
connectorOutputPayloadder Connector-Aufgabe einen Wert, der dem folgenden ähnelt:{ "PersonID": 100.0, "LastName": "Charlie", "FirstName": "Cruz", "Address": "123 Main Street", "City": "Paris" }
Beispiel: Mitarbeiterdetails erstellen
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
SQL_Performance_EmployeeDetailsaus der ListeEntityaus. - Wählen Sie den Vorgang
Createaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "ID": 9.0, "FirstName": "Alex", "LastName": "Ariel", "MyDate": "2021-10-22", "MyTime": "13:54:19", "MySmallDateTime": "2021-10-22 13:54:00.0", "MyDateTime": "2021-10-22 13:54:19.057", "MyDateTime2": "2021-10-22 13:54:19.055", "MyDateTimeOffset": "2021-10-22 13:54:19.055", "MyDecimalColumn": 123.0, "MyNumericColumn": 12345.12, "salary": 4000.0, "Location": "Paris", "City": "Paris", "Designation": "Consultant", "Position": "Junior", "Experience": 5.0, "Emp_Father_Name": "Taylor", "Emp_Spouse": "Yuri", "Age": 29.0, "Celsius": 35.0, "Isregistered": "AA==", "Data": "{\"name\": \"Raj\",\"skills\": [\"SSIS\", \"SSRS\", \"JS\"],\"Age\": 30}", "Emp_Status": "Active", "Emp_Department": "IT", "Emp_Zip": 121212.0, "Sex": "Male", "Manager": "Dana", "ManagerId": 10.0, "Manager_Location": "Paris", "HR_Name": "Sasha", "Emp_Technology": "SQL", "Company_Name": "Altostrat", "Company_Location": "Paris", "Emp_Degree": "BE", "Emp_10TH": "Y", "Emp_12TH": "Y", "Emp_10Th_Marks": 70.0, "Emp_12TH_Marks": 80.0, "Emp_Degree_Marks": 90.0, "work": "WFH", "Emp_Language": "English", "Emp_System": "Laptop", "Daily_Hrs": 9.0, "Week_Days": 5.0, "Weekly_Off": 2.0, "Client_Name": "Google", "Client_Location": "Lisbon", "Team_Size": 15.0, "Reports_TO": "Manager" }Wenn die Integration erfolgreich ist, hat der Antwortparameter
connectorOutputPayloadder Connector-Aufgabe einen Wert, der dem folgenden ähnelt:{ "ID": 9.0, "FirstName": "Alex", "LastName": "Ariel", "City": "Paris", "Salary": 4000.0 }
Beispiel: Mitarbeiter erstellen
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Employeeaus der ListeEntityaus. - Wählen Sie den Vorgang
Createaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "NAME": "Dana", "AGE": 30, "City": "Lisbon", "SALARY": 10000.0 }Wenn die Integration erfolgreich ist, hat der Antwortparameter
connectorOutputPayloadder Connector-Aufgabe einen Wert, der dem folgenden ähnelt:{ "ID": 88.0, "NAME": "Dana", "AGE": 30, "City": "Lisbon", "SALARY": 10000.0 }
Beispiel: Personendetails aktualisieren
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Personsaus der ListeEntityaus. - Wählen Sie den Vorgang
Updateaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "LastName": "Charlie", "FirstName": "Cruz", "Address": "8 Rue du Nom Fictif", "City": "Paris" }Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann
10 in das Feld Standardwert ein. Diese ID gibt den zu aktualisierenden Datensatz an.
Anstelle der entityId können Sie auch die filterClause auf '10' festlegen.
Wenn die Integration erfolgreich ist, hat der Antwortparameter connectorOutputPayload der Connector-Aufgabe einen Wert, der dem folgenden ähnelt:
{
"LastName": "Charlie",
"FirstName": "Cruz",
"Address": "8 Rue du Nom Fictif",
"City": "Paris"
}
Beispiel: Mitarbeiterdetails aktualisieren
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
SQL_Performance_EmployeeDetailsaus der ListeEntityaus. - Wählen Sie den Vorgang
Updateaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "Age": 30 }Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann
5 in das Feld Standardwert ein. Diese ID gibt den zu aktualisierenden Datensatz an.
Anstelle der entityId können Sie auch die filterClause auf '5' festlegen.
Wenn die Integration erfolgreich ist, hat der Antwortparameter connectorOutputPayload der Connector-Aufgabe einen Wert, der dem folgenden ähnelt:
{
"Age": 30
}
Beispiel: Mitarbeiter aktualisieren
- Klicken Sie im Dialogfeld
Configure connector taskaufEntities. - Wählen Sie
Employeeaus der ListeEntityaus. - Wählen Sie den Vorgang
Updateaus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayloadund geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Valueein:{ "AGE": 41, "City": "Paris", "SALARY": 10000.0 } - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf entityId und geben Sie dann
2in das Feld Standardwert ein. Diese ID gibt den zu aktualisierenden Datensatz an.Anstelle der entityId können Sie auch die filterClause auf
'2'festlegen.Wenn die Integration erfolgreich ist, hat der Antwortparameter
connectorOutputPayloadder Connector-Aufgabe einen Wert, der dem folgenden ähnelt:{ "AGE": 41, "City": "Paris", "SALARY": 10000.0 }
Verbindungen mit Terraform erstellen
Sie können die Terraform-Ressource verwenden, um eine neue Verbindung zu erstellen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Eine Beispiel-Terraform-Vorlage zum Erstellen von Verbindungen finden Sie hier.
Wenn Sie diese Verbindung mit Terraform erstellen, müssen Sie die folgenden Variablen in Ihrer Terraform-Konfigurationsdatei festlegen:
| Parametername | Datentyp | Erforderlich | Beschreibung |
|---|---|---|---|
| project_id | STRING | Wahr | Projekt-ID des Projekts, das die Cloud SQL-Instanz enthält, z. B. „myproject“. |
| database_region | STRING | Wahr | Die Cloud-Region für die Instanz, z. B. „us-central1“. |
| instance_id | STRING | Wahr | ID der Datenbankinstanz. Die Projekt-ID ist darin nicht enthalten, z. B. „myinstance“. |
| database_name | STRING | Wahr | Name der Datenbank in der Instanz, z. B. „mydatabase“. |