Bewährte Methoden für die SQL-DatensynchronisierungBest practices for SQL Data Sync

Dieser Artikel enthält bewährte Methoden für die Azure SQL-Datensynchronisierung.This article describes best practices for Azure SQL Data Sync.

Eine Übersicht über die SQL-Datensynchronisierung finden Sie unter Synchronisieren von Daten über mehrere Cloud- und lokale Datenbanken mit SQL-Datensynchronisierung.For an overview of SQL Data Sync, see Sync data across multiple cloud and on-premises databases with Azure SQL Data Sync.

Wichtig

Die Azure SQL-Datensynchronisierung unterstützt derzeit keine verwalteten Azure SQL-Datenbank-Instanzen.Azure SQL Data Sync does not support Azure SQL Database Managed Instance at this time.

Sicherheit und ZuverlässigkeitSecurity and reliability

Client-AgentClient agent

  • Installieren Sie den Client-Agent, indem Sie das Benutzerkonto mit den geringsten Rechten verwenden, das über Zugriff auf den Netzwerkdienst verfügt.Install the client agent by using the least privileged user account that has network service access.
  • Installieren Sie den Client-Agent auf einem Computer, bei dem es sich nicht um den lokalen SQL Server-Computer handelt.Install the client agent on a computer that isn't the on-premises SQL Server computer.
  • Registrieren Sie eine lokale Datenbank nicht bei mehreren Agents.Don't register an on-premises database with more than one agent.
    • Vermeiden Sie dies auch, wenn Sie verschiedene Tabellen für unterschiedliche Synchronisierungsgruppen synchronisieren.Avoid this even if you are syncing different tables for different sync groups.
    • Die Registrierung einer lokalen Datenbank bei mehreren Client-Agents führt zu Problemen, wenn Sie eine der Synchronisierungsgruppen löschen.Registering an on-premises database with multiple client agents poses challenges when you delete one of the sync groups.

Datenbankkonten mit geringstmöglichen RechtenDatabase accounts with least required privileges

  • Für die Einrichtung der Synchronisierung:For sync setup. Tabelle erstellen/ändern; Datenbank ändern; Prozedur erstellen; Schema auswählen/ändern; benutzerdefinierten Typ erstellenCreate/Alter Table; Alter Database; Create Procedure; Select/ Alter Schema; Create User-Defined Type.

  • Für die laufende Synchronisierung: Auswählen/Einfügen/Aktualisieren/Löschen für Tabellen, die für die Synchronisierung ausgewählt wurden, sowie für Tabellen mit Synchronisierungsmetadaten und für Nachverfolgungstabellen; Ausführungsberechtigung für vom Dienst erstellte gespeicherte Prozeduren; Ausführungsberechtigung für benutzerdefinierte TabellentypenFor ongoing sync. Select/ Insert/ Update/ Delete on tables that are selected for syncing, and on sync metadata and tracking tables; Execute permission on stored procedures created by the service; Execute permission on user-defined table types.

  • Aufhebung der Bereitstellung:For deprovisioning. Änderungsberechtigung für an der Synchronisierung beteiligte Tabellen; Auswählen/Löschen für Tabellen mit Synchronisierungsmetadaten; Steuerungsberechtigung für Tabellen zur Synchronisierungsnachverfolgung, gespeicherte Prozeduren und benutzerdefinierte TypenAlter on tables part of sync; Select/ Delete on sync metadata tables; Control on sync tracking tables, stored procedures, and user-defined types.

Azure SQL-Datenbank unterstützt nur einen Satz von Anmeldeinformationen.Azure SQL Database supports only a single set of credentials. Sie können die folgenden Optionen verwenden, um diese Aufgaben im Rahmen dieser Einschränkung zu erledigen:To accomplish these tasks within this constraint, consider the following options:

  • Ändern Sie die Anmeldeinformationen für die verschiedenen Phasen. Verwenden Sie also beispielsweise credentials1 für die Einrichtung und credentials2 für die laufende Synchronisierung.Change the credentials for different phases (for example, credentials1 for setup and credentials2 for ongoing).
  • Ändern Sie die Berechtigung der Anmeldeinformationen. (Genauer gesagt: Ändern Sie die Berechtigung nach dem Einrichten der Synchronisierung.)Change the permission of the credentials (that is, change the permission after sync is set up).

