SQL-Datenbanken sollen Ressourcen teilen? Elastic Pool konfigurieren
Eine Kundendatenbank ist morgens ausgelastet, eine andere nachmittags. Eigene Spitzenkapazität für jede Datenbank lässt Ressourcen ungenutzt. Ein Elastic Pool lässt separate Datenbanken auf demselben logischen SQL-Server Rechenkapazität teilen; Tabellen und Berechtigungen bleiben getrennt.
Zwei Datenbanken vorbereiten
Verwende sql-ctappweu und sqldb-cloudtrips aus Azure SQL Database erstellen. Erstelle sie erneut, falls bereits gelöscht.
Erstelle eine weitere leere SQL-Datenbank:
Resource group: rg-cloudtrips-sql-test-weu
Database name: sqldb-customer2
Server: sql-ctappweu (vorhandenen Server auswählen)
Workload environment: Development
Elastic pool: No (beide werden anschließend verschoben)
Compute + storage: Basic
Verwende gegebenenfalls deinen abweichenden Servernamen. Beide Datenbanken müssen auf demselben Server liegen, um dem Pool beizutreten.
Gemeinsamen Pool erstellen
Öffne am Server Elastic pools → Add oder suche nach SQL elastic pools → Create. Wähle dieselbe Ressourcengruppe und denselben Server und nenne den Pool pool-ctshared.
Wähle unter Configure pool die Ebene Standard, 100 eDTUs und deaktivierte Zonenredundanz. Prüfe die angezeigte Speicherzuweisung und die Kosten.

Prüfe, dass der Pool insgesamt 100 eDTUs bereitstellt. Eine elastic Database Transaction Unit (eDTU) misst gebündelte Rechen- und I/O-Kapazität, die sich die Datenbanken teilen.
Setze unter Per database settings das Minimum auf 0 DTUs und das Maximum auf 50 DTUs.

Jede Datenbank kann bis zu 50 DTUs innerhalb der insgesamt 100 eDTUs nutzen. Minimum 0 reserviert keine Mindestkapazität; Datenbanken nutzen freie Ressourcen nach Bedarf. Der Pool bleibt auch ohne Last bereitgestellt und kostenpflichtig.
Wähle unter Databases → Add databases die Datenbanken sqldb-cloudtrips und sqldb-customer2. Übernimm die Konfiguration und erstelle den Pool.
Falls das Verschieben im Portal scheitert
Meldet das Portal eine ungültige Edition wie System, versuche das Verschieben direkt per SQL. Verbinde dich in der MSSQL-Erweiterung von VS Code als ctadmin mit deinem Server und wähle master als Datenbank. Führe die Anweisungen einzeln aus:
ALTER DATABASE [sqldb-cloudtrips]
MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = [pool-ctshared]));
ALTER DATABASE [sqldb-customer2]
MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = [pool-ctshared]));
Jede Anweisung verschiebt die genannte Datenbank in den vorhandenen Pool, sodass sie dessen Rechenressourcen teilt. Tabellen, Daten, Datenbanknamen und Serveradresse bleiben erhalten. Verbindungen können kurz abbrechen; scheitert auch SQL, prüfe vor einem erneuten Versuch dessen Fehlerdetails.
Zugehörigkeit und Auslastung prüfen
Warte auf den Abschluss der Bereitstellung und Datenbankverschiebungen. Öffne pool-ctshared → Databases.

Prüfe, dass beide Datenbanken zu pool-ctshared gehören; Serveradresse und Datenbanknamen bleiben gleich. Das Verschieben kann Verbindungen kurz unterbrechen; verbinde dich bei Bedarf erneut.
Betrachte unter Monitoring → Metrics des Pools DTU percentage und vergleiche die Datenbankmetriken. Ruhige Testdatenbanken zeigen möglicherweise wenig Auslastung. Teilen lohnt sich bei unterschiedlichen Lastspitzen; gleichzeitige hohe Last kann einen größeren Pool erfordern. Vergleiche den Poolpreis mit separaten Datenbanken für deine tatsächliche Last.
Bereinigen
Lösche nach Abschluss rg-cloudtrips-sql-test-weu. Zum Behalten der Datenbanken verschiebe jede über Compute + storage in eine passende eigenständige Dienstebene. Lösche nach Abschluss beider Verschiebungen den leeren Pool. Auch ein leerer Pool verursacht weiterhin Kosten.