(0) exportieren Drucken
Alle erweitern

Verwalten von Datenbankverbunden (Azure SQL-Datenbank)

Letzte Aktualisierung: April 2014

ImportantWichtig
Die aktuelle Implementierung von Verbünden wird zusammen mit den Web- und Business-Dienstebenen eingestellt. Erwägen Sie die Bereitstellung benutzerdefinierter Shardinglösungen, um Skalierbarkeit, Flexibilität und Leistung zu maximieren. Weitere Informationen zum benutzerdefinierten Sharding finden Sie unter Horizontales Skalieren von Azure SQL-Datenbanken.

Transact-SQL-Anweisungen, -Funktionen und -Sichten können zum Erstellen, Ändern und Überwachen von Verbunden verwendet werden. Dieses Thema stellt Informationen zum Verwalten von Verbunden zur Verfügung.

Jeder Verbund beginnt mit einem Stamm und einem anfänglichen Verbundmitglied. Diese werden mithilfe der CREATE FEDERATION-Anweisung erstellt. Nach dem Erstellen des Verbunds kann eine Verbundtabellenstruktur erstellt werden, indem mithilfe der USE FEDERATION-Anweisung eine Verbindung mit dem Verbundstamm hergestellt und dann CREATE TABLE mit der FEDERATED ON-Klausel verwendet wird.

Zum horizontalen Skalieren eines Verbunds kann mit der ALTER FEDERATION-Anweisung ein vorhandenes Verbundmitglied in neue Mitglieder unterteilt werden. Beim SPLIT-Vorgang wird das zu unterteilende Mitglied über den im Rahmen des Vorgangs angegebenen Verbundschlüsselwert identifiziert. Das Verbundmitglied wird am angegebenen Wert unterteilt. Dies ergibt zwei neue Verbundmitglieder, die die Summe der Zeilen enthalten, die zuvor im Quellmitglied enthalten waren.

ALTER FEDERATION kann auch verwendet werden, um mit dem DROP AT-Vorgang die Anzahl der Verbundmitglieder zu verringern. Der Bereich der Verbundschlüsselwerte, die zuvor von dem gelöschten Mitglied abgedeckt wurden, wird in ein angrenzendes Mitglied übertragen. Die zuvor diesem Bereich zugeordneten Werte werden jedoch durch diesen Vorgang nicht beibehalten.

noteHinweis
Verbundmitglieder können nicht mit dem CREATE DATABASE-Befehl oder dem DROP DATABASE-Befehl erstellt bzw. gelöscht werden.

Zum Löschen eines Verbunds, einschließlich aller Verbundmitglieder sowie zugeordneter Metadaten und logischer Objekte, kann die DROP FEDERATION-Anweisung verwendet werden.

Außerdem wird ALTER DATABASE umfassend für Verbundmitglieder unterstützt.

Es ist zwar möglich, direkte Verbindungen mit den physischen Datenbanken herzustellen, die Verbunddaten enthalten. Dies ist jedoch nicht die optimale Verbindungsmethode, da sie erfordert, dass die Namen der einzelnen Mitgliedsdatenbanken bekannt sind. Die USE FEDERATION-Anweisung bietet einfachere Konnektivität, da alle Verbindungen über den Verbundstamm weitergeleitet werden. Die Namen der einzelnen Mitgliedsdatenbanken müssen nicht bekannt sein, sondern lediglich der Verbundname und der Verbundschlüssel.

Verbindungen können mit der WITH FILTERING=ON-Klausel gefiltert werden, sodass Vorgänge für die Verbindung auf die unteilbare Verbundeinheit beschränkt werden, die mit dem Verbundschlüsselwert übereinstimmt. Bei aktivierter Filterung fügt der Abfrageprozessor jeder Abfrage, die auf eine Verbundtabelle verweist, ein Prädikat hinzu, das den Verbundschlüsselwert für die Verbundspalte enthält.

WarningWarnung
Eine unteilbare Verbundeinheit ist keine Sicherheitsbegrenzung, und der Abfrageprozessor garantiert nicht die vollständige Isolation von Informationen zwischen Einheiten im selben Verbundmitglied. Verlassen Sie sich nicht auf Filterung als Mechanismus für die Sicherheitsisolation.

Um zu bestimmen, ob eine Verbindung gefiltert ist, gibt sys.dm_exec_sessions eine Spalte is_filtered zurück. Der Datentyp dieser Spalte ist bit. 1 wird zurückgegeben, wenn die Verbindung gefiltert ist, andernfalls wird 0 zurückgegeben. Wenn die Verbindung gefiltert ist, können Sie den Filterwert bestimmen, indem Sie FEDERATION_FILTERING_VALUE verwenden.

Die Authentifizierung bei Datenbanken, die Verbunde enthalten, erfolgt auf die gleiche Weise wie die Authentifizierung bei Datenbanken ohne Verbunde. Das Setup von Sicherheitsprinzipalen, z. B. Benutzern und Rollen, ist jedoch auf die Verbundstammdatenbank beschränkt, und Benutzer und Rollen werden nicht automatisch auf Verbundmitglieder repliziert.