EinrichtungSetup

Überlegungen und Einschränkungen für DatenbankenDatabase considerations and constraints

Größe der SQL-DatenbankinstanzSQL Database instance size

Legen Sie beim Erstellen einer neuen SQL-Datenbankinstanz die maximale Größe immer auf einen Wert fest, der größer als die bereitgestellte Datenbank ist.When you create a new SQL Database instance, set the maximum size so that it's always larger than the database you deploy. Wenn Sie die maximale Größe nicht auf einen höheren Wert als die bereitgestellte Datenbank festlegen, ist die Synchronisierung nicht erfolgreich.If you don't set the maximum size to larger than the deployed database, sync fails. Die SQL-Datensynchronisierung ermöglicht zwar keine automatische Vergrößerung, Sie können jedoch den Befehl ALTER DATABASE ausführen, um die Größe der Datenbank nach der Erstellung zu erhöhen.Although SQL Data Sync doesn't offer automatic growth, you can run the ALTER DATABASE command to increase the size of the database after it has been created. Stellen Sie sicher, dass die Größenlimits der SQL-Datenbankinstanz nicht überschritten werden.Ensure that you stay within the SQL Database instance size limits.

Wichtig

Die SQL-Datensynchronisierung speichert mit jeder Datenbank zusätzliche Metadaten.SQL Data Sync stores additional metadata with each database. Stellen Sie sicher, dass Sie diese Metadaten bei der Berechnung des Speicherbedarfs berücksichtigen.Ensure that you account for this metadata when you calculate space needed. Der zusätzlich benötigte Platz ist abhängig von der Breite der Tabellen (schmale Tabellen benötigen beispielsweise weniger zusätzlichen Platz) sowie vom Umfang des Datenverkehrs.The amount of added overhead is related to the width of the tables (for example, narrow tables require more overhead) and the amount of traffic.

Überlegungen und Einschränkungen für TabellenTable considerations and constraints

Auswählen von TabellenSelecting tables

Sie müssen nicht alle Tabellen, die in einer Datenbank enthalten sind, in eine Synchronisierungsgruppe einfügen.You don't have to include all the tables that are in a database in a sync group. Die Tabellen, die Sie in eine Synchronisierungsgruppe einfügen, haben Einfluss auf die Effizienz und die Kosten.The tables that you include in a sync group affect efficiency and costs. Fügen Sie Tabellen – und die Tabellen, von denen diese abhängig sind – nur dann in eine Synchronisierungsgruppe ein, wenn dies eine geschäftliche Anforderung ist.Include tables, and the tables they are dependent on, in a sync group only if business needs require it.

PrimärschlüsselPrimary keys

Jede Tabelle in einer Synchronisierungsgruppe muss über einen Primärschlüssel verfügen.Each table in a sync group must have a primary key. Tabellen ohne Primärschlüssel können vom SQL-Datensynchronisierungsdienst nicht synchronisiert werden.The SQL Data Sync service can't sync a table that doesn't have a primary key.

Testen Sie die anfängliche und fortlaufende Synchronisierungsleistung, bevor Sie die SQL-Datensynchronisierung in der Produktion verwenden.Before using SQL Data Sync in production, test initial and ongoing sync performance.

Leere Tabellen bieten die beste LeistungEmpty tables provide the best performance

Leere Tabellen bieten zum Zeitpunkt der Initialisierung die beste Leistung.Empty tables provide the best performance at initialization time. Wenn die Zieltabelle leer ist, verwendet die Datensynchronisierung Masseneinfügevorgänge zum Laden der Daten.If the target table is empty, Data Sync uses bulk insert to load the data. Andernfalls vergleicht die Datensynchronisierung die einzelnen Zeilen und fügt Zeilen einzeln ein, um Konflikte zu vermeiden.Otherwise, Data Sync does a row-by-row comparison and insertion to check for conflicts. Wenn die Leistung keine primäre Rolle spielt, können Sie die Synchronisierung zwischen Tabellen einrichten, die bereits Daten enthalten.If performance is not a concern, however, you can set up sync between tables that already contain data.

Bereitstellen von ZieldatenbankenProvisioning destination databases

Die SQL-Datensynchronisierung bietet eine grundlegende automatische Datenbankbereitstellung.SQL Data Sync provides basic database autoprovisioning.

