Azure Databases Azure Databases
Technische Referenz auf Level 500 für Azure SQL Database, Azure SQL Managed Instance, Azure Cosmos DB, PostgreSQL Flexible Server, MySQL Flexible Server, Azure Cache for Redis und Azure Database Migration Service. Fokus: Architekturentscheidungen, HA/DR, Kostenmodelle, Netzdesign, Sicherheit, Migration und Betrieb. Level 500 technical reference for Azure SQL Database, Azure SQL Managed Instance, Azure Cosmos DB, PostgreSQL Flexible Server, MySQL Flexible Server, Azure Cache for Redis, and Azure Database Migration Service. Focus: architecture choices, HA/DR, cost models, network design, security, migration, and operations.
Die Auswahl zwischen Azure SQL, Cosmos DB, PostgreSQL, MySQL, Redis oder DMS prägt Kostenstruktur, SLA, Migrationspfad, Betriebsprozesse, Netzwerkarchitektur und das benötigte Skillset. Fehler in dieser frühen Entscheidung werden später fast immer als Performance-, Sicherheits- oder Budgetproblem sichtbar. Choosing between Azure SQL, Cosmos DB, PostgreSQL, MySQL, Redis, or DMS shapes cost structure, SLA, migration path, operating processes, network architecture, and the required skill set. Mistakes in this early decision almost always resurface later as performance, security, or budget issues.
DTU-basierte Azure-SQL-Modelle, vCore-basierte PaaS-Tiers und Cosmos-DB-RU/s messen völlig unterschiedliche Ressourcenmodelle. Besonders bei Cosmos DB führt eine schlechte RU-Planung mit ungeeignetem Partition Key schnell zu Hot Partitions, 429-Throttling und massivem Overprovisioning. DTU-based Azure SQL models, vCore-based PaaS tiers, and Cosmos DB RU/s measure entirely different resource models. In Cosmos DB especially, poor RU planning with an unsuitable partition key quickly leads to hot partitions, 429 throttling, and severe overprovisioning.
Servicetaxonomie, SLA, Betriebsmodell und Architekturgrenzen. Service taxonomy, SLA, operating model, and architecture boundaries.
Azure SQL Database, Hyperscale, Security und Geo-DR. Azure SQL Database, Hyperscale, security, and geo DR.
RU/s, Konsistenzmodelle, APIs, Partitionierung und globale Verteilung. RU/s, consistency models, APIs, partitioning, and global distribution.
PostgreSQL und MySQL Flexible Server, Erweiterungen, HA und Replikation. PostgreSQL and MySQL Flexible Server, extensions, HA, and replication.
Clustering, Enterprise-Module, Flash-Tiering und Persistenzdesign. Clustering, enterprise modules, flash tiering, and persistence design.
Assessment, DMS, Cutover, Validierung und Troubleshooting. Assessment, DMS, cutover, validation, and troubleshooting.
Servicevergleich und Architekturrahmen Service comparison and architectural frame
Azure-Datenbankdienste unterscheiden sich nicht nur nach relational versus NoSQL. Entscheidend sind Isolationseinheit, Konnektivitätsmodell, Betriebsgrenze, Replikationssemantik und die Frage, ob die Plattform oder das Anwendungsteam das meiste Tuning tragen soll. Azure database services differ by much more than relational versus NoSQL. The critical dimensions are the isolation unit, connectivity model, operational boundary, replication semantics, and whether the platform or the application team is expected to carry most of the tuning effort.
Für Enterprise-Architekturen lohnt sich ein Vergleich entlang von RPO/RTO, Identitätsintegration, Netzwerkprivatisierung, Schema-Kompatibilität, Read/Write-Mustern und der Fähigkeit, horizontal zu skalieren. Die folgende Matrix fasst die technisch relevanten Unterschiede zusammen. For enterprise architectures it pays to compare services by RPO/RTO, identity integration, network privatization, schema compatibility, read/write patterns, and the ability to scale horizontally. The following matrix summarizes the technically relevant differences.
| Dienst Service | Engine oder API Engine or API | SLA / Verfügbarkeitsziel SLA / availability target | HA-Modell HA model | Max. Storage Max storage | Backup / PITR Backup / PITR | Authentifizierung Authentication | Open-Source-Kompatibilität Open-source compatibility |
|---|---|---|---|---|---|---|---|
| Azure SQL Database Azure SQL Database | SQL-Server-Engine als Single Database oder Elastic Pool. SQL Server engine as a single database or elastic pool. | Typischerweise 99,99 %, mit Zusatzoptionen für zonenredundante Resilienz. Typically 99.99%, with additional options for zone-redundant resilience. | Mehrere Replikate pro Datenbank; optional Active Geo-Replication oder Failover Group. Multiple replicas per database; optional active geo-replication or failover group. | Bis 100 TB in Hyperscale; kleinere Limits in GP und BC. Up to 100 TB in Hyperscale; smaller limits in GP and BC. | Automatische Backups mit PITR von 7 bis 35 Tagen und LTR bis zu Jahren. Automatic backups with 7 to 35 days of PITR and LTR for years. | SQL-Logins, Microsoft-Entra-ID, verwaltete Identitäten für Anwendungen. SQL logins, Microsoft Entra ID, and managed identities for applications. | Keine OSS-Engine; T-SQL- und SQL-Server-Kompatibilität steht im Vordergrund. No OSS engine; T-SQL and SQL Server compatibility are the focus. |
| Azure SQL Managed Instance Azure SQL Managed Instance | Instanznahe SQL-Server-PaaS-Plattform mit nahezu vollem Surface Area. Instance-level SQL Server PaaS platform with near-full surface area. | Typischerweise 99,99 %. Typically 99.99%. | General Purpose mit Remote Storage, Business Critical mit lokalen Replikaten. General Purpose with remote storage, Business Critical with local replicas. | Bis 8 TB je Instanz in den hier betrachteten Standarddesigns. Up to 8 TB per instance in the standard designs covered here. | Automatische Backups, PITR, LTR und Geo-Restore. Automatic backups, PITR, LTR, and geo-restore. | SQL-Logins, Microsoft-Entra-ID, kontrollierte VNet-Integration. SQL logins, Microsoft Entra ID, and controlled VNet integration. | Keine OSS-Engine; beste Wahl für SQL-Server-Lift-and-Shift. No OSS engine; best choice for SQL Server lift and shift. |
| Azure Cosmos DB for NoSQL Azure Cosmos DB for NoSQL | Natives JSON-Dokumentmodell mit Partition Key und SQL-ähnlicher Abfrage. Native JSON document model with partition key and SQL-like querying. | Bis 99,999 % für global verteilte Lese- und Schreibpfade. Up to 99.999% for globally distributed reads and writes. | Automatische Multi-Region-Replikation, optional Multi-Write. Automatic multi-region replication with optional multi-write. | Horizontal partitioniert; Speicherkapazität wächst über physische Partitionen. Horizontally partitioned; storage grows through physical partitions. | Periodische oder kontinuierliche Sicherung mit PITR im Continuous-Backup-Modus. Periodic or continuous backup with PITR in continuous backup mode. | Kontoschlüssel, Resource Tokens und Entra-RBAC für Datenebenenkontrolle. Account keys, resource tokens, and Entra RBAC for data-plane control. | Keine relationale OSS-Kompatibilität; native API bietet die meisten Features zuerst. No relational OSS compatibility; the native API receives the most features first. |
| Azure Cosmos DB for MongoDB Azure Cosmos DB for MongoDB | MongoDB-Wire-Protocol auf Cosmos-DB-Partitionierungs- und Replikationskern. MongoDB wire protocol on top of the Cosmos DB partitioning and replication core. | Bis 99,999 % bei globaler Verteilung. Up to 99.999% with global distribution. | Gleiche globale Replikationsarchitektur wie andere Cosmos-APIs. Same global replication architecture as other Cosmos APIs. | Horizontal skaliert; Design hängt von Partition Key und Throughput ab. Horizontally scaled; design depends on partition key and throughput. | Continuous oder periodic backup je Kontooption. Continuous or periodic backup by account option. | Mongo-Benutzer, Schlüssel, Netzwerkgrenzen; Kontrolle per Entra-RBAC im Control Plane. Mongo users, keys, and network boundaries; control through Entra RBAC in the control plane. | Hohe Protokollnähe, aber versions- und operatorabhängige Unterschiede zu Community MongoDB. High protocol affinity, but version- and operator-dependent differences from community MongoDB. |
| Azure Database for PostgreSQL - Flexible Server Azure Database for PostgreSQL - Flexible Server | Community-PostgreSQL als verwalteter Dienst mit kuratierter Extension-Auswahl. Community PostgreSQL as a managed service with a curated extension set. | 99,99 % mit aktivierter Hochverfügbarkeit. 99.99% with high availability enabled. | Same-Zone oder Zone-Redundant Hot Standby. Same-zone or zone-redundant hot standby. | Bis 64 TB mit Storage-Autogrow. Up to 64 TB with storage autogrow. | PITR von 7 bis 35 Tagen, geo-redundante Backups je Konfiguration. 7 to 35 days of PITR with geo-redundant backups depending on configuration. | Native Rollen, SCRAM, Microsoft-Entra-Authentifizierung. Native roles, SCRAM, and Microsoft Entra authentication. | Sehr hoch; ideal für PostgreSQL-kompatible Anwendungen und Erweiterungen. Very high; ideal for PostgreSQL-compatible applications and extensions. |
| Azure Database for MySQL - Flexible Server Azure Database for MySQL - Flexible Server | Community-MySQL als gemanagter Dienst für Web- und SaaS-Workloads. Community MySQL as a managed service for web and SaaS workloads. | 99,99 % mit HA-Konfiguration. 99.99% with HA configured. | Standby in derselben Zone oder zonenredundant, Read Replicas separat. Standby in the same zone or zone redundant, with separate read replicas. | Bis 32 TiB je nach Tier und Servergeneration. Up to 32 TiB depending on tier and server generation. | PITR von 1 bis 35 Tagen. 1 to 35 days of PITR. | Native Benutzer, TLS, Microsoft-Entra-Authentifizierung. Native users, TLS, and Microsoft Entra authentication. | Sehr hoch für MySQL-kompatible Anwendungen, aber servicebedingte Einschränkungen bleiben. Very high for MySQL-compatible applications, though service constraints remain. |
| Azure Cache for Redis Azure Cache for Redis | Redis-Protokoll; in Enterprise auf Redis-Enterprise-Technologie mit Modulen. Redis protocol; in Enterprise backed by Redis Enterprise technology with modules. | Je nach Tier typischerweise 99,9 bis 99,95 %. Typically 99.9 to 99.95% depending on tier. | Replikatpaare, Clustering und Geo-Replikation je nach SKU. Replica pairs, clustering, and geo-replication depending on SKU. | Von kleinen Caches bis in den TB-Bereich mit Enterprise Flash. From small caches to the TB range with Enterprise Flash. | RDB- und AOF-Persistenz statt klassischer PITR-Logik. RDB and AOF persistence instead of classic PITR semantics. | Access Keys, Entra-Authentifizierung, RBAC, TLS. Access keys, Entra authentication, RBAC, and TLS. | OSS-kompatibel in Basic, Standard und Premium; Enterprise erweitert das Modell. OSS compatible in Basic, Standard, and Premium; Enterprise extends the model. |
| Azure Database Migration Service Azure Database Migration Service | Orchestrierungsdienst für Datenbankmigration, kein Primärdatenspeicher. Migration orchestration service, not a primary data store. | Projektbezogener Dienst; wichtiger ist ein getestetes Migrationsfenster als OLTP-SLA. Project-focused service; a tested migration window matters more than an OLTP SLA. | Servicegesteuerte Worker in eigenem Subnetz, Quelle und Ziel bleiben die Datenhalter. Service-managed workers in their own subnet while source and target remain the data owners. | Kein Anwendungsstorage; speichert Migrationsmetadaten und Status. No application storage; it stores migration metadata and status. | Keine PITR-Funktion für Nutzdaten, nur Migrationsstatus und Telemetrie. No PITR for application data, only migration state and telemetry. | Anmeldeinformationen für Quelle und Ziel, RBAC im Azure-Control-Plane. Credentials for source and target plus RBAC in the Azure control plane. | Unterstützt proprietäre und OSS-Engines als Quelle oder Ziel. Supports proprietary and OSS engines as source or target. |
Azure SQL Database im Detail Azure SQL Database deep dive
Azure SQL Database ist das präziseste PaaS-Angebot für einzelne SQL-Server-Datenbanken oder Pool-Modelle. Es eignet sich hervorragend, wenn die Anwendung keine instanzweiten SQL-Server-Abhängigkeiten besitzt und das Team von automatisierter Sicherung, Patching, Telemetrie und hoher Plattformautomation profitieren will. Azure SQL Database is the most focused PaaS offering for single SQL Server databases or pool-based patterns. It works extremely well when the application has no instance-level SQL Server dependencies and the team wants to benefit from automated backup, patching, telemetry, and strong platform automation.
Architekturentscheidungen drehen sich hier vor allem um vCore versus DTU, General Purpose versus Business Critical, Hyperscale für sehr große OLTP-Systeme, sowie um die Wahl zwischen Single Database, Elastic Pool und Geo-DR-Topologien. Diese Entscheidungen prägen Kosten, Latenz und Betriebsmodell unmittelbar. Architecture decisions here revolve primarily around vCore versus DTU, General Purpose versus Business Critical, Hyperscale for very large OLTP systems, and the choice between single database, elastic pool, and geo-DR topologies. Those decisions directly shape cost, latency, and operations.
Hyperscale kann bis zu 100 TB erreichen und trennt Compute, Log Service und Storage voneinander. Dadurch lassen sich Named Replicas, schnelle Datenbankkopien und sehr große Datenmengen anders betreiben als in klassischen General-Purpose- oder Business-Critical-Datenbanken. Hyperscale can reach up to 100 TB and decouples compute, log service, and storage. That allows named replicas, fast database copies, and very large data volumes to be operated differently from classic general purpose or business critical databases.
| Option Option | Technische Einordnung Technical positioning | Stärken Strengths | Betriebshinweis Operational note |
|---|---|---|---|
| DTU-Modell DTU model | CPU, Memory und IO werden in einer abstrakten Kapazitätseinheit gebündelt. CPU, memory, and IO are bundled into an abstract capacity unit. | Einfach für kleine bis mittlere Workloads mit stabilen Mustern. Simple for small to medium workloads with stable patterns. | Kapazitätsengpässe sind schwerer einzelnen Ressourcen zuzuordnen als im vCore-Modell. Capacity bottlenecks are harder to attribute to individual resources than in the vCore model. |
| vCore-Modell vCore model | Explizite Auswahl von Compute, Storage und Generation. Explicit selection of compute, storage, and generation. | Transparentes Sizing, Hybrid Benefit und reservierte Kapazität sind besser planbar. Sizing transparency, Hybrid Benefit, and reserved capacity are easier to plan. | Die meisten Enterprise-Designs standardisieren heute auf vCore. Most enterprise designs now standardize on vCore. |
| Serverless Serverless | Nur in General Purpose; Compute skaliert innerhalb definierter Grenzen und kann pausieren. Only in General Purpose; compute scales within defined boundaries and can pause. | Kostenattraktiv für intermittierende Dev/Test- oder Low-Duty-Cycle-Workloads. Cost-effective for intermittent dev/test or low-duty-cycle workloads. | Auto-pause erzeugt Resume-Latenz und ist für 24x7-Low-Latency-OLTP meist ungeeignet. Auto-pause introduces resume latency and is usually unsuitable for 24x7 low-latency OLTP. |
| Hyperscale Hyperscale | Compute, Log Service und Storage sind entkoppelt; Named Replicas ermöglichen Scale-out-Reads. Compute, log service, and storage are decoupled; named replicas enable scale-out reads. | Schnelles Datenbankwachstum, schnelle Kopien und bis zu 100 TB. Fast database growth, fast copies, and up to 100 TB. | Architektur- und Kostenmodell unterscheiden sich deutlich von klassischen Single Databases. Its architecture and cost model differ significantly from classic single databases. |
| General Purpose General Purpose | Remote Premium Storage mit gutem Preis-Leistungs-Verhältnis. Remote premium storage with good price/performance. | Standard-OLTP, line-of-business Anwendungen, viele mittelgroße Datenbanken. Standard OLTP, line-of-business apps, and many mid-sized databases. | Höhere Storage-Latenz als Business Critical, dafür günstiger. Higher storage latency than Business Critical, but cheaper. |
| Business Critical Business Critical | Lokale SSD, mehrfache Replikate und niedrigere Latenz. Local SSD, multiple replicas, and lower latency. | IO-intensive OLTP, niedrige Latenz, höhere Resilienz im Primärbetrieb. IO-intensive OLTP, low latency, and stronger primary-site resilience. | Deutlich höhere Kosten; nur dort einsetzen, wo IO-Muster den Mehrwert liefern. Significantly higher cost; use it only where IO patterns justify the premium. |
| Feature Feature | Technisches Verhalten Technical behavior | Nutzen Benefit | Wichtige Grenzen Important limits |
|---|---|---|---|
| Active Geo-Replication Active geo-replication | Erzeugt bis zu vier lesbare Secondaries in anderen Regionen mit asynchroner Replikation. Creates up to four readable secondaries in other regions with asynchronous replication. | DR, Read Scale-out und regionale Entkopplung. DR, read scale-out, and regional separation. | Anwendung muss mit asynchronem Lag und manuellem Failover umgehen. The application must tolerate asynchronous lag and manual failover. |
| Auto-Failover Groups Auto-failover groups | Abstrahieren Server und Datenbanken hinter Read/Write- und Read-Only-Endpunkten. Abstract servers and databases behind read/write and read-only endpoints. | Einfachere Connection-String-Verwaltung und automatisiertes Geo-Failover. Simpler connection-string management and automated geo failover. | Nicht jede Topologie ersetzt application-level retry logic. Not every topology replaces application-level retry logic. |
| Zone-redundant HA Zone-redundant HA | Primäre Replikate werden über Availability Zones verteilt. Primary replicas are distributed across availability zones. | Besserer Schutz vor zonalen Ausfällen innerhalb einer Region. Stronger protection against zonal failures within a region. | Nicht in jeder Region und nicht in jeder Tier-Kombination verfügbar. Not available in every region or every tier combination. |
| Always Encrypted Always Encrypted | Clientseitige Spaltenverschlüsselung mit Schlüsseln außerhalb der Datenbank. Client-side column encryption with keys outside the database. | DBA-seitiger Zugriff auf Klartext kann begrenzt werden. DBA access to plaintext can be limited. | Treiber, Query-Patterns und Parameterisierung müssen kompatibel sein. Drivers, query patterns, and parameterization must be compatible. |
| TDE TDE | Verschlüsselt Daten, Logs und Backups at rest; Schlüssel können service- oder kundengesteuert sein. Encrypts data, logs, and backups at rest; keys can be service- or customer-managed. | Standardkontrolle für ruhende Daten ohne Applikationsumbau. Standard protection for data at rest without app redesign. | Schützt nicht vor privilegiertem Klartextzugriff auf Datenebene. It does not protect against privileged plaintext access at the data layer. |
| Ledger Ledger | Manipulationsnachweisende Tabellen und Digest-Ausgabe für externe Verifikation. Tamper-evident tables and digest output for external verification. | Integrität und Nachweisbarkeit für Audit- und Supply-Chain-Szenarien. Integrity and verifiability for audit and supply-chain scenarios. | Kein Ersatz für Backup, DR oder application-level authorization. Not a replacement for backup, DR, or application-level authorization. |
- Elastic Pools sind ideal für SaaS- oder Mandantenmuster, wenn viele Datenbanken schwankende Lasten teilen und eine einzelne Datenbank nur periodisch Spitzen erzeugt. Elastic pools are ideal for SaaS or tenant patterns where many databases share fluctuating demand and any one database peaks only periodically.
- Point-in-Time Restore ist standardmäßig mit 7 bis 35 Tagen verfügbar; Long-Term Retention deckt Monats- und Jahresaufbewahrung für Audit oder regulatorische Anforderungen ab. Point-in-time restore is available by default for 7 to 35 days; long-term retention covers monthly and yearly preservation for audit or regulatory needs.
- Maintenance Windows sollten explizit gesetzt werden, wenn Batchfenster, enge SLAs oder vendor-sensible Anwendungen planbare Wartungszeiten verlangen. Maintenance windows should be explicitly configured when batch windows, tight SLAs, or vendor-sensitive apps require predictable maintenance timing.
- Microsoft Defender for SQL liefert Bedrohungserkennung, Anomaliesignale und Schwachstellenbewertungen, ersetzt aber kein sauberes Least-Privilege-Modell. Microsoft Defender for SQL provides threat detection, anomaly signals, and vulnerability assessment, but it does not replace a sound least-privilege model.
- Azure-AD- beziehungsweise Microsoft-Entra-Authentifizierung sollte Standard für Benutzerkonten sein; SQL-Logins bleiben nur für Altanwendungen oder eng begrenzte Integrationen sinnvoll. Azure AD or Microsoft Entra authentication should be the standard for user accounts; SQL logins remain appropriate only for legacy applications or tightly bounded integrations.
- Automatic Tuning und Query Store sind besonders stark in Azure SQL, weil die Plattform Planregressionen und Indexempfehlungen direkt beobachtet. Automatic tuning and Query Store are especially strong in Azure SQL because the platform directly observes plan regressions and index opportunities.
- Connection Policy und Retry-Logik der Anwendung müssen zum Netzwerkdesign passen, insbesondere bei privaten Endpunkten, Gateways und regionalem Failover. The application connection policy and retry logic must match the network design, especially with private endpoints, gateways, and regional failover.
Azure SQL Managed Instance im Detail Azure SQL Managed Instance deep dive
Azure SQL Managed Instance richtet sich an Workloads, die zu groß, zu komplex oder zu instanznah für Azure SQL Database sind, aber trotzdem als PaaS betrieben werden sollen. Typische Kandidaten sind Vendor-Anwendungen, komplexe SQL-Agent-Topologien, Linked Servers oder Migrationen mit minimalen Codeänderungen. Azure SQL Managed Instance is aimed at workloads that are too large, too complex, or too instance-bound for Azure SQL Database, yet should still run as PaaS. Typical candidates are vendor applications, complex SQL Agent topologies, linked servers, or migrations that need minimal code changes.
Im Gegenzug für die hohe Kompatibilität bringt MI ein deutlich schwereres Netzwerk- und Lifecycle-Modell mit. Erstellungszeiten, Skalierung, DNS, Subnetzdelegation und Outbound-Abhängigkeiten sind operative Faktoren, keine Nebensachen. In exchange for that high compatibility, MI comes with a substantially heavier network and lifecycle model. Create times, scaling, DNS, subnet delegation, and outbound dependencies are operational factors, not side notes.
Azure SQL Managed Instance bietet nahezu 100 % SQL-Server-Kompatibilität und ist daher die bevorzugte PaaS-Zielplattform, wenn on-premises Anwendungen SQL Agent, Instanzfeatures oder wenig Änderungstoleranz mitbringen. Azure SQL Managed Instance provides close to 100% SQL Server compatibility and is therefore the preferred PaaS landing zone when on-premises applications depend on SQL Agent, instance features, or low change tolerance.
| Aspekt Aspect | Technische Details Technical details | Auswirkung auf den Betrieb Operational impact |
|---|---|---|
| General Purpose (Remote SSD) General Purpose (remote SSD) | Datendateien liegen auf remote angebundenem Storage; Compute und Storage sind stärker getrennt. Data files reside on remotely attached storage; compute and storage are more separated. | Gut für viele Standardmigrationen, aber nicht optimal für niedrigste IO-Latenz. Good for many standard migrations, but not ideal for the lowest IO latency. |
| Business Critical (Local NVMe) Business Critical (local NVMe) | Lokaler NVMe- beziehungsweise SSD-orientierter Storage mit zusätzlicher Replikation. Local NVMe- or SSD-oriented storage with additional replication. | Geeignet für hohe IOPS, kurze Latenzen und kritische OLTP-Workloads. Suitable for high IOPS, low latency, and critical OLTP workloads. |
| Maximale vCores Maximum vCores | Bis zu 80 vCores pro Instanz in den hier adressierten Standardgrenzen. Up to 80 vCores per instance in the standard limits addressed here. | Konsolidierung mehrerer Datenbanken auf einer Instanz bleibt möglich, braucht aber Sizing-Disziplin. Consolidating multiple databases on one instance remains possible, but requires sizing discipline. |
| Storage Storage | Bis 8 TB pro Instanz in vielen produktiven Standardmustern. Up to 8 TB per instance in many standard production patterns. | Storage-Wachstum muss früh geplant werden, weil ganze Instanzen migriert und gesichert werden. Storage growth must be planned early because entire instances are migrated and protected. |
| Management-Operationen Management operations | Erstellen, Skalieren und manche Wartungsvorgänge dauern eher Stunden als Minuten. Create, scale, and some maintenance operations take hours rather than minutes. | Change Windows und Vorlauf sind Pflicht; MI ist kein Instant-Resize-Dienst. Change windows and lead time are mandatory; MI is not an instant-resize service. |
| Subnet Delegation und VNet Injection Subnet delegation and VNet injection | Eine dedizierte, delegierte Subnetzgrenze ist Voraussetzung; DNS und UDR/NSG müssen sauber geplant werden. A dedicated delegated subnet boundary is required; DNS and UDR/NSG must be planned carefully. | Netzwerkdesign ist oft der eigentliche Projektrisikotreiber bei MI-Migrationen. Network design is often the real project risk driver for MI migrations. |
| Kompatibilitätsmerkmal Compatibility feature | Status Status | Planungshinweis Planning note |
|---|---|---|
| SQL Agent SQL Agent | Unterstützt und für viele Jobs nahezu identisch zu SQL Server nutzbar. Supported and usable for many jobs much like SQL Server. | Job-Eigentümer, Credentials und Wartungsfenster trotzdem gezielt testen. Still validate job owners, credentials, and maintenance windows carefully. |
| Linked Servers Linked servers | Breit unterstützt, sofern Netzwerkpfade und Provider passen. Broadly supported as long as network paths and providers fit. | Private DNS, Firewall und ausgehende Erreichbarkeit sind häufige Blocker. Private DNS, firewalls, and outbound reachability are common blockers. |
| CLR CLR | Hohe Kompatibilität, aber Sicherheits- und Assembly-Design müssen geprüft werden. High compatibility, but security and assembly design must be reviewed. | Unsichere oder externe Abhängigkeiten früh im Assessment identifizieren. Identify unsafe or external dependencies early during assessment. |
| Service Broker Service Broker | Für viele Patterns verfügbar und relevant für bestehende Workloads. Available for many patterns and relevant to existing workloads. | Broker-Topologien und Sicherheitsmodelle in Testmigrationen validieren. Validate broker topologies and security models in migration tests. |
| Database Mail Database Mail | Unterstützt, aber SMTP- und Netzwerkregeln müssen im Ziel neu bewertet werden. Supported, but SMTP and network rules must be reassessed in the target. | Outbound-Pfade sind in privaten Netzdesigns oft restriktiver als on premises. Outbound paths are often more restrictive in private network designs than on premises. |
| DTC-Unterstützung DTC support | Verteilte Transaktionen sind möglich, wenn Client, Treiber und Netzwerkdesign passen. Distributed transactions are possible when client, driver, and network design fit. | Gerade Legacy-ERP- oder Middleware-Szenarien brauchen gezielte End-to-End-Tests. Legacy ERP or middleware scenarios in particular need targeted end-to-end testing. |
- Instance Failover Groups erweitern MI um echte regionale DR-Endpunkte und vereinfachen die Umschaltung ganzer Anwendungspakete. Instance failover groups add true regional DR endpoints to MI and simplify failover of entire application stacks.
- TDE ist standardmäßig aktiv; mit CMK verschiebt sich die Governance auf Key Vault, inklusive Anforderungen an Schlüsselverfügbarkeit und Rotation. TDE is enabled by default; with CMK, governance shifts to Key Vault, including requirements for key availability and rotation.
- Always Encrypted ist auf MI relevant, wenn Datenbankadministratoren keine Klartextsicht auf bestimmte Spalten erhalten dürfen. Always Encrypted matters on MI when database administrators must not have plaintext access to certain columns.
- Advanced Threat Protection beziehungsweise Microsoft Defender for SQL liefert auch auf MI Angriffs- und Fehlkonfigurationssignale. Advanced Threat Protection, now surfaced through Microsoft Defender for SQL, also provides attack and misconfiguration signals on MI.
- SQL Server Migration Assistant ist besonders wertvoll, wenn Schemakonvertierungen, Codeanalyse oder der Wechsel von Nicht-SQL-Server-Quellen ansteht. SQL Server Migration Assistant is especially valuable when schema conversions, code analysis, or migrations from non-SQL Server sources are required.
- MI-Link- und Backup-basierte Hybridmuster sollten immer mit realer Latenz und Recovery-Simulation getestet werden. MI Link and backup-based hybrid patterns should always be tested with real latency and recovery simulations.
Azure Cosmos DB im Detail Azure Cosmos DB deep dive
Azure Cosmos DB ist kein relationaler Ersatz, sondern eine global verteilte Datenplattform mit expliziter Throughput-Währung, kontrollierter Konsistenz und API-spezifischen Programmiermodellen. Die drei wichtigsten Architekturentscheidungen sind API-Auswahl, Partition Key und Throughput-Strategie. Azure Cosmos DB is not a relational substitute but a globally distributed data platform with an explicit throughput currency, controlled consistency, and API-specific programming models. The three most important architecture decisions are API choice, partition key, and throughput strategy.
Teams unterschätzen häufig, dass RU/s nicht einfach Last abbildet, sondern die Kosten von Reads, Writes, Queries, Indexierung und Speicherzugriffen über das physische Partitionsmodell repräsentiert. Ein fachlich plausibler, aber technisch schlechter Partition Key zerstört Skalierung und Kostenmodell zugleich. Teams often underestimate that RU/s is not a simple load number; it prices reads, writes, queries, indexing, and storage access through the physical partition model. A partition key that looks sensible to the business but poor technically breaks both scale and cost efficiency.
Die fünf Konsistenzstufen von Cosmos DB handeln Latenz, Verfügbarkeit und Datenfrische gegeneinander aus. Wer Strong, Session oder Eventual ohne fachliche Herleitung auswählt, riskiert entweder unnötige Kosten oder fachlich schwer erkennbare Inkonsistenzen. Cosmos DB's five consistency levels trade latency, availability, and data freshness against one another. Choosing strong, session, or eventual without a business rationale risks either needless cost or subtle semantic inconsistency.
| API API | Datenmodell Data model | Abfrage oder Protokoll Query or protocol | Typischer Einsatz Typical use | Wichtiger Hinweis Key note |
|---|---|---|---|---|
| NoSQL API NoSQL API | JSON-Dokumente mit explizitem Partition Key. JSON documents with an explicit partition key. | SQL-ähnliche Syntax, SDK-first, serverseitige Stored Procedures je Partition. SQL-like syntax, SDK-first, server-side stored procedures per partition. | Cloud-native Transaktions- und Profilworkloads mit hoher globaler Verteilung. Cloud-native transactional and profile workloads with strong global distribution. | Die native API erhält Features und Performanceverbesserungen zuerst. The native API usually gets features and performance improvements first. |
| MongoDB API MongoDB API | Dokumentorientiertes Modell über Mongo-kompatibles Protokoll. Document model via a Mongo-compatible protocol. | Mongo-Treiber und Befehle, aber serviceabhängige Versionsgrenzen. Mongo drivers and commands, with service-dependent version boundaries. | Migration bestehender Mongo-Anwendungen mit globaler Replikation. Migration of existing Mongo applications with global replication. | Nicht jede Community-Erweiterung und jeder Operator verhält sich identisch. Not every community extension or operator behaves identically. |
| Cassandra API Cassandra API | Wide-Column-Modell mit Partition- und Clustering Keys. Wide-column model with partition and clustering keys. | CQL-kompatible Zugriffsmuster. CQL-compatible access patterns. | Write-heavy Telemetrie-, Event- und Time-Series-nahe Szenarien. Write-heavy telemetry, event, and time-series-adjacent scenarios. | Datenmodell muss für physische Partitionierung optimiert werden. The data model must be optimized for physical partitioning. |
| Gremlin API Gremlin API | Graphmodell aus Vertices und Edges. Graph model of vertices and edges. | Gremlin Traversals. Gremlin traversals. | Beziehungs- und Netzwerkgraphen mit globalem Fußabdruck. Relationship and network graphs with a global footprint. | Traversal-Kosten hängen stark von Partitionierung und Startknoten ab. Traversal cost depends heavily on partitioning and start vertices. |
| Table API Table API | Key-Value-ähnliches Schema mit PartitionKey und RowKey. Key-value-like schema with PartitionKey and RowKey. | Azure-Table-kompatibles Programmiermodell. Azure Table-compatible programming model. | Einfache Key-Lookup-Workloads und Legacy-Azure-Table-Migrationen. Simple key lookup workloads and legacy Azure Table migrations. | Featureumfang ist bewusst schmaler als bei der nativen NoSQL-API. The feature set is intentionally narrower than the native NoSQL API. |
| PostgreSQL API (distributed) PostgreSQL API (distributed) | Citus-basierte verteilte PostgreSQL-Topologie mit Coordinator und Worker-Knoten. Citus-based distributed PostgreSQL topology with coordinator and worker nodes. | PostgreSQL-SQL mit verteilungsbewusster Modellierung. PostgreSQL SQL with distribution-aware modeling. | Multi-Tenant-SaaS, verteilte relationale Workloads und horizontale Scale-out-Muster. Multi-tenant SaaS, distributed relational workloads, and horizontal scale-out patterns. | Nicht jede Erweiterung und nicht jedes Single-Node-Muster skaliert unverändert. Not every extension or single-node pattern scales unchanged. |
| Option Option | Konsistenzgarantie Consistency guarantee | Latenz- / Verfügbarkeitswirkung Latency / availability effect | Architekturhinweis Architecture note |
|---|---|---|---|
| Strong consistency Strong consistency | Linearizable Reads; Clients sehen stets den letzten bestätigten Write. Linearizable reads; clients always see the latest committed write. | Höchste Latenz und stärkste Einschränkungen für globale Verteilung. Highest latency and the strongest restrictions on global distribution. | Nur dort einsetzen, wo fachlich wirklich lineare Konsistenz verlangt wird. Use only where the business domain truly requires linearizable consistency. |
| Bounded Staleness Bounded staleness | Reads dürfen nur um definierte Zeit oder Versionen hinterherhinken. Reads may lag only by a defined time or number of versions. | Planbarer Kompromiss zwischen Frische und globaler Reichweite. A predictable compromise between freshness and global reach. | Gut für globale Anwendungen mit expliziten Staleness-SLOs. Good for global applications with explicit staleness SLOs. |
| Session Session | Monotonic Reads und Read-Your-Own-Writes innerhalb einer Sitzung. Monotonic reads and read-your-own-writes within a session. | Sehr guter Standardmix aus Latenz, Verfügbarkeit und Anwendungsverständnis. A very good default mix of latency, availability, and app semantics. | Der Default für viele produktive Apps, solange Sitzungsbindung sauber umgesetzt ist. The default for many production apps as long as session affinity is handled correctly. |
| Consistent Prefix Consistent prefix | Clients sehen keine Reihenfolgeumkehr, aber aktuelle Writes können fehlen. Clients never observe out-of-order writes, but may miss recent ones. | Niedrige Latenz bei geordneter Ereignisfolge. Low latency while preserving event ordering. | Passend für Event-Streams, bei denen Reihenfolge wichtiger als Frische ist. Fits event streams where order matters more than freshness. |
| Eventual Eventual | Keine Frischegarantie, nur letztendliche Konvergenz. No freshness guarantee, only eventual convergence. | Niedrigste Latenz und höchste geografische Flexibilität. Lowest latency and highest geographic flexibility. | Nur für klar tolerierte Stale-Read-Szenarien verwenden. Use only when stale reads are explicitly acceptable. |
| Multi-region writes Multi-region writes | Writes können in mehreren Regionen angenommen werden; Konfliktauflösung bleibt Designaufgabe. Writes can be accepted in multiple regions; conflict resolution remains a design concern. | Reduziert Write-Latenz global, erhöht aber Komplexität bei Konflikten. Reduces global write latency but increases conflict complexity. | Mit Session oder Bounded Staleness ist der Betrieb oft beherrschbarer als mit Strong. Operations are often easier with session or bounded staleness than with strong consistency. |
- RU/s müssen immer zusammen mit Indexing Policy, Item-Größe, Konsistenzgrad und Hot-Partition-Risiko geplant werden. RU/s must always be planned together with indexing policy, item size, consistency level, and hot-partition risk.
- Autoscale skaliert die bereitgestellte Leistung automatisch bis zum konfigurierten Maximum; typisch ist ein Wirkbereich zwischen 10 % und 100 % des Maximalwerts. Autoscale automatically scales provisioned throughput up to the configured maximum; the practical operating band is typically 10% to 100% of that maximum.
- Serverless eignet sich für niedrige Durchschnittslast, Entwicklung, sporadische Integrationen oder kleine produktive Spikeworkloads ohne dauerhaft reservierte RU/s. Serverless fits low average demand, development, sporadic integrations, or small spiky workloads without permanently reserved RU/s.
- Change Feed liefert einen geordneten Änderungsstrom pro logischer Partition und ist die Basis für Event-getriebene Folgeprozesse, Materialized Views oder CDC-nahe Integrationen. Change feed provides an ordered stream of changes per logical partition and forms the basis for event-driven downstream processing, materialized views, or CDC-like integrations.
- Analytical Store und Synapse Link entkoppeln analytische Abfragen vom transaktionalen RU-Budget und sind deshalb oft günstiger als ETL-Kopien auf Anforderung. Analytical store and Synapse Link decouple analytical queries from the transactional RU budget and are therefore often cheaper than ad-hoc ETL copies.
- TTL automatisiert das Auslaufen von Daten und ist besonders wertvoll für Session-, Telemetrie- oder Eventdaten mit klarer Aufbewahrungslogik. TTL automates data expiry and is especially valuable for session, telemetry, or event data with clear retention logic.
- CMK und Private Endpoints gehören in regulierten Umgebungen ebenso zum Standard wie Entra-RBAC für datennahe Operatorrollen. CMK and private endpoints belong in regulated environments just as much as Entra RBAC for data-adjacent operator roles.
- Multi-Region-Writes verbessern globale Latenz, verlangen aber bewusste Konfliktregeln und Idempotenz auf Anwendungsebene. Multi-region writes improve global latency but require deliberate conflict rules and application-level idempotency.
- 429-Throttling ist kein reiner Performancefehler, sondern ein Signal für falsch dimensionierte RU/s, Hot Partitions oder ineffiziente Query-/Indexmuster. 429 throttling is not merely a performance fault; it signals poorly sized RU/s, hot partitions, or inefficient query and indexing patterns.
PostgreSQL Flexible Server im Detail PostgreSQL Flexible Server deep dive
Azure Database for PostgreSQL - Flexible Server ist heute das bevorzugte PaaS-Ziel für PostgreSQL-Workloads in Azure. Der Dienst kombiniert weitgehende PostgreSQL-Kompatibilität mit zonenfähiger Hochverfügbarkeit, geplanter Wartung, nativer Replikation und moderner Netzwerkisolation. Azure Database for PostgreSQL - Flexible Server is the preferred PaaS target for PostgreSQL workloads in Azure today. It combines strong PostgreSQL compatibility with zone-aware high availability, planned maintenance, native replication, and modern network isolation.
Die zentralen Designhebel sind Compute-Tier, HA-Modus, Connection Pooling, Extension-Kompatibilität und das Verhältnis von Arbeitssatz zu verfügbarem RAM. In PostgreSQL entscheidet guter Plattformbetrieb oft stärker über Erfolg als der reine Migrationsmechanismus. The central design levers are compute tier, HA mode, connection pooling, extension compatibility, and the ratio of working set to available RAM. For PostgreSQL, sound platform operations often matter more to success than the migration mechanism.
Verwenden Sie zone-redundant HA mit Hot Standby für Produktion und same-zone HA eher für Development, Test oder weniger kritische interne Anwendungen. Die Differenz ist architekturell relevant, weil sie Zonenresilienz, Kosten und Failover-Topologie gleichzeitig bestimmt. Use zone-redundant HA with hot standby for production and reserve same-zone HA more for development, test, or less critical internal applications. The difference is architecturally important because it determines zone resilience, cost, and failover topology simultaneously.
| Aspekt Aspect | Technische Einordnung Technical positioning | Wann sinnvoll When it fits |
|---|---|---|
| Burstable Tier Burstable tier | Kostengünstige CPU-Burst-Klasse für Development, Tests und kleine Verwaltungsdatenbanken. Low-cost burst CPU class for development, tests, and small administrative databases. | Wenn Lastspitzen kurz sind und die meiste Zeit wenig CPU benötigt wird. When load spikes are short and CPU demand is low most of the time. |
| General Purpose Tier General Purpose tier | Ausgewogene Kombination aus Compute, Memory und IOPS für Standard-OLTP. Balanced mix of compute, memory, and IOPS for standard OLTP. | Für die meisten Produktionsanwendungen mit moderatem Arbeitssatz. For most production applications with moderate working sets. |
| Memory Optimized Tier Memory Optimized tier | Mehr RAM pro vCore für große Buffer Caches, mehr parallele Sessions und In-Memory-nahe Workloads. More RAM per vCore for larger buffer caches, more parallel sessions, and memory-heavy workloads. | Wenn join-intensive OLTP- oder Extension-Workloads viel Arbeitsspeicher brauchen. When join-intensive OLTP or extension-heavy workloads require substantial memory. |
| Zone-redundant HA Zone-redundant HA | Primär und Hot Standby liegen in unterschiedlichen Availability Zones. Primary and hot standby reside in different availability zones. | Produktionsstandard für geschäftskritische Datenbanken in zonenfähigen Regionen. The production standard for business-critical databases in zone-capable regions. |
| Read Replicas Read replicas | Asynchrone Read-Only-Replikate, je nach Region auch cross-region nutzbar. Asynchronous read-only replicas, in some regions also usable cross-region. | Reporting, Read-Scale-out und entkoppelte BI- oder ETL-Leselasten. Reporting, read scale-out, and decoupled BI or ETL read workloads. |
| Storage Auto-Grow bis 64 TB Storage auto-grow up to 64 TB | Speicher wächst ohne Rebuild des Servers und kann mit Auto-Grow gesteuert werden. Storage grows without rebuilding the server and can be driven by auto-grow. | Sinnvoll für organisch wachsende OLTP-Datenbanken mit planbaren Aufbewahrungsfristen. Useful for organically growing OLTP databases with predictable retention windows. |
| Funktion Feature | Details Details | Betriebshinweis Operational note |
|---|---|---|
| Extensions Extensions | Typische produktive Erweiterungen sind pgvector, pg_partman, pg_stat_statements, PostGIS und timescaledb. Common production extensions include pgvector, pg_partman, pg_stat_statements, PostGIS, and timescaledb. | Vor Upgrades immer auf Versionskompatibilität und Managed-Service-Support prüfen. Always validate version compatibility and managed-service support before upgrades. |
| PgBouncer PgBouncer | Integrierter Connection Pooler reduziert Backend-Connection-Last. Integrated connection pooler reduces backend connection load. | Pflichtwerkzeug für Microservices oder Functions mit vielen kurzlebigen Verbindungen. A must-have for microservices or functions with many short-lived connections. |
| Major Version Upgrade Major version upgrade | Geplant, servicegestützt und mit Vorabtests für Extensions und Query-Pläne. Planned, service-assisted, and preceded by extension and query-plan testing. | Upgrade-Fenster brauchen echte Produktions-Replays, nicht nur synthetische Smoke Tests. Upgrade windows need true production replays, not just synthetic smoke tests. |
| AAD / Entra Auth AAD / Entra auth | Benutzer und Gruppen aus Microsoft Entra können für Datenbankanmeldung genutzt werden. Users and groups from Microsoft Entra can be used for database sign-in. | Hilft, Passwortinseln zu vermeiden, ersetzt aber keine Rollenmodellierung in PostgreSQL. Helps avoid password islands, but does not replace PostgreSQL role modeling. |
| SCRAM SCRAM | SCRAM-SHA-256 ist der bevorzugte Passwortmechanismus für native PostgreSQL-Benutzer. SCRAM-SHA-256 is the preferred password mechanism for native PostgreSQL users. | MD5-Altlasten sollten vor Migrationen bereinigt werden. Legacy MD5 usage should be cleaned up before migrations. |
| CMK CMK | Customer-Managed Keys ermöglichen kundenseitige Kontrolle des TDE-Schlüssels. Customer-managed keys allow customer control of the TDE key. | Key Vault-Verfügbarkeit und Rotation gehören in jede DR- und Betriebsplanung. Key Vault availability and rotation belong in every DR and operations design. |
- Point-in-Time Restore ist mit 7 bis 35 Tagen verfügbar und stellt den Dienst als neuen Server zu einem exakten Zeitpunkt bereit. Point-in-time restore is available for 7 to 35 days and restores the service as a new server at an exact timestamp.
- Automatische Patches und geplante Wartungsfenster reduzieren Betriebsaufwand, verlangen aber dennoch Kompatibilitätstests für Extensions und Treiber. Automatic patching and planned maintenance windows reduce operational overhead, but still require compatibility testing for extensions and drivers.
- Query Performance Insight und pg_stat_statements sollten gemeinsam genutzt werden, um Top-SQL, Wait-Muster und Planänderungen zu verstehen. Query Performance Insight and pg_stat_statements should be used together to understand top SQL, wait patterns, and plan changes.
- Private DNS Zones sind bei privatem Zugriff kein Detail, sondern Voraussetzung für zuverlässige Namensauflösung aus App-Subnets und Hybridnetzen. Private DNS zones are not an implementation detail under private access; they are a prerequisite for reliable name resolution from app subnets and hybrid networks.
- Delegierte Subnetze beziehungsweise VNet-Integration müssen gemeinsam mit Routing, NSG und ausgehenden Abhängigkeiten geplant werden. Delegated subnets and VNet integration must be designed together with routing, NSGs, and outbound dependencies.
- Read Replicas sind für Reporting wertvoll, ersetzen aber kein robustes Backup- und PITR-Konzept. Read replicas are valuable for reporting, but they do not replace a robust backup and PITR strategy.
MySQL Flexible Server im Detail MySQL Flexible Server deep dive
Azure Database for MySQL - Flexible Server ist das verwaltete Ziel für moderne MySQL-Anwendungen in Azure. Besonders im Web-, CMS-, SaaS- und E-Commerce-Umfeld profitieren Teams von automatischer Sicherung, planbarer Wartung, privater Netzwerkintegration und HA ohne Aufbau eigener Replikationstopologien. Azure Database for MySQL - Flexible Server is the managed destination for modern MySQL applications in Azure. In web, CMS, SaaS, and e-commerce scenarios especially, teams benefit from automatic backup, predictable maintenance, private networking, and HA without building their own replication topology.
Wichtige Unterschiede zu selbstverwaltetem MySQL liegen in Netzwerkpfaden, TLS-Erzwingung, Backup-Semantik, Maintenance Windows und im Limitsmodell für Verbindungen und Replikate. Erfolgreiche Migrationen testen diese Unterschiede vor dem ersten Produktionscutover. Key differences from self-managed MySQL lie in network paths, TLS enforcement, backup semantics, maintenance windows, and the limits model for connections and replicas. Successful migrations test those differences before the first production cutover.
| Aspekt Aspect | Technische Details Technical details | Planungshinweis Planning note |
|---|---|---|
| Burstable Burstable | Günstiges Einstiegsmodell für kleine Entwicklungs- und Testumgebungen. Cost-effective entry model for small dev and test environments. | Nicht für konstante CPU-Last oder harte Produktions-SLOs dimensionieren. Do not size it for constant CPU load or strict production SLOs. |
| General Purpose General Purpose | Ausgewogene CPU-, RAM- und Storage-Klasse für Standardanwendungen. Balanced CPU, RAM, and storage class for standard applications. | Für Web-Backends und klassische Geschäftsanwendungen meist der erste Kandidat. Usually the first candidate for web backends and traditional business apps. |
| Memory Optimized Memory Optimized | Mehr Arbeitsspeicher pro vCore für cachelastige oder joinstarke Workloads. More memory per vCore for cache-heavy or join-intensive workloads. | Hilfreich bei hohen Buffer-Pool-Anforderungen und vielen gleichzeitigen Sessions. Helpful for large buffer pool requirements and many concurrent sessions. |
| Zone-redundant HA Zone-redundant HA | Standby wird in einer zweiten Zone gehalten und übernimmt bei Fehlern. A standby is kept in a second zone and takes over on failure. | Produktionsstandards sollten Zonenfähigkeit der Zielregion prüfen, bevor das Landing-Zone-Design finalisiert wird. Production standards should verify regional zone support before finalizing the landing zone design. |
| Read Replicas (bis zu 5) Read replicas (up to 5) | Asynchrone Replikate entlasten Reads und Reporting. Asynchronous replicas offload reads and reporting. | Lag-Monitoring ist für Cutover- oder Reporting-Szenarien unverzichtbar. Lag monitoring is essential for cutover or reporting scenarios. |
| TLS Enforcement TLS enforcement | Der Dienst erzwingt verschlüsselte Verbindungen und unterstützt Zertifikatsvalidierung. The service enforces encrypted connections and supports certificate validation. | Altanwendungen mit unsicheren Clients müssen vor der Migration aktualisiert werden. Legacy apps with insecure clients must be updated before migration. |
- Automatische Minor-Version-Upgrades reduzieren Patchaufwand, müssen aber mit Treibern, ORM-Versionen und SQL-Modus getestet werden. Automatic minor version upgrades reduce patch effort, but must be tested with drivers, ORM versions, and SQL mode.
- Im Stopped State pausiert die Compute-Abrechnung, während Storage und Backups weiterhin Kosten verursachen können. In the stopped state, compute billing pauses while storage and backups can continue to incur cost.
- PITR von 1 bis 35 Tagen deckt operative Fehler gut ab, ersetzt aber keine Langzeitarchivierung oder fachliche Exportpflichten. One to 35 days of PITR covers operational mistakes well, but does not replace long-term archiving or business export obligations.
- Slow Query Logs und Performance-Metriken sollten früh aktiviert werden, damit nach dem Cutover sofort echte Tuningdaten vorliegen. Slow query logs and performance metrics should be enabled early so real tuning data is available immediately after cutover.
- CMK ist in regulierten Umgebungen relevant, weil Schlüsselrotation und Sperrung dann in den Governance-Prozess des Kunden integriert werden. CMK matters in regulated environments because key rotation and key disablement then integrate into the customer's governance process.
- Azure-AD- beziehungsweise Microsoft-Entra-Authentifizierung reduziert lokale Passwortkonten und verbessert die Nachvollziehbarkeit von Adminzugriffen. Azure AD or Microsoft Entra authentication reduces local password accounts and improves traceability of admin access.
- Read Replicas sollten mit echter Anwendungslast getestet werden, weil ORM-Patterns und schreibabhängige Reads häufig unerwartete Konsistenzannahmen enthalten. Read replicas should be tested with real application load because ORM patterns and write-dependent reads often carry hidden consistency assumptions.
Azure Cache for Redis im Detail Azure Cache for Redis deep dive
Azure Cache for Redis ist kein Ersatz für eine Primärdatenbank, sondern ein Beschleunigungs- und Entkopplungsdienst für Sitzungsspeicher, Token, Konfigurationsdaten, Suchstrukturen, Ranglisten, Materialized Views und Queue-nahe Muster. Architekturfehler entstehen oft dann, wenn Redis als dauerhaft verlässlicher System of Record behandelt wird. Azure Cache for Redis is not a replacement for a primary database but an acceleration and decoupling service for session storage, tokens, configuration, search structures, leaderboards, materialized views, and queue-adjacent patterns. Architectural mistakes often appear when Redis is treated as a permanently reliable system of record.
Die wesentlichen Entwurfsfragen sind Tierwahl, Persistenzbedarf, Clusterfähigkeit, Modulnutzung, Private Networking und Eviction-Strategie. Für Enterprise-Designs sind diese Punkte genauso wichtig wie reiner Speicherbedarf. The essential design questions are tier choice, persistence needs, clusterability, module usage, private networking, and eviction strategy. For enterprise designs, these points matter as much as raw memory capacity.
Enterprise Flash nutzt NVMe-Speicher für große Datensätze mit geringeren Kosten pro GB. Ohne aktivierte Persistenz und ohne getestete Recovery-Strategie kann jedoch bei Ausfällen oder Rebuild-Szenarien weiterhin Datenverlust auftreten. Enterprise Flash uses NVMe storage for large datasets at a lower cost per GB. Without enabled persistence and a tested recovery strategy, data loss can still occur during failures or rebuild scenarios.
| Tier oder Fähigkeit Tier or capability | Architektur Architecture | Wann einsetzen When to use | Wichtiger Hinweis Important note |
|---|---|---|---|
| Basic / Standard / Premium (OSS) Basic / Standard / Premium (OSS) | Basic ohne Replikat, Standard mit Replikat, Premium mit Persistenz, Clustering und VNet-Optionen. Basic without a replica, Standard with a replica, and Premium with persistence, clustering, and VNet options. | Einfaches Caching bis zu geschäftskritischen In-Memory-Szenarien mit Premium. Simple caching up to business-critical in-memory scenarios with Premium. | Premium ist oft das eigentliche Minimum für produktive Enterprise-Workloads. Premium is often the real minimum for production enterprise workloads. |
| Enterprise Enterprise | Redis Enterprise Engine mit erweiterten Modulen und höheren Skalengrenzen. Redis Enterprise engine with advanced modules and higher scale limits. | Wenn RediSearch, RedisJSON oder Active-Active-Patterns benötigt werden. When you need RediSearch, RedisJSON, or active-active patterns. | Preisstruktur und Speichersemantik unterscheiden sich deutlich von OSS-Tiers. Price structure and memory semantics differ significantly from OSS tiers. |
| Enterprise Flash Enterprise Flash | RAM plus NVMe-Tiering für große Datensätze zu niedrigeren Kosten pro GB. RAM plus NVMe tiering for large datasets at a lower cost per GB. | Große Session Stores, Kataloge oder semipersistente Hot/Cold-Caches. Large session stores, catalogs, or semi-persistent hot/cold caches. | Flash senkt Kosten, ersetzt aber kein korrektes Persistenz- und Recovery-Design. Flash reduces cost, but does not replace proper persistence and recovery design. |
| Geo-replication (passive + active) Geo-replication (passive + active) | Passive Geo-Replication für DR, active-active in Enterprise für globale Schreibpfade. Passive geo-replication for DR, active-active in Enterprise for global write paths. | Regionale Resilienz und lokale Zugriffszeiten für verteilte Anwendungen. Regional resilience and local access times for distributed applications. | Konfliktverhalten und Konsistenz müssen anwendungsseitig verstanden werden. Conflict behavior and consistency must be understood at the application layer. |
| Clustering Clustering | Daten werden über Shards mittels Hash Slots verteilt. Data is distributed across shards using hash slots. | Horizontale Skalierung von Throughput und Speicherkapazität. Horizontal scaling of throughput and storage capacity. | Multi-Key-Operationen und Lua-Skripte über Hash-Slot-Grenzen erfordern Design-Disziplin. Multi-key operations and Lua scripts across hash-slot boundaries require design discipline. |
| Persistenz (RDB / AOF) Persistence (RDB / AOF) | Snapshot- oder Append-Only-Log-basierte Datensicherung je Tier. Snapshot- or append-only-log-based data protection depending on tier. | Sinnvoll, wenn Cache-Daten teuer neu aufzubauen sind oder Recovery-Time wichtig ist. Useful when cache data is expensive to rebuild or recovery time matters. | Persistenz reduziert nicht automatisch jedes Datenverlustfenster; Test-Restores bleiben Pflicht. Persistence does not automatically eliminate every data-loss window; test restores remain mandatory. |
| Feature Feature | Details Details | Betriebshinweis Operational note |
|---|---|---|
| AAD / Entra Auth AAD / Entra auth | Tokenbasierte Anmeldung reduziert statische Schlüsselverteilung. Token-based sign-in reduces static key distribution. | Token-Lebensdauer und Client-Libraries im Betrieb testen. Test token lifetime and client libraries in production-like conditions. |
| RBAC RBAC | Steuert Verwaltungszugriffe und je nach Tier feinere Datenzugriffspfade. Controls management access and, depending on tier, finer-grained data access paths. | RBAC ersetzt keine saubere Netzsegmentierung. RBAC does not replace sound network segmentation. |
| TLS 1.2 Enforcement TLS 1.2 enforcement | Alle produktiven Endpunkte sollten ausschließlich verschlüsselte Verbindungen nutzen. All production endpoints should use encrypted connections only. | Unsichere Altclients früh identifizieren und den Non-SSL-Port deaktivieren. Identify insecure legacy clients early and disable the non-SSL port. |
| Module Modules | RediSearch, RedisJSON und RedisTimeSeries erweitern Redis zu einer Such-, JSON- und Time-Series-Plattform. RediSearch, RedisJSON, and RedisTimeSeries extend Redis into a search, JSON, and time-series platform. | Module verändern Memory-Profile und Abfragemuster erheblich. Modules materially change memory profiles and query patterns. |
| Eviction Policies Eviction policies | allkeys-lru, volatile-lru und noeviction definieren, was unter Speicherdruck geschieht. allkeys-lru, volatile-lru, and noeviction define what happens under memory pressure. | Eviction ist ein Produktmerkmal, kein Notfallmodus; sie muss bewusst gewählt werden. Eviction is a product feature, not an emergency mode; choose it deliberately. |
| Keyspace Notifications Keyspace notifications | Events für Expiry und Mutationen können an Subscriber gesendet werden. Events for expiry and mutations can be sent to subscribers. | Nützlich für Workflows, aber nicht als zuverlässiger Ersatz für persistente Event-Systeme. Useful for workflows, but not a reliable replacement for durable event systems. |
- Zonenredundanz sollte für kritische Produktionscaches geprüft werden, sofern SKU und Region dies unterstützen. Zone redundancy should be evaluated for critical production caches where the SKU and region support it.
- Private Endpoints sind der bevorzugte Zugangspfad; bei Premium kann zusätzlich VNet-Injection für engere Netzsteuerung relevant sein. Private endpoints are the preferred access path; Premium can additionally use VNet injection where tighter network control is needed.
- Deaktivieren Sie den Non-SSL-Port standardmäßig und validieren Sie TLS auf allen Clients, Build Agents und Batchprozessen. Disable the non-SSL port by default and validate TLS across all clients, build agents, and batch processes.
- Persistenz braucht Restore-Tests; ein aktivierter Haken allein beantwortet keine RPO/RTO-Frage. Persistence requires restore tests; an enabled checkbox alone does not answer the RPO/RTO question.
- Clustering beeinflusst Key-Design, Lua, Pub/Sub und Multi-Key-Operationen; diese Wechselwirkungen müssen Entwicklerteams kennen. Clustering affects key design, Lua, Pub/Sub, and multi-key operations; engineering teams must understand those interactions.
- Cache-Hit-Rate, Evictions und Memory Fragmentation sind die drei wichtigsten Frühwarnsignale für Fehlgröße oder falsche Datenstrukturen. Cache hit rate, evictions, and memory fragmentation are the three most important early warning signals for poor sizing or wrong data structures.
Azure Database Migration Service im Detail Database Migration Service deep dive
Azure Database Migration Service beschleunigt Migrationsprojekte, indem es Assessment, Datenkopie, Online-Synchronisierung und Statuskontrolle in einen verwalteten Dienst verlagert. Der Dienst ersetzt jedoch keine Zielarchitektur und auch kein sauberes Cutover-Playbook. Azure Database Migration Service accelerates migration projects by moving assessment, data copy, online synchronization, and status control into a managed service. It does not, however, replace target architecture work or a sound cutover playbook.
Die Erfolgsfaktoren liegen typischerweise außerhalb des Dienstes selbst: Netzwerkreichweite, DNS, Rechte auf Quelle und Ziel, Validierung von nicht unterstützten Features sowie ein realistisches Testfenster mit Produktionsdatenvolumen. DMS ist ein Verstärker guter Planung, kein Ersatz dafür. The success factors typically lie outside the service itself: network reachability, DNS, permissions on source and target, validation of unsupported features, and a realistic test window with production-scale data. DMS amplifies good planning; it does not replace it.
Verwenden Sie die Premium-Tier-Variante mit 4 vCores für große Datenbanken, hohe Änderungsraten und Online-Migrationen mit minimaler Downtime. Gerade LOB-lastige Systeme und enge Cutover-Fenster profitieren vom zusätzlichen Durchsatz und den höheren Parallelitätsreserven. Use the Premium tier with 4 vCores for large databases, high change rates, and online migrations with minimal downtime. LOB-heavy systems and tight cutover windows in particular benefit from the extra throughput and concurrency headroom.
| Thema Topic | Technische Details Technical details | Betriebsrelevanz Operational relevance |
|---|---|---|
| Online vs. Offline Migration Online vs. offline migration | Online hält Quelle und Ziel per kontinuierlicher Replikation synchron; Offline kopiert einmalig und verlangt Downtime. Online keeps source and target synchronized via continuous replication; offline performs a one-time copy and requires downtime. | Downtime-Ziele und Anwendungsstillstand bestimmen die Migrationsmethode, nicht nur Datenmenge. Downtime goals and application outage tolerance determine the migration method, not just data volume. |
| Source Engines Source engines | Typische Quellen sind SQL Server, MySQL, PostgreSQL und MongoDB. Typical sources include SQL Server, MySQL, PostgreSQL, and MongoDB. | Jede Engine bringt eigene Assessment- und Schema-Übersetzungspfade mit. Each engine comes with its own assessment and schema translation path. |
| Target Services Target services | Häufige Ziele sind Azure SQL Database, SQL Managed Instance, PostgreSQL Flexible Server, MySQL Flexible Server und Cosmos DB. Common targets are Azure SQL Database, SQL Managed Instance, PostgreSQL Flexible Server, MySQL Flexible Server, and Cosmos DB. | Zielservice bestimmt Authentifizierung, Netzwerkgrenzen und Cutover-Muster. The target service determines authentication, network boundaries, and cutover patterns. |
| DMS Subnet Requirements DMS subnet requirements | DMS sollte in einem eigenen, erreichbaren Subnetz mit Zugang zu Quelle, Ziel und Azure-Steuerungspunkten laufen. DMS should run in its own reachable subnet with access to source, target, and Azure control endpoints. | Routing, DNS und private Namensauflösung sind häufiger kritisch als der Datenkopierprozess selbst. Routing, DNS, and private name resolution are more often critical than the copy process itself. |
| NSG Rules (443 + 53) NSG rules (443 + 53) | 443 für Steuer- und Datenpfade zu Azure-Diensten, 53 für DNS-Auflösung; weitere Ports hängen von Quelle und Ziel ab. 443 for control and data paths to Azure services, 53 for DNS resolution; additional ports depend on source and target. | Zu restriktive NSGs sind ein häufiger Grund für scheinbar unerklärliche Startfehler. Overly restrictive NSGs are a common cause of seemingly inexplicable startup failures. |
| Pre-Migration Assessment Pre-migration assessment | Bewertet Inkompatibilitäten, unsupported features, Schema-Unterschiede und Größenordnung der Downtime. Evaluates incompatibilities, unsupported features, schema differences, and downtime magnitude. | Assessment-Berichte sollten vor dem ersten Pilot-Cutover vollständig abgearbeitet sein. Assessment reports should be fully worked through before the first pilot cutover. |
- SSMA ist für Schema- und Codekonvertierung oft das notwendige Vorwerkzeug, während DMS den Datentransfer und die Synchronisierung übernimmt. SSMA is often the required front-end tool for schema and code conversion while DMS handles data transfer and synchronization.
- Die Azure Database Migration Guide sollte früh konsultiert werden, um engine-spezifische Blocker, Versionspfade und bekannte Einschränkungen zu erkennen. The Azure Database Migration Guide should be consulted early to surface engine-specific blockers, version paths, and known constraints.
- Der Cutover-Schritt muss als eigener Runbook-Abschnitt geplant werden, inklusive finalem Sync, Anwendungspause, Smoke Tests und Backout-Entscheidung. The cutover step must be planned as its own runbook section including final sync, application pause, smoke tests, and a backout decision.
- Online-Migrationen mit minimaler Downtime funktionieren nur, wenn Replikationslag, Änderungsrate und Anwendungsschreibmuster vorher gemessen wurden. Minimal-downtime online migrations work only when replication lag, change rate, and application write patterns have been measured up front.
- Für große BLOB- oder LOB-Daten lohnt sich ein Pilot mit echter Netzbandbreite und realer Paketgröße, da theoretische Throughput-Zahlen wenig aussagen. For large BLOB or LOB datasets, run a pilot with real network bandwidth and actual packet sizes because theoretical throughput numbers say little.
- DMS-Projekte sollten immer Telemetrie nach Log Analytics oder zumindest in ein zentrales Projektboard zurückschreiben, damit Teams nicht nur auf Portal-Screenshots angewiesen sind. DMS projects should always push telemetry into Log Analytics or at least a central project board so teams are not relying on portal screenshots alone.
HA, Backup und Disaster Recovery HA, backup, and disaster recovery
Nicht jeder Azure-Datenbankdienst versteht HA, Backup und DR gleich. Manche Dienste replizieren primär für Verfügbarkeit, andere für globale Latenz, wieder andere nur für Read Scale-out. Daraus folgen unterschiedliche RPO-, RTO- und Teststrategien. Not every Azure database service treats HA, backup, and DR the same way. Some replicate primarily for availability, others for global latency, and still others only for read scale-out. That leads to very different RPO, RTO, and testing strategies.
| Dienst Service | Intra-Region-HA Intra-region HA | Backup-Retention Backup retention | Geo-Restore Geo-restore | Cross-Region-Read Cross-region read | PITR-Hinweis PITR note |
|---|---|---|---|---|---|
| Azure SQL Database Azure SQL Database | Mehrfache Replikate pro Datenbank, optional zonenredundant. Multiple replicas per database, optionally zone redundant. | 7 bis 35 Tage automatisch, LTR separat. 7 to 35 days automatic, LTR separate. | Ja, über geo-redundante Backups und sekundäre Regionen. Yes, via geo-redundant backups and secondary regions. | Ja, über geo-replication oder failover groups. Yes, via geo-replication or failover groups. | PITR ist granular, aber Restore-Ziel ist immer eine neue Datenbank. PITR is granular, but the restore target is always a new database. |
| Azure SQL Managed Instance Azure SQL Managed Instance | Instanzweite HA je Tier, optional zonenredundant in geeigneten Regionen. Instance-level HA by tier, optionally zone redundant in suitable regions. | 7 bis 35 Tage, LTR möglich. 7 to 35 days, with LTR available. | Ja. Yes. | Ja, über Instance Failover Groups. Yes, via instance failover groups. | Restore-Zeiten hängen stärker von Instanzgröße und Datenmenge ab als bei Single DB. Restore times depend more heavily on instance size and data volume than with single DB. |
| Cosmos DB Cosmos DB | Automatische Replikation über Fehlerdomänen und Regionen. Automatic replication across fault domains and regions. | Periodic oder continuous backup, je Kontokonfiguration. Periodic or continuous backup, by account configuration. | Ja, bei geeigneter Backup-Konfiguration. Yes, with the appropriate backup configuration. | Ja, direkt über globale Leseregionen. Yes, directly through global read regions. | Continuous backup liefert echte point-in-time restore windows pro Account. Continuous backup provides real point-in-time restore windows per account. |
| PostgreSQL Flexible Server PostgreSQL Flexible Server | Same-Zone oder Zone-Redundant Hot Standby. Same-zone or zone-redundant hot standby. | 7 bis 35 Tage. 7 to 35 days. | Geo-redundante Backups je Einstellung. Geo-redundant backups depending on configuration. | Über Read Replicas, in vielen Fällen auch cross-region. Via read replicas, often also cross-region. | PITR stellt einen neuen Server auf einen bestimmten Zeitpunkt zurück. PITR restores a new server to a specific point in time. |
| MySQL Flexible Server MySQL Flexible Server | Same-Zone oder zonenredundanter Standby. Same-zone or zone-redundant standby. | 1 bis 35 Tage. 1 to 35 days. | Geo-Restore hängt von Backup-Redundanz und Region ab. Geo-restore depends on backup redundancy and region. | Read Replicas für Read Scale-out und DR-Muster. Read replicas for read scale-out and DR patterns. | Restore wird als neuer Server bereitgestellt; Connection Strings müssen umgeschaltet werden. Restore is provisioned as a new server; connection strings must be switched. |
| Azure Cache for Redis Azure Cache for Redis | Replikatpaare und je Tier zusätzliche Resilienzmechanismen. Replica pairs and, by tier, additional resilience mechanisms. | Persistenz je nach Tier; keine klassische Backup-Retention wie bei Datenbanken. Persistence by tier; no classic backup retention like databases. | Nur indirekt über Geo-Replikation und Persistenz. Only indirectly via geo-replication and persistence. | Ja, wenn Geo-Replikation eingerichtet ist. Yes, if geo-replication is configured. | Kein relationales PITR; Recovery hängt von Persistenzstrategie und Replikation ab. No relational PITR; recovery depends on persistence strategy and replication. |
| Database Migration Service Database Migration Service | Nicht als Datenhaltung gedacht; HA betrifft den Migrationsprozess. Not intended for data retention; HA applies to the migration process. | Keine Nutzdaten-Retention. No application data retention. | Nicht anwendbar. Not applicable. | Nicht anwendbar. Not applicable. | PITR ist Aufgabe von Quell- und Zielplattform, nicht von DMS. PITR belongs to the source and target platforms, not DMS. |
Sicherheit und Networking Security and networking
Datenbanksicherheit in Azure ist ein Zusammenspiel aus Identität, Netzwerk, Verschlüsselung, Telemetrie und kontrollierten Verwaltungsgrenzen. Wer nur auf TDE oder nur auf Firewall-Regeln schaut, baut keine belastbare Datenplattform. Database security in Azure is the combination of identity, networking, encryption, telemetry, and controlled administrative boundaries. Looking only at TDE or only at firewall rules does not create a resilient data platform.
Starke Azure-Datenbankdesigns kombinieren Microsoft Entra ID, RBAC, Private Endpoints, Verschlüsselung, Auditing, Defender-Signale und saubere Schlüsselverwaltung. Jede einzelne Schicht kann umgangen oder fehlkonfiguriert werden; erst die Kombination erzeugt belastbare Sicherheit. Strong Azure database designs combine Microsoft Entra ID, RBAC, private endpoints, encryption, auditing, defender signals, and solid key management. Any single layer can be bypassed or misconfigured; only the combination produces durable security.
| Kontrolle Control | Abgedeckte Dienste Covered services | Technisches Verhalten Technical behavior | Designhinweis Design note |
|---|---|---|---|
| Private Endpoint Private endpoint | SQL Database, SQL MI über private Netzpfade, Cosmos DB, PostgreSQL, MySQL, Redis. SQL Database, SQL MI via private network paths, Cosmos DB, PostgreSQL, MySQL, and Redis. | Ordnet dem Dienst einen privaten Endpunkt im VNet zu; Public DNS wird über Private DNS Zonen überschrieben. Maps a private endpoint in the VNet to the service; public DNS is overridden through private DNS zones. | Bevorzugte Option für Zero-Trust-Datenpfade und hybride Landing Zones. Preferred option for zero-trust data paths and hybrid landing zones. |
| Service Endpoint Service endpoint | Vor allem Azure SQL und weitere PaaS-Dienste mit Public Endpoint. Primarily Azure SQL and other PaaS services with public endpoints. | Erweitert die Identität des Subnetzes zum Dienst, ohne den öffentlichen Endpunkt zu entfernen. Extends the subnet identity to the service without removing the public endpoint. | Einfacher als Private Link, aber sicherheitlich nicht gleichwertig. Simpler than private link, but not security-equivalent. |
| VNet Injection VNet injection | SQL Managed Instance, Redis Premium, PostgreSQL/MySQL mit delegiertem Subnetz oder privatem Zugriffsmuster. SQL Managed Instance, Redis Premium, and PostgreSQL/MySQL with delegated subnet or private access patterns. | Der Dienst wird logisch in das Kundennetz eingebettet oder nutzt dedizierte Delegationsgrenzen. The service is logically embedded into the customer network or uses dedicated delegation boundaries. | Routing, UDRs und DNS haben hier direkte Betriebsrelevanz. Routing, UDRs, and DNS directly affect operations here. |
| Firewall Rules / IP Allowlist Firewall rules / IP allowlist | Nahezu alle Dienste mit öffentlichem Endpunkt. Almost all services with a public endpoint. | Erlaubt nur definierte Quell-IP-Bereiche oder Azure-Dienstzugriffe. Allows only defined source IP ranges or Azure service access. | Gut als Übergang, aber kein Ersatz für private Konnektivität. Good as a transition, but not a replacement for private connectivity. |
| TDE (service- oder kundengesteuert) TDE (service- or customer-managed) | SQL Database, SQL MI, PostgreSQL Flexible Server, MySQL Flexible Server und weitere. SQL Database, SQL MI, PostgreSQL Flexible Server, MySQL Flexible Server, and more. | Verschlüsselt ruhende Daten und Backups; CMK verlagert Schlüsselkontrolle an den Kunden. Encrypts data and backups at rest; CMK shifts key control to the customer. | Key Vault, Managed Identity und Schlüsselrotation gehören ins Standarddesign. Key Vault, managed identity, and key rotation belong in the standard design. |
| Azure AD / Entra Auth Azure AD / Entra auth | SQL Database, SQL MI, PostgreSQL, MySQL, Redis je nach Featurestand. SQL Database, SQL MI, PostgreSQL, MySQL, and Redis depending on feature availability. | Tokenbasierte Anmeldung mit Benutzern, Gruppen, Dienstprinzipalen oder verwalteten Identitäten. Token-based sign-in with users, groups, service principals, or managed identities. | Reduziert Passwortsprawl und macht RBAC sowie Conditional Access anschlussfähig. Reduces password sprawl and makes RBAC and conditional access viable. |
- Defender for SQL und ähnliche Security-Produkte sollten in ein zentrales SOC- oder SIEM-Modell eingebunden werden, statt isoliert im Datenbankteam zu bleiben. Defender for SQL and similar security products should feed a central SOC or SIEM model rather than remain isolated in the database team.
- Advanced Threat Protection ergänzt Signaturen und Anomalieerkennung, ersetzt aber weder RBAC noch Private Networking. Advanced Threat Protection adds signatures and anomaly detection, but replaces neither RBAC nor private networking.
- Auditing nach Log Analytics oder Storage liefert die forensische Grundlage für Zugriffs-, Change- und Compliance-Auswertungen. Auditing to Log Analytics or Storage provides the forensic foundation for access, change, and compliance investigations.
- Transparent Data Encryption schützt ruhende Daten auf Medienebene und sollte als Basiskontrolle überall aktiv sein. Transparent Data Encryption protects data at rest at the media layer and should be enabled everywhere as a baseline control.
- Always Encrypted ist relevant, wenn Datenbankadministratoren, Cloud-Operatoren oder Outsourcing-Partner keinen Klartext sehen dürfen. Always Encrypted matters when database administrators, cloud operators, or outsourcing partners must not see plaintext.
- Dynamic Data Masking ist ein Komfortfeature für reduzierte Sichtbarkeit, aber kein kryptographischer Schutzmechanismus. Dynamic Data Masking is a convenience feature for reduced visibility, not a cryptographic protection mechanism.
- Private DNS, Split-Horizon-Design und Namensauflösung über Hybridnetze sollten in Security Reviews explizit geprüft werden. Private DNS, split-horizon design, and name resolution across hybrid networks should be explicitly reviewed in security assessments.
PowerShell und Azure CLI PowerShell and Azure CLI
Automatisierung ist für Azure-Datenbanken kein Luxus, sondern Standard. Bereitstellung, Failover, Inventarisierung und Compliance-Prüfungen sollten reproduzierbar per Skript oder IaC erfolgen, damit Änderungen über Regionen und Umgebungen hinweg konsistent bleiben. Automation is not a luxury for Azure databases but the norm. Provisioning, failover, inventory, and compliance checks should be reproducible through scripts or IaC so changes remain consistent across regions and environments.
Get-AzSqlDatabase -ResourceGroupName "rg-data-prod" -ServerName "sqlsrv-prod-01" |
Select-Object DatabaseName, Edition, RequestedServiceObjectiveName, CurrentServiceObjectiveName, ZoneRedundant
New-AzSqlDatabaseFailoverGroup `
-ResourceGroupName "rg-data-prod" `
-ServerName "sqlsrv-primary-01" `
-PartnerResourceGroupName "rg-data-dr" `
-PartnerServerName "sqlsrv-dr-01" `
-FailoverGroupName "fg-orders" `
-FailoverPolicy Automatic `
-GracePeriodWithDataLossHours 1 `
-Database @("orders", "billing")
az sql db create \
--resource-group rg-data-prod \
--server sqlsrv-prod-01 \
--name appdb01 \
--service-objective GP_Gen5_4 \
--backup-storage-redundancy Geo
az cosmosdb create \
--name cos-global-prod01 \
--resource-group rg-data-prod \
--kind GlobalDocumentDB \
--locations regionName=westeurope failoverPriority=0 isZoneRedundant=true \
--locations regionName=northeurope failoverPriority=1 \
--default-consistency-level Session \
--enable-multiple-write-locations true
resource ordersContainer 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2024-05-15' = {
name: '${cosmosAccount.name}/${sqlDatabaseName}/orders'
properties: {
resource: {
id: 'orders'
partitionKey: {
paths: [
'/tenantId'
]
kind: 'Hash'
}
defaultTtl: 2592000
}
options: {
autoscaleSettings: {
maxThroughput: 20000
}
}
}
}
Monitoring und Betrieb Monitoring and operations
Betriebsqualität hängt in Azure-Datenbanken davon ab, wie gut Plattformmetriken, Query-Telemetrie, Sicherheitslogs und Fehlermuster in ein gemeinsames Observability-Modell einfließen. Isolierte Portalsichten reichen für größere Flotten nicht aus. Operational quality in Azure databases depends on how well platform metrics, query telemetry, security logs, and failure patterns feed a shared observability model. Isolated portal views are not enough for larger fleets.
| Funktion Capability | Abdeckung Coverage | Wichtige Signale Key signals | Betriebshinweis Operational note |
|---|---|---|---|
| Azure Monitor Metrics Azure Monitor metrics | Alle Kernservices, inklusive SQL, Cosmos DB, PostgreSQL, MySQL und Redis. All core services including SQL, Cosmos DB, PostgreSQL, MySQL, and Redis. | CPU, DTU/vCore-Auslastung, RU-Verbrauch, Throttles, Connections, Cache Hit Ratio, Storage. CPU, DTU/vCore usage, RU consumption, throttles, connections, cache hit ratio, and storage. | Dashboards sollten technische und fachliche SLOs zusammenführen. Dashboards should combine technical and business SLOs. |
| Query Performance Insight Query Performance Insight | Azure SQL Database und PostgreSQL Flexible Server mit querybezogener Sicht. Azure SQL Database and PostgreSQL Flexible Server with query-focused visibility. | Top Queries, Wartezeiten, CPU-intensiver SQL-Text, historische Regressionen. Top queries, waits, CPU-heavy SQL text, and historical regressions. | QPI ist besonders wertvoll direkt nach Migrationen und Major Upgrades. QPI is especially valuable right after migrations and major upgrades. |
| Intelligent Performance Intelligent performance | Azure SQL mit Automatic Tuning, Advisor-Empfehlungen und Query Store. Azure SQL with automatic tuning, advisor recommendations, and Query Store. | Plan Regression, Force Plan, Missing Indexes, Automatic Index Management. Plan regression, force plan, missing indexes, and automatic index management. | Automatische Empfehlungen sind hilfreich, aber nie Ersatz für Workload-Verständnis. Automatic recommendations are useful, but never replace workload understanding. |
| Alerts Alerts | Azure Monitor Alerts für alle Dienste. Azure Monitor alerts for all services. | Fehlerbudgets, Failover, Backup-Fehler, Replikationslag, RU-Throttling, Storage-Warnungen. Error budgets, failovers, backup failures, replication lag, RU throttling, and storage warnings. | Sinnvoll sind wenige, handlungsorientierte Alerts statt Alarmflut. A small set of action-oriented alerts is better than alert fatigue. |
| Diagnostic Logs Diagnostic logs | SQL Auditing, Cosmos Diagnostics, PostgreSQL/MySQL Logs, Redis Engine Logs. SQL auditing, Cosmos diagnostics, PostgreSQL/MySQL logs, and Redis engine logs. | Audit Events, Query Waits, Engine-Fehler, Verbindungsfehler, Security-Signale. Audit events, query waits, engine errors, connection failures, and security signals. | In Log Analytics lassen sich Korrelationen über Dienste und Netzpfade hinweg bilden. Log Analytics enables correlations across services and network paths. |
| Azure SQL Analytics Azure SQL Analytics | Log-Analytics-basierte Auswertung speziell für Azure SQL. Log Analytics-based analysis specifically for Azure SQL. | Ressourcennutzung, Wait Categories, Fehlercodes und Trendanalyse über viele Datenbanken. Resource usage, wait categories, error codes, and trend analysis across many databases. | Für große SQL-Flotten ist dies oft die effizientere Betriebsansicht als Einzelserver-Blätter. For large SQL fleets, it is often a more effective operating view than per-server blades. |
Migrationsprozess Migration process
Migrationen scheitern selten an einem einzelnen Tool. Sie scheitern an fehlender Zielarchitektur, ungeprüften Netzpfaden, nicht getesteter Authentifizierung, unklaren Cutover-Kriterien oder fehlender Verantwortung nach dem Go-Live. Ein guter Prozess minimiert genau diese Risiken. Migrations rarely fail because of a single tool. They fail because the target architecture is unclear, network paths are untested, authentication is unvalidated, cutover criteria are vague, or ownership after go-live is missing. A good process minimizes exactly those risks.
Analysieren Sie Engine-Kompatibilität, Netzpfade, Authentifizierungsmodell, Datenvolumen, Spitzenlast und RPO/RTO. Das Ergebnis muss eine klare Entscheidung zwischen SQL Database, Managed Instance, Cosmos DB, PostgreSQL, MySQL oder Redis-Rolle als Cache liefern. Analyze engine compatibility, network paths, authentication model, data volume, peak load, and RPO/RTO. The output must clearly decide between SQL Database, Managed Instance, Cosmos DB, PostgreSQL, MySQL, or Redis as a cache role.
Stellen Sie VNets, delegierte Subnetze, Private Endpoints, DNS-Zonen, Key Vault, RBAC und Monitoring vor dem ersten Datentransfer bereit. Viele Migrationsverzögerungen entstehen nicht im Datenexport, sondern in fehlenden Netzwerk- und Identitätsfreigaben. Provision VNets, delegated subnets, private endpoints, DNS zones, Key Vault, RBAC, and monitoring before the first data transfer. Many migration delays are caused not by export mechanics but by missing network and identity approvals.
Führen Sie Schema-Konvertierungen mit SSMA oder nativen Werkzeugen durch, bereinigen Sie nicht unterstützte Features und testen Sie Datentypen, Zeichensätze, Collations und Indexdesigns gegen produktionsnahe Last. Perform schema conversions with SSMA or native tools, clean up unsupported features, and test data types, charsets, collations, and index designs under production-like load.
Führen Sie Pilotmigrationen, Online-Synchronisation, Query-Baselines und Failover-Proben durch. Validieren Sie nicht nur Row Counts, sondern auch Latenz, Sperrverhalten, Batchfenster, Replikationslag und Anwendungs-Retries. Run pilot migrations, online synchronization, query baselines, and failover rehearsals. Validate not only row counts but also latency, locking behavior, batch windows, replication lag, and application retry behavior.
Frieren Sie Änderungen kontrolliert ein, erzwingen Sie einen letzten Sync, schalten Sie Connection Strings um und überwachen Sie die ersten Betriebsstunden engmaschig. Halten Sie einen dokumentierten Backout-Plan inklusive Datenverlustbewertung bereit. Freeze changes in a controlled way, force a final sync, switch connection strings, and monitor the first production hours closely. Keep a documented backout plan including data-loss assessment ready.
Prüfen Sie, ob die Funktion wirklich produktiv genutzt wird oder nur historisch im Schema steckt. Viele Blocker lassen sich durch Codebereinigung, alternative Datentypen, SSMA-Regeln oder den Wechsel von SQL Database auf Managed Instance auflösen. Verify whether the feature is truly used in production or only remains in the schema historically. Many blockers can be resolved through code cleanup, alternative data types, SSMA rules, or by moving from SQL Database to Managed Instance.
Analysieren Sie Netzwerkbandbreite, große Transaktionen, fehlende Indizes auf Änderungsquellen und konkurrierende Wartungsjobs. Häufig hilft es, Änderungsraten vor dem Cutover-Fenster zu senken und große Bulk-Operationen zu blockieren. Analyze bandwidth, large transactions, missing indexes on change sources, and competing maintenance jobs. Often it helps to reduce change rates before cutover and block large bulk operations.
Vergleichen Sie Pläne, Parameter Sniffing, Service Tier, Storage-Latenz, Connection Pooling und Netzpfade. Die technische Migration kann erfolgreich sein, während das neue Performance-Modell trotzdem Re-Indexing, neue Parameter oder eine andere SKU verlangt. Compare plans, parameter sniffing, service tier, storage latency, connection pooling, and network paths. The technical migration can succeed while the new performance model still requires re-indexing, new parameters, or a different SKU.
Kontrollieren Sie DNS, Firewall, Private Endpoint-Auflösung, TLS-Zertifikate, Connection Strings, Entra-Rollen und ob die Anwendung noch mit alten SQL-Logins oder unsicheren MySQL-Plugins arbeitet. Check DNS, firewall, private endpoint resolution, TLS certificates, connection strings, Entra roles, and whether the application still relies on old SQL logins or insecure MySQL plugins.
Limits und Quoten Limits and quotas
Cloud-Datenbanken skalieren weit, aber nie unbegrenzt. Die relevanten Grenzen liegen oft nicht im Marketing-SKU, sondern in Partitionen, Verbindungen, Replikationslag, Managementzeiten oder im Verhalten angrenzender Netzwerkkomponenten. Cloud databases scale far, but never infinitely. The relevant boundaries often lie not in the marketing SKU but in partitions, connections, replication lag, management times, or the behavior of adjacent network components.
| Ressource Resource | Typische Grenze Typical limit | Nuance Nuance | Architekturfolge Architecture consequence |
|---|---|---|---|
| SQL DB Max Size SQL DB max size | Bis 100 TB in Hyperscale; andere Tiers deutlich darunter. Up to 100 TB in Hyperscale; other tiers are much smaller. | Storage-Limit und IO-Verhalten hängen stark vom Tier ab. Storage limits and IO behavior depend heavily on the tier. | Große OLTP-Systeme sollten früh zwischen Hyperscale und MI verglichen werden. Large OLTP systems should compare Hyperscale and MI early. |
| SQL MI Max vCores SQL MI max vCores | Bis 80 vCores pro Instanz. Up to 80 vCores per instance. | Instanzweite Konsolidierung erhöht die Bedeutung von Resource Governance. Instance-level consolidation increases the importance of resource governance. | CPU-Spitzen einzelner Datenbanken können Nachbarn beeinflussen, wenn keine Governance existiert. CPU spikes from one database can affect neighbors without governance. |
| Cosmos DB Max RU/s per Container Cosmos DB max RU/s per container | 10.000 RU/s pro physischer Partition; Container skalieren darüber durch Partition Splits in den Millionenbereich. 10,000 RU/s per physical partition; containers scale beyond that through partition splits into the millions. | Partition Key und Datenverteilung bestimmen den real nutzbaren Durchsatz. Partition key choice and data distribution determine usable throughput. | Ein schlechter Hot Partition Key kann hohe RU-Budgets wirkungslos machen. A bad hot partition key can waste large RU budgets. |
| PostgreSQL Max Connections PostgreSQL max connections | Abhängig von Memory und Tier; praktisch meist hunderte bis niedrige tausende Sessions. Depends on memory and tier; in practice often hundreds to low thousands of sessions. | PgBouncer ist fast immer effizienter als rohe Backend-Connections. PgBouncer is almost always more efficient than raw backend connections. | Connection Storms sind ein Architektur- und Poolingproblem, nicht primär ein DB-Limit. Connection storms are an architecture and pooling problem, not primarily a DB limit. |
| Redis Max Memory Redis max memory | Tierabhängig von klein bis TB-Skala in Enterprise Flash. Tier-dependent from small caches to TB scale in Enterprise Flash. | Effektive Nutzlast hängt von Datentypen, Overhead und Replikationsfaktor ab. Effective payload depends on data types, overhead, and replication factor. | Sizing muss immer reale Key-Größen und Eviction-Verhalten berücksichtigen. Sizing must always account for real key sizes and eviction behavior. |
| DMS Parallelism DMS parallelism | SKU- und Quellengine-abhängig; Premium kann mehr gleichzeitige Aufgaben und größere Online-Migrationen tragen. Depends on SKU and source engine; Premium can carry more simultaneous tasks and larger online migrations. | Netzwerkpfad, LOB-Größe und Quelle begrenzen oft mehr als der Dienst selbst. Network path, LOB size, and the source often constrain more than the service itself. | Pilotläufe mit Produktionsdatenmengen sind die einzige belastbare Kapazitätsmessung. Pilot runs with production-scale data are the only reliable capacity measurement. |
Empfohlene Praktiken Recommended practices
Die folgenden Empfehlungen haben sich in realen Enterprise-Landing-Zones bewährt, weil sie Fehlentscheidungen bei Sizing, Sicherheit, DR und Migrationen früh abfangen. The following recommendations have proven themselves in real enterprise landing zones because they catch poor decisions around sizing, security, DR, and migrations early.
- Treffen Sie die Servicereise nicht nach Markenname, sondern nach Datenmodell, Latenzprofil, Konsistenz und Betriebsgrenzen. Choose the service based on data model, latency profile, consistency, and operational boundaries rather than the product label.
- Planen Sie Identität zuerst: Microsoft Entra ID, verwaltete Identitäten und rollenbasierte Trennung reduzieren Geheimnisse und Rotationsaufwand. Design identity first: Microsoft Entra ID, managed identities, and role separation reduce secrets and rotation effort.
- Nutzen Sie Private Endpoints oder delegierte Subnetze als Standard und behandeln Sie Firewall-Allowlisten nur als Übergangsmechanismus. Use private endpoints or delegated subnets by default and treat firewall allowlists only as a transition mechanism.
- Testen Sie Restore, Geo-Failover und Schlüsselrotation regelmäßig; ungeprüfte DR-Pläne sind nur Dokumente. Test restore, geo-failover, and key rotation regularly; untested DR plans are only documents.
- Vermeiden Sie übereilte Serverless- oder Autoscale-Entscheidungen ohne Messwerte zu Idle-Zeit, Burst-Verhalten und Resume-Latenz. Avoid rushed serverless or autoscale decisions without metrics on idle time, burst behavior, and resume latency.
- Modellieren Sie Partition Keys in Cosmos DB anhand realer Zugriffs- und Schreibmuster, nicht nach rein fachlichen Entitäten. Model Cosmos DB partition keys based on real access and write patterns, not purely on business entities.
- Verwenden Sie Query Store, Query Performance Insight und strukturierte Baselines vor jeder größeren Migration oder Tuning-Maßnahme. Use Query Store, Query Performance Insight, and structured baselines before every major migration or tuning exercise.
- Planen Sie bei SQL Managed Instance und privaten PaaS-Diensten DNS, UDR, NSG und Outbound-Abhängigkeiten gemeinsam mit dem Netzwerkteam. Plan DNS, UDR, NSG, and outbound dependencies jointly with the networking team for SQL Managed Instance and private PaaS services.
- Nutzen Sie Redis nicht als einzige Quelle geschäftskritischer Daten, solange Persistenz, Rebuild-Logik und DR nicht explizit definiert sind. Do not use Redis as the sole source of critical business data unless persistence, rebuild logic, and DR are explicitly defined.
- Bewerten Sie Migrationserfolg nicht nur nach technischer Replikation, sondern nach fachlicher Validierung, Performance und Betriebsübergabe. Measure migration success not only by technical replication but also by business validation, performance, and operational handoff.
Glossar Glossary
Das Glossar bündelt Schlüsselbegriffe, die in Azure-Datenbankprojekten regelmäßig in Architekturdiagrammen, Runbooks, Supportfällen und Kostenmodellen auftauchen. The glossary captures key terms that appear repeatedly in Azure database projects, architecture diagrams, runbooks, support cases, and cost models.
| Begriff Term | Definition Definition | Warum wichtig Why it matters |
|---|---|---|
| DTU DTU | Database Transaction Unit bündelt CPU, Memory und IO in einem abstrakten Leistungswert für Azure SQL Database. Database Transaction Unit bundles CPU, memory, and IO into an abstract performance value for Azure SQL Database. | Hilft bei einfachem Einstieg, erschwert aber feinere Ursachenanalyse gegenüber vCore. It helps with easy entry sizing, but complicates root-cause analysis compared with vCore. |
| vCore vCore | Explizite Compute-Einheit für Azure-Datenbankdienste mit klarerer Lizenz- und Größenplanung. Explicit compute unit for Azure database services with clearer licensing and sizing. | Ermöglicht transparenteres Capacity Planning, Hybrid Benefit und Reserved Capacity. Enables more transparent capacity planning, Hybrid Benefit, and reserved capacity. |
| RU RU | Request Unit ist die Throughput-Währung von Cosmos DB für Reads, Writes und Queries. A request unit is the throughput currency of Cosmos DB for reads, writes, and queries. | Falsches RU-Design führt sofort zu Throttling oder Kostenüberraschungen. Poor RU design quickly leads to throttling or cost surprises. |
| Flexible Server Flexible Server | PaaS-Bereitstellungsmodell für PostgreSQL und MySQL mit feinerer Netz-, HA- und Wartungskontrolle. PaaS deployment model for PostgreSQL and MySQL with finer control over networking, HA, and maintenance. | Ist heute meist der strategische Standard statt älterer Single-Server-Modelle. It is now usually the strategic standard instead of older single-server models. |
| Failover Group Failover group | Abstrakter Endpunkt für primäre und sekundäre SQL-Instanzen oder Datenbanken über Regionen. An abstract endpoint for primary and secondary SQL instances or databases across regions. | Vereinfacht DR, weil Anwendungen weniger Connection Strings kennen müssen. It simplifies DR because applications need fewer connection strings. |
| Active Geo-Replication Active geo-replication | Asynchrone Replikation von Azure SQL Database in zusätzliche Regionen mit lesbaren Secondaries. Asynchronous replication of Azure SQL Database into additional regions with readable secondaries. | Wichtig für DR und globale Read-Patterns, aber nicht frei von Lag. Important for DR and global read patterns, but not free of lag. |
| CMK CMK | Customer-Managed Key bezeichnet kundenseitig kontrollierte Verschlüsselungsschlüssel, meist in Azure Key Vault. Customer-managed key refers to customer-controlled encryption keys, usually in Azure Key Vault. | Erforderlich in regulierten Umgebungen und für kontrollierte Schlüsselrotation. Required in regulated environments and for controlled key rotation. |
| TDE TDE | Transparent Data Encryption verschlüsselt Daten, Logs und Backups im Ruhezustand. Transparent Data Encryption encrypts data, logs, and backups at rest. | Basiskontrolle für ruhende Daten, aber kein Ersatz für Zugriffskontrollen. A baseline control for data at rest, but not a replacement for access controls. |
| DMS DMS | Azure Database Migration Service orchestriert Datenbankmigrationen zwischen Quell- und Zielsystemen. Azure Database Migration Service orchestrates database migrations between source and target systems. | Reduziert Eigenaufwand für Datenkopie, Assessment und Online-Synchronisierung. Reduces custom effort for data copy, assessment, and online synchronization. |
| Elastic Pool Elastic pool | Mehrere Azure SQL Databases teilen sich gemeinsame Compute-Kapazität in einem Pool. Multiple Azure SQL databases share common compute capacity in a pool. | Sehr effizient für SaaS- oder Mandantenmuster mit schwankender Last. Very efficient for SaaS or tenant patterns with bursty load. |
| Change Feed Change feed | Geordneter Änderungsstrom von Inserts und Updates in Cosmos DB je logischer Partition. Ordered stream of inserts and updates in Cosmos DB per logical partition. | Grundlage für Event-getriebene Verarbeitung, ETL und Materialized Views. Foundation for event-driven processing, ETL, and materialized views. |
| TEP TEP | Thread Execution Proxy bezeichnet einen internen Azure-SQL-Ausführungskontext, der in Diagnose- oder Wait-Szenarien sichtbar werden kann. Thread Execution Proxy describes an internal Azure SQL execution context that can surface in diagnostic or wait scenarios. | Hilft bei tiefer Performanceanalyse, wenn Worker- oder Scheduler-bezogene Symptome untersucht werden. It helps with deeper performance analysis when worker- or scheduler-related symptoms are under investigation. |