Verbundmitglieder dürfen keine Benutzer mit Anmeldenamen enthalten. Stattdessen werden in einem Verbundmitglied erstellte Benutzerkonten mit dem gleichnamigen Konto im Verbundstamm verknüpft. Rollen in Verbundmitgliedern werden als Datenbank ohne Verbund verwaltet.

Beim Erstellen des ersten Verbundmitglieds wird das Konto, das die Anweisung ausführt, Besitzer des Verbundmitglieds. Wenn ein vorhandener Prinzipal aus dem Verbundstamm dem Verbundmitglied hinzugefügt werden soll, muss der Besitzer der Datenbank einen Benutzer im Verbundmitglied mit der CREATE USER-Anweisung erstellen und den Benutzer dann mit einem vorhandenen Prinzipal in der Stammdatenbank des Verbunds mithilfe der ALTER USER-Anweisung verknüpfen. Der Benutzername muss genau mit dem Prinzipalnamen in sys.database_principals im Verbundstamm übereinstimmen. Das Verknüpfen von Benutzern mit Rollen oder anderen Typen von Prinzipalen als Benutzern wird nicht unterstützt.

noteHinweis
Wenn der Benutzername nicht genau mit einem vorhandenen Prinzipalnamen im Verbundstamm übereinstimmt, tritt ein Fehler der Anweisung mit der folgenden Fehlermeldung auf:

"Benutzername" ist kein gültiger user_name, oder Sie verfügen nicht über die erforderliche Berechtigung.

Benutzer und Rollen in der Verbundstammdatenbank werden auf die gleiche Weise wie für eine Datenbank ohne Verbund erstellt.

Verknüpfte Benutzer können in einem Verbundmitglied als reguläre Benutzerkonten verwendet werden. Sie können in EXECUTE AS-Klauseln verwendet und Rollen hinzugefügt werden. Die EXECUTE AS-Klausel wird für WITH NO REVERT nicht unterstützt, da für verknüpfte Benutzer TRUSTWORTHY und DB_CHAINING nicht aktiviert sind.

Die folgenden Sichten bieten Informationen zu Verbundvorgängen. Die Informationen werden in diesen Sichten angezeigt, solange der Vorgang ausgeführt wird, und direkt nach Abschluss des Vorgangs bereinigt.

 

Verbundvorgangssicht Beschreibung

sys.dm_federation_operations

Gibt Informationen über Vorgänge auf Verbundebene zurück.

sys.dm_federation_operation_members

Gibt Informationen über an Vorgängen beteiligte Verbundmitglieder zurück.

sys.dm_federation_operation_errors

Gibt Informationen zu Fehlern zurück, die während Verbundvorgängen aufgetreten sind.

sys.dm_federation_operation_error_members

Gibt Informationen über Verbundmitglieder zurück, die an Vorgängen beteiligt waren, bei denen ein Fehler aufgetreten ist.

Aus den folgenden Sichten können zusätzliche Metadaten abgerufen werden, die Verbunde, Mitglieder und das im Verbund verwendete Verteilungsschema beschreiben. sys.databases gibt jetzt außerdem eine Spalte mit dem Namen is_federation_member zurück, die einen Bitwert enthält, der angibt, ob die Datenbank ein Verbundmitglied ist.

 

Verbundmetadatentabelle Beschreibung

sys.federations

Gibt die Verbunde in einer Datenbank zurück.

sys.federation_members

Gibt die Verbundmitglieder in einem Verbund zurück.

sys.federation_distributions

Gibt den Verteilungstyp und Datentypen zurück, die von einem Verbund verwendet werden.

sys.federation_member_distributions

Gibt den Verteilungsnamen und den von einem Verbundmitglied abgedeckten Bereich zurück.

sys.federated_table_columns

Gibt verbundspezifische Informationen zu Verbundtabellen zurück.

Über die Verbundverlaufssichten lassen sich Verlaufsinformationen zu Verbundvorgängen abrufen. Mit diesen Informationen können Sie die Verbundstamm- und Verbundmitgliedsinformationen, einschließlich des von einem Mitglied abgedeckten Bereichs, für jeden Zeitpunkt wiederherstellen. Die Verbundverlaufssichten lauten wie folgt:

 

Verbundverlaufstabelle Beschreibung

sys.federation_history

Gibt Verlaufsinformationen zu Verbunden zurück.

sys.federation_member_history

Gibt Verlaufsinformationen zu Verbundmitgliedern zurück.

sys.federation_distribution_history

Gibt Verlaufsinformationen zum Verteilungstyp und Datentyp eines Verbunds zurück.

sys.federation_member_distribution_history

Gibt Verlaufsinformationen zu dem von einem Verbundmitglied abgedeckten Bereich zurück.

Siehe auch

Anzeigen:
© 2014 Microsoft