In diesem Abschnitt werden die Einschränkungen im Zusammenhang mit der Bereitstellung in der SQL-Datensynchronisierung beschrieben.This section discusses the limitations of provisioning in SQL Data Sync.

Einschränkungen der automatischen BereitstellungAutoprovisioning limitations

Für die SQL-Datensynchronisierung gelten in Bezug auf die automatische Bereitstellung die folgenden Einschränkungen:SQL Data Sync has the following limitations for autoprovisioning:

  • Wählen Sie nur die Spalten aus, die in der Zieltabelle erstellt werden.Select only the columns that are created in the destination table. Alle Spalten, die nicht Teil der Synchronisierungsgruppe sind, werden in Zieltabellen bereitgestellt.Any columns that aren't part of the sync group aren't provisioned in the destination tables.
  • Indizes werden nur für ausgewählte Spalten erstellt.Indexes are created only for selected columns. Enthält der Quelltabellenindex Spalten, die nicht Teil der Synchronisierungsgruppe sind, werden diese Indizes nicht in den Zieltabellen bereitgestellt.If the source table index has columns that aren't part of the sync group, those indexes aren't provisioned in the destination tables.
  • Indizes für XML-Spalten werden nicht bereitgestellt.Indexes on XML type columns aren't provisioned.
  • CHECK-Einschränkungen werden nicht bereitgestellt.CHECK constraints aren't provisioned.
  • Vorhandene Trigger für die Quelltabellen werden nicht bereitgestellt.Existing triggers on the source tables aren't provisioned.
  • Sichten und gespeicherte Prozeduren werden in der Zieldatenbank nicht erstellt.Views and stored procedures aren't created on the destination database.
  • Die Aktionen ON UPDATE CASCADE und ON DELETE CASCADE werden für Fremdschlüsseleinschränkungen in den Zieltabellen nicht neu erstellt.ON UPDATE CASCADE and ON DELETE CASCADE actions on foreign key constraints aren't recreated in the destination tables.
  • Bei dezimalen oder numerischen Spalten mit einer größeren Genauigkeit als 28 kann bei der SQL-Datensynchronisierung während der Synchronisierung ein Konvertierungsüberlaufproblem auftreten. Es wird empfohlen, dass Sie die Genauigkeit von dezimalen oder numerischen Spalten auf 28 oder geringer beschränken.If you have decimal or numeric columns with a precision greater than 28, SQL Data Sync may encounter a conversion overflow issue during sync. We recommend that you limit the precision of decimal or numeric columns to 28 or less.

EmpfehlungenRecommendations

  • Verwenden Sie die automatische Bereitstellungsfunktion der SQL-Datensynchronisierung nur während der Testphase des Diensts.Use the SQL Data Sync autoprovisioning capability only when you are trying out the service.
  • Stellen Sie für eine Produktionsumgebung das Datenbankschema bereit.For production, provision the database schema.

Standort für die Hub-DatenbankWhere to locate the hub database

Unternehmen-zu-Cloud-SzenarioEnterprise-to-cloud scenario

Zur Minimierung der Wartezeit sollte sich die Hub-Datenbank in der Nähe der höchsten Datenbank-Datenverkehrskonzentration der Synchronisierungsgruppe befinden.To minimize latency, keep the hub database close to the greatest concentration of the sync group's database traffic.

Cloud-zu-Cloud-SzenarioCloud-to-cloud scenario

  • Wenn sich alle Datenbanken einer Synchronisierungsgruppe in demselben Datencenter befinden, sollte auch der Hub in diesem Datencenter angeordnet werden.When all the databases in a sync group are in one datacenter, the hub should be located in the same datacenter. Diese Konfiguration verringert die Wartezeit und die Kosten für Datenübertragungen zwischen Datencentern.This configuration reduces latency and the cost of data transfer between datacenters.
  • Wenn die Datenbanken einer Synchronisierungsgruppe auf mehrere Datencenter verteilt sind, sollte sich der Hub in dem Datencenter befinden, das die Mehrheit der Datenbanken enthält und in dem der meiste Datenbank-Datenverkehr anfällt.When the databases in a sync group are in multiple datacenters, the hub should be located in the same datacenter as the majority of the databases and database traffic.

Gemischte SzenarienMixed scenarios

Wenden Sie die vorherigen Richtlinien auf komplexe Konfigurationen von Synchronisierungsgruppen an, z.B. bei einer Mischung aus Unternehmen-zu-Cloud- und Cloud-zu-Cloud-Szenarien.Apply the preceding guidelines to complex sync group configurations, such as those that are a mix of enterprise-to-cloud and cloud-to-cloud scenarios.

SynchronisierungSync

Vermeiden von langsamen und teuren ersten SynchronisierungsläufenAvoid slow and costly initial sync

In diesem Abschnitt wird die erste Synchronisierung einer Synchronisierungsgruppe beschrieben.In this section, we discuss the initial sync of a sync group. Sie erfahren, wie Sie verhindern können, dass eine erste Synchronisierung zeitaufwändiger und teurer als nötig wird.Learn how to help prevent an initial sync from taking longer and being more costly than necessary.

Ablauf der ersten SynchronisierungHow initial sync works

Beginnen Sie beim Erstellen einer Synchronisierungsgruppe mit Daten in einer einzelnen Datenbank.When you create a sync group, start with data in only one database. Wenn Sie über Daten in mehreren Datenbanken verfügen, behandelt die SQL-Datensynchronisierung jede Zeile als Konflikt, der gelöst werden muss.If you have data in multiple databases, SQL Data Sync treats each row as a conflict that needs to be resolved. Diese Lösung von Konflikten führt dazu, dass die erste Synchronisierung langsam abläuft.This conflict resolution causes the initial sync to go slowly. Wenn Sie über Daten in mehreren Datenbanken verfügen, kann die erste Synchronisierung je nach Datenbankgröße ggf. zwischen mehreren Tagen und mehreren Monaten dauern.If you have data in multiple databases, initial sync might take between several days and several months, depending on the database size.

Falls sich die Datenbanken in unterschiedlichen Datencentern befinden, muss jede Zeile zwischen den einzelnen Datencentern übertragen werden.If the databases are in different datacenters, each row must travel between the different datacenters. Dies erhöht die Kosten für eine erste Synchronisierung.This increases the cost of an initial sync.

EmpfehlungRecommendation

Beginnen Sie möglichst mit Daten in nur einer Datenbank der Synchronisierungsgruppe.If possible, start with data in only one of the sync group's databases.

Vermeiden von SynchronisierungsschleifenDesign to avoid sync loops

Zu einer Synchronisierungsschleife kommt es, wenn in einer Synchronisierungsgruppe Zirkelbezüge enthalten sind.A sync loop occurs when there are circular references within a sync group. Bei diesem Szenario wird jede Änderung in einer Datenbank für die Datenbanken der Synchronisierungsgruppe endlos und in Zirkelform repliziert.In that scenario, each change in one database is endlessly and circularly replicated through the databases in the sync group.

Achten Sie darauf, Synchronisierungsschleifen zu vermeiden, da sie zu einer Leistungsbeeinträchtigung und ggf. erheblichen Kostensteigerungen führen.Ensure that you avoid sync loops, because they cause performance degradation and might significantly increase costs.

Änderungen, die nicht verteilt werdenChanges that fail to propagate

Gründe für Fehler bei der Verteilung von ÄnderungenReasons that changes fail to propagate

Es kann passieren, dass Änderungen aus einem der folgenden Gründe nicht verteilt werden:Changes might fail to propagate for one of the following reasons:

  • Inkompatibilität des Schemas/DatentypsSchema/datatype incompatibility.
  • Einfügung eines NULL-Werts in Spalten, in denen keine NULL-Werte zulässig sindInserting null in non-nullable columns.
  • Verstoß gegen FremdschlüsseleinschränkungenViolating foreign key constraints.

Was geschieht, wenn Änderungen nicht verteilt werden können?What happens when changes fail to propagate?

  • Für die Synchronisierungsgruppe wird angezeigt, dass sie sich im Status Warnung befindet.Sync group shows that it's in a Warning state.
  • Details können Sie der Protokollanzeige der Portalbenutzeroberfläche entnehmen.Details are listed in the portal UI log viewer.
  • Falls das Problem nicht innerhalb von 45 Tagen behoben wird, gilt die Datenbank als veraltet.If the issue is not resolved for 45 days, the database becomes out of date.

Hinweis

Die entsprechenden Änderungen werden niemals verteilt.These changes never propagate. Die einzige Möglichkeit einer Wiederherstellung in diesem Szenario ist die erneute Erstellung der Synchronisierungsgruppe.The only way to recover in this scenario is to re-create the sync group.

EmpfehlungRecommendation

Prüfen Sie über das Portal und die Protokollschnittstelle regelmäßig die Integrität der Synchronisierungsgruppe und der Datenbank.Monitor the sync group and database health regularly through the portal and log interface.

WartungMaintenance

Vermeiden veralteter Datenbanken und SynchronisierungsgruppenAvoid out-of-date databases and sync groups

Es kann vorkommen, dass eine Synchronisierungsgruppe oder eine Datenbank in einer Synchronisierungsgruppe nicht mehr aktuell ist.A sync group or a database in a sync group can become out of date. Synchronisierungsgruppen mit dem Status Veraltet funktionieren nicht mehr.When a sync group's status is Out-of-date, it stops functioning. Bei einer Datenbank mit dem Status Veraltet besteht die Gefahr von Datenverlusten.When a database's status is Out-of-date, data might be lost. Es wird empfohlen, dieses Szenario zu vermeiden, anstatt die Wiederherstellung durchführen zu müssen.It's best to avoid this scenario instead of trying to recover from it.

Vermeiden veralteter DatenbankenAvoid out-of-date databases

Eine Datenbank erhält den Status Veraltet, wenn sie mindestens 45 Tage lang offline war.A database's status is set to Out-of-date when it has been offline for 45 days or more. Stellen Sie sicher, dass keine Datenbank 45 Tage oder länger offline ist, um den Datenbankstatus Veraltet zu vermeiden.To avoid an Out-of-date status on a database, ensure that none of the databases are offline for 45 days or more.

Vermeiden veralteter SynchronisierungsgruppenAvoid out-of-date sync groups

Eine Synchronisierungsgruppe erhält den Status Veraltet, wenn eine Änderung in der Synchronisierungsgruppe nicht innerhalb von 45 Tagen an die restlichen Datenbanken der Gruppe verteilt werden konnte.A sync group's status is set to Out-of-date when any change in the sync group fails to propagate to the rest of the sync group for 45 days or more. Prüfen Sie regelmäßig das Verlaufsprotokoll der Synchronisierungsgruppe, um den Status Veraltet zu vermeiden.To avoid an Out-of-date status on a sync group, regularly check the sync group's history log. Vergewissern Sie sich, dass alle Konflikte gelöst und Änderungen erfolgreich an die Datenbanken der Synchronisierungsgruppe verteilt wurden.Ensure that all conflicts are resolved, and that changes are successfully propagated throughout the sync group databases.

Es kann passieren, dass eine Synchronisierungsgruppe eine Änderung aus einem der folgenden Gründe nicht anwenden kann:A sync group might fail to apply a change for one of these reasons:

  • Inkompatible Schemas zwischen TabellenSchema incompatibility between tables.
  • Inkompatible Daten zwischen TabellenData incompatibility between tables.
  • Einfügung einer Zeile mit einem NULL-Wert in eine Spalte, in der keine NULL-Werte zulässig sindInserting a row with a null value in a column that doesn't allow null values.
  • Aktualisierung einer Zeile mit einem Wert, der gegen eine Fremdschlüsseleinschränkung verstößtUpdating a row with a value that violates a foreign key constraint.

Gehen Sie wie folgt vor, um veraltete Synchronisierungsgruppen zu vermeiden:To prevent out-of-date sync groups:

  • Aktualisieren Sie das Schema, um die Werte aus den nicht erfolgreichen Zeilen zuzulassen.Update the schema to allow the values that are contained in the failed rows.
  • Aktualisieren Sie die Fremdschlüsselwerte, um die Werte aus den nicht erfolgreichen Zeilen einzuschließen.Update the foreign key values to include the values that are contained in the failed rows.
  • Aktualisieren Sie die Datenwerte in der nicht erfolgreichen Zeile, sodass sie mit dem Schema oder mit den Fremdschlüsseln in der Zieldatenbank kompatibel sind.Update the data values in the failed row so they are compatible with the schema or foreign keys in the target database.

Vermeiden von Problemen durch die BereitstellungsaufhebungAvoid deprovisioning issues

In einigen Fällen kann das Aufheben der Registrierung bei einer Datenbank mit einem Client-Agent dazu führen, dass die Synchronisierung nicht erfolgreich ist.In some circumstances, unregistering a database with a client agent might cause sync to fail.

SzenarioScenario

  1. Synchronisierungsgruppe A wurde mit einer SQL-Datenbankinstanz und einer lokalen SQL Server-Datenbank erstellt, die dem lokalen Agent 1 zugeordnet ist.Sync group A was created by using a SQL Database instance and an on-premises SQL Server database, which is associated with local agent 1.
  2. Die gleiche lokale Datenbank ist beim lokalen Agent 2 registriert. (Dieser Agent ist keiner anderen Synchronisierungsgruppe zugeordnet.)The same on-premises database is registered with local agent 2 (this agent is not associated with any sync group).
  3. Wenn Sie die Registrierung der lokalen Datenbank beim lokalen Agent 2 aufheben, werden die Nachverfolgungs- und Metadatentabellen für Synchronisierungsgruppe A für die lokale Datenbank entfernt.Unregistering the on-premises database from local agent 2 removes the tracking and meta tables for sync group A for the on-premises database.
  4. Bei Vorgängen der Synchronisierungsgruppe A tritt dieser Fehler auf: „The current operation could not be completed because the database is not provisioned for sync or you do not have permissions to the sync configuration tables.“ (Der aktuelle Vorgang konnte nicht abgeschlossen werden, da die Datenbank nicht für die Synchronisierung bereitgestellt wurde oder Sie nicht über Berechtigungen für die Synchronisierungskonfigurationstabellen verfügen.)Sync group A operations fail, with this error: "The current operation could not be completed because the database is not provisioned for sync or you do not have permissions to the sync configuration tables."

LösungSolution

Um dieses Szenario zu vermeiden, sollten Sie eine Datenbank nicht bei mehr als einem Agent registrieren.To avoid this scenario, don't register a database with more than one agent.

Gehen Sie wie folgt vor, wenn dieser Fall bereits eingetreten ist:To recover from this scenario:

  1. Entfernen Sie die Datenbank aus allen Synchronisierungsgruppen, denen sie angehört.Remove the database from each sync group that it belongs to.
  2. Fügen Sie die Datenbank wieder den Synchronisierungsgruppen hinzu, aus denen Sie sie entfernt haben.Add the database back into each sync group that you removed it from.
  3. Stellen Sie alle betroffenen Synchronisierungsgruppen bereit. (Mit dieser Aktion wird die Datenbank bereitgestellt.)Deploy each affected sync group (this action provisions the database).

Ändern einer SynchronisierungsgruppeModifying a sync group

Versuchen Sie nicht, eine Datenbank aus einer Synchronisierungsgruppe zu entfernen und dann die Synchronisierungsgruppe zu bearbeiten, ohne zunächst eine der Änderungen bereitzustellen.Don't attempt to remove a database from a sync group and then edit the sync group without first deploying one of the changes.

Entfernen Sie stattdessen zuerst eine Datenbank aus einer Synchronisierungsgruppe.Instead, first remove a database from a sync group. Stellen Sie dann die Änderung bereit, und warten Sie, bis die Aufhebung der Bereitstellung abgeschlossen ist.Then, deploy the change and wait for deprovisioning to finish. Nachdem die Aufhebung der Bereitstellung abgeschlossen ist, können Sie die Synchronisierungsgruppe bearbeiten und die Änderungen bereitstellen.When deprovisioning is finished, you can edit the sync group and deploy the changes.

Wenn Sie versuchen, eine Datenbank zu entfernen und dann eine Synchronisierungsgruppe zu bearbeiten, ohne zuerst eine der Änderungen bereitzustellen, schlägt einer der Vorgänge fehl.If you attempt to remove a database and then edit a sync group without first deploying one of the changes, one or the other operation fails. Die Portaloberfläche wird unter Umständen inkonsistent.The portal interface might become inconsistent. Aktualisieren Sie in diesem Fall die Seite, um den korrekten Zustand wiederherzustellen.If this happens, refresh the page to restore the correct state.

Nächste SchritteNext steps

Weitere Informationen zur SQL-Datensynchronisierung finden Sie unter:For more information about SQL Data Sync, see:

Weitere Informationen zu SQL-Datenbank finden Sie hier:For more information about SQL Database, see: