(function() {
  var plan = { en: 'Plan and implement data platform resources', de: 'Datenplattformressourcen planen und implementieren' };
  var secure = { en: 'Implement a secure environment', de: 'Eine sichere Umgebung implementieren' };
  var monitor = { en: 'Monitor, configure, and optimize resources', de: 'Ressourcen überwachen, konfigurieren und optimieren' };
  var automate = { en: 'Configure and manage automation of tasks', de: 'Automatisierung von Aufgaben konfigurieren und verwalten' };
  var hadr = { en: 'Plan and implement a high availability and disaster recovery environment', de: 'Eine Umgebung für Hochverfügbarkeit und Notfallwiederherstellung planen und implementieren' };

  var refs = {
    sqlDb: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview',
    managedInstance: 'https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview',
    sqlVm: 'https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview',
    serverless: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/serverless-tier-overview',
    elasticPool: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview',
    hyperscale: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale',
    businessCritical: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-business-critical',
    vcoreModel: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tiers-sql-database-vcore',
    dtuModel: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tiers-dtu',
    maintenanceWindow: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/maintenance-window',
    zoneRedundancy: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/high-availability-sla-local-zone-redundancy',
    hybridBenefit: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tiers-sql-database-vcore',
    reservedCapacity: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tiers-sql-database-vcore',
    dms: 'https://learn.microsoft.com/en-us/azure/dms/dms-overview',
    privateEndpoint: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/private-endpoint-overview',
    firewall: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/firewall-configure',
    entraAuth: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-overview',
    tdeByok: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-byok-overview',
    alwaysEncrypted: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-landing',
    ddm: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/dynamic-data-masking-overview',
    rls: 'https://learn.microsoft.com/en-us/sql/relational-databases/security/row-level-security',
    auditing: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/auditing-overview',
    defenderSql: 'https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-sql-introduction',
    vulnerabilityAssessment: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-vulnerability-assessment',
    sensitivityClassification: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/data-discovery-and-classification-overview',
    ledger: 'https://learn.microsoft.com/en-us/sql/relational-databases/security/ledger/ledger-overview',
    queryStore: 'https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store',
    automaticTuning: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/automatic-tuning-overview',
    intelligentInsights: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/intelligent-insights-overview',
    queryPerformanceInsight: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/query-performance-insight-use',
    dmvs: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-with-dmvs',
    extendedEvents: 'https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/extended-events',
    updateStatistics: 'https://learn.microsoft.com/en-us/sql/t-sql/statements/update-statistics-transact-sql',
    alterIndex: 'https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-index-transact-sql',
    monitorAlerts: 'https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-create-metric-alert-rule',
    logAnalytics: 'https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-query-overview',
    automatedBackups: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/automated-backups-overview',
    ltr: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/long-term-retention-overview',
    recoveryBackups: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/recovery-using-backups',
    elasticJobs: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-jobs-overview',
    automation: 'https://learn.microsoft.com/en-us/azure/automation/overview',
    sqlIaasExtension: 'https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-iaas-agent-extension-automate-management',
    failoverGroupDb: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/auto-failover-group-sql-db',
    failoverGroupMi: 'https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/failover-group-sql-mi',
    activeGeoReplication: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview',
    agVm: 'https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-overview',
    fciVm: 'https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-overview'
  };

  function q(type, id, domain, difficulty, scenario, question, options, correct, explanation, hint, reference) {
    return {
      id: id,
      type: type,
      domain: domain,
      difficulty: difficulty,
      scenario: scenario ? { en: scenario[0], de: scenario[1] } : null,
      question: { en: question[0], de: question[1] },
      options: options.map(function(opt) {
        return { id: opt[0], text: { en: opt[1], de: opt[2] } };
      }),
      correct: correct,
      explanation: { en: explanation[0], de: explanation[1] },
      hint: { en: hint[0], de: hint[1] },
      reference: reference
    };
  }

  var domains = { plan: plan, secure: secure, monitor: monitor, automate: automate, hadr: hadr };
  var labelMap = {
    sqlDb: ['Azure SQL Database', 'Azure SQL Database', 'sqlDb'],
    managedInstance: ['SQL Managed Instance', 'SQL Managed Instance', 'managedInstance'],
    sqlVm: ['SQL Server on Azure Virtual Machines', 'SQL Server auf Azure Virtual Machines', 'sqlVm'],
    serverless: ['Serverless compute tier', 'Serverless-Computetarif', 'serverless'],
    elasticPool: ['Elastic pool', 'Elastischer Pool', 'elasticPool'],
    hyperscale: ['Hyperscale', 'Hyperscale', 'hyperscale'],
    businessCritical: ['Business Critical tier', 'Business Critical-Tarif', 'businessCritical'],
    generalPurpose: ['General Purpose tier', 'General Purpose-Tarif', 'vcoreModel'],
    vcoreModel: ['vCore purchasing model', 'vCore-Kaufmodell', 'vcoreModel'],
    dtuModel: ['DTU purchasing model', 'DTU-Kaufmodell', 'dtuModel'],
    maintenanceWindow: ['Maintenance window', 'Wartungsfenster', 'maintenanceWindow'],
    zoneRedundancy: ['Zone redundancy', 'Zonenredundanz', 'zoneRedundancy'],
    reservedCapacity: ['Reserved capacity', 'Reservierte Kapazität', 'reservedCapacity'],
    dms: ['Azure Database Migration Service', 'Azure Database Migration Service', 'dms'],
    privateEndpoint: ['Private endpoint', 'Privater Endpunkt', 'privateEndpoint'],
    disablePublicNetwork: ['Disable public network access', 'Öffentlichen Netzwerkzugriff deaktivieren', 'privateEndpoint'],
    serverFirewall: ['Server-level firewall rules', 'Firewallregeln auf Serverebene', 'firewall'],
    entraAuth: ['Microsoft Entra authentication', 'Microsoft Entra-Authentifizierung', 'entraAuth'],
    entraOnlyAuth: ['Microsoft Entra-only authentication', 'Ausschließliche Microsoft Entra-Authentifizierung', 'entraAuth'],
    tdeByok: ['TDE with customer-managed key', 'TDE mit kundenseitig verwaltetem Schlüssel', 'tdeByok'],
    alwaysEncrypted: ['Always Encrypted', 'Always Encrypted', 'alwaysEncrypted'],
    secureEnclave: ['Secure enclaves', 'Sichere Enklaven', 'alwaysEncrypted'],
    ddm: ['Dynamic Data Masking', 'Dynamische Datenmaskierung', 'ddm'],
    auditing: ['Auditing', 'Auditing', 'auditing'],
    defenderSql: ['Defender for SQL', 'Defender for SQL', 'defenderSql'],
    vulnerabilityAssessment: ['Vulnerability assessment', 'Sicherheitsrisikobewertung', 'vulnerabilityAssessment'],
    sensitivityClassification: ['Sensitivity classification', 'Vertraulichkeitsklassifizierung', 'sensitivityClassification'],
    ledger: ['Ledger', 'Ledger', 'ledger'],
    queryStore: ['Query Store', 'Query Store', 'queryStore'],
    automaticTuning: ['Automatic tuning', 'Automatische Optimierung', 'automaticTuning'],
    intelligentInsights: ['Intelligent Insights', 'Intelligent Insights', 'intelligentInsights'],
    dmvResourceStats: ['sys.dm_db_resource_stats', 'sys.dm_db_resource_stats', 'dmvs'],
    queryStoreWaits: ['Query Store wait statistics', 'Wartezeitstatistiken im Query Store', 'queryStore'],
    extendedEvents: ['Extended Events', 'Extended Events', 'extendedEvents'],
    updateStatistics: ['UPDATE STATISTICS', 'UPDATE STATISTICS', 'updateStatistics'],
    indexRebuild: ['ALTER INDEX REBUILD', 'ALTER INDEX REBUILD', 'alterIndex'],
    azureMonitorAlerts: ['Azure Monitor metric alerts', 'Azure Monitor-Metrikwarnungen', 'monitorAlerts'],
    logAnalytics: ['Log Analytics', 'Log Analytics', 'logAnalytics'],
    automatedBackups: ['Automated backups', 'Automatisierte Sicherungen', 'automatedBackups'],
    ltr: ['Long-term backup retention', 'Langfristige Sicherungsaufbewahrung', 'ltr'],
    pointInTimeRestore: ['Point-in-time restore', 'Point-in-Time-Wiederherstellung', 'recoveryBackups'],
    restoreDeletedDb: ['Restore deleted database', 'Gelöschte Datenbank wiederherstellen', 'recoveryBackups'],
    elasticJobs: ['Elastic Jobs', 'Elastische Jobs', 'elasticJobs'],
    automationRunbook: ['Azure Automation runbook', 'Azure-Automation-Runbook', 'automation'],
    sqlAgentMi: ['SQL Agent on Managed Instance', 'SQL Agent auf Managed Instance', 'managedInstance'],
    sqlIaasExtension: ['SQL Server IaaS Agent extension', 'SQL Server IaaS Agent-Erweiterung', 'sqlIaasExtension'],
    failoverGroupDb: ['Failover group for Azure SQL Database', 'Failovergruppe für Azure SQL Database', 'failoverGroupDb'],
    failoverGroupMi: ['Failover group for Managed Instance', 'Failovergruppe für Managed Instance', 'failoverGroupMi'],
    activeGeoReplication: ['Active geo-replication', 'Aktive Georeplikation', 'activeGeoReplication'],
    geoRestore: ['Geo-restore', 'Geowiederherstellung', 'recoveryBackups'],
    agVm: ['Always On availability groups on Azure VMs', 'Always On-Verfügbarkeitsgruppen auf Azure-VMs', 'agVm'],
    fciVm: ['Failover cluster instance on Azure VMs', 'Failoverclusterinstanz auf Azure-VMs', 'fciVm'],
    readScaleOut: ['Read scale-out', 'Read Scale-Out', 'businessCritical'],
    backupStorageGeo: ['Geo-redundant backup storage', 'Georedundanter Sicherungsspeicher', 'automatedBackups']
  };
  var pools = {
    plan: ['sqlDb', 'managedInstance', 'sqlVm', 'serverless', 'elasticPool', 'hyperscale', 'businessCritical', 'generalPurpose', 'vcoreModel', 'dtuModel', 'reservedCapacity', 'dms'],
    secure: ['privateEndpoint', 'disablePublicNetwork', 'serverFirewall', 'entraAuth', 'entraOnlyAuth', 'tdeByok', 'alwaysEncrypted', 'secureEnclave', 'ddm', 'defenderSql', 'vulnerabilityAssessment', 'sensitivityClassification', 'ledger'],
    monitor: ['queryStore', 'automaticTuning', 'intelligentInsights', 'dmvResourceStats', 'queryStoreWaits', 'extendedEvents', 'updateStatistics', 'indexRebuild', 'azureMonitorAlerts', 'logAnalytics'],
    automate: ['automatedBackups', 'ltr', 'pointInTimeRestore', 'restoreDeletedDb', 'elasticJobs', 'automationRunbook', 'sqlAgentMi', 'sqlIaasExtension', 'backupStorageGeo'],
    hadr: ['failoverGroupDb', 'failoverGroupMi', 'activeGeoReplication', 'geoRestore', 'agVm', 'fciVm', 'businessCritical', 'zoneRedundancy', 'readScaleOut', 'backupStorageGeo']
  };

  function formatId(n) {
    return 'dp300-' + ('000' + n).slice(-3);
  }

  function shuffle(list, seed) {
    var arr = list.slice();
    var x = seed >>> 0;
    for (var i = arr.length - 1; i > 0; i--) {
      x = (x * 1664525 + 1013904223) >>> 0;
      var j = x % (i + 1);
      var tmp = arr[i];
      arr[i] = arr[j];
      arr[j] = tmp;
    }
    return arr;
  }

  function pickDistractors(domainKey, correctKey, count, seed) {
    return shuffle(pools[domainKey].filter(function(key) { return key !== correctKey; }), seed).slice(0, count);
  }

  function optionRows(optionKeys) {
    return optionKeys.map(function(key, idx) {
      return [String.fromCharCode(65 + idx), labelMap[key][0], labelMap[key][1]];
    });
  }

  function correctLetters(optionKeys, correctKeys) {
    return optionKeys.map(function(key, idx) {
      return correctKeys.indexOf(key) >= 0 ? String.fromCharCode(65 + idx) : null;
    }).filter(Boolean);
  }

  function joinNames(keys, lang) {
    var index = lang === 'de' ? 1 : 0;
    var sep = lang === 'de' ? ' und ' : ' and ';
    var names = keys.map(function(key) { return labelMap[key][index]; });
    return names.length === 1 ? names[0] : names.slice(0, -1).join(', ') + sep + names[names.length - 1];
  }

  function buildSingles(startId, specs) {
    var diffs = Array(18).fill('easy').concat(Array(22).fill('medium'), Array(10).fill('hard'));
    return specs.map(function(spec, idx) {
      var qid = startId + idx;
      var optionKeys = shuffle([spec[1]].concat(pickDistractors(spec[0], spec[1], 3, qid)), qid);
      return q(
        'single',
        formatId(qid),
        domains[spec[0]],
        diffs[idx],
        null,
        ['Which capability should you configure to ' + spec[2] + '?', 'Welche Funktion sollten Sie konfigurieren, um ' + spec[3] + '?'],
        optionRows(optionKeys),
        correctLetters(optionKeys, [spec[1]]),
        [labelMap[spec[1]][0] + ' is the best answer because it is designed to ' + spec[2] + '. The other options do not directly satisfy the requirement.', labelMap[spec[1]][1] + ' ist die beste Antwort, weil diese Funktion dafür vorgesehen ist, ' + spec[3] + '. Die anderen Optionen erfüllen die Anforderung nicht direkt.'],
        ['Start with the core requirement and identify the feature built for it.', 'Gehen Sie von der Kernanforderung aus und identifizieren Sie die dafür vorgesehene Funktion.'],
        refs[labelMap[spec[1]][2]]
      );
    });
  }

  function buildMultiples(startId, specs) {
    var diffs = Array(10).fill('medium').concat(Array(10).fill('hard'));
    return specs.map(function(spec, idx) {
      var qid = startId + idx;
      var optionKeys = shuffle(spec[4], qid);
      return q(
        'multiple',
        formatId(qid),
        domains[spec[0]],
        diffs[idx],
        null,
        [spec[1], spec[2]],
        optionRows(optionKeys),
        correctLetters(optionKeys, spec[3]),
        ['The correct answers are ' + joinNames(spec[3], 'en') + ' because they directly satisfy the requirement. The remaining options address different needs.', 'Die richtigen Antworten sind ' + joinNames(spec[3], 'de') + ', weil sie die Anforderung direkt erfüllen. Die übrigen Optionen adressieren andere Anforderungen.'],
        ['Focus on the options that directly deliver the requested outcome.', 'Konzentrieren Sie sich auf die Optionen, die das geforderte Ergebnis direkt liefern.'],
        refs[labelMap[spec[3][0]][2]]
      );
    });
  }

  function buildScenarios(startId, specs) {
    var diffs = Array(7).fill('easy').concat(Array(13).fill('medium'), Array(10).fill('hard'));
    return specs.map(function(spec, idx) {
      var qid = startId + idx;
      var optionKeys = shuffle([spec[1]].concat(pickDistractors(spec[0], spec[1], 3, qid)), qid);
      return q(
        'scenario',
        formatId(qid),
        domains[spec[0]],
        diffs[idx],
        [spec[2] + ' is modernizing ' + spec[3] + ' on Azure. One requirement is to ' + spec[5] + '. Another requirement is to ' + spec[7] + '. The DBA team wants the native Azure SQL capability that best satisfies these needs.', spec[2] + ' modernisiert ' + spec[4] + ' auf Azure. Eine Anforderung besteht darin, ' + spec[6] + '. Eine weitere Anforderung besteht darin, ' + spec[8] + '. Das DBA-Team möchte die native Azure-SQL-Funktion auswählen, die diese Anforderungen am besten erfüllt.'],
        ['Which capability should the administrator configure?', 'Welche Funktion sollte das DBA-Team konfigurieren?'],
        optionRows(optionKeys),
        correctLetters(optionKeys, [spec[1]]),
        [labelMap[spec[1]][0] + ' is the best fit because it directly addresses the stated business and operational requirements.', labelMap[spec[1]][1] + ' ist die beste Wahl, weil diese Funktion die beschriebenen fachlichen und betrieblichen Anforderungen direkt adressiert.'],
        ['Map the scenario requirements to the Azure SQL feature designed for that pattern.', 'Ordnen Sie die Anforderungen des Szenarios der Azure-SQL-Funktion zu, die genau für dieses Muster vorgesehen ist.'],
        refs[labelMap[spec[1]][2]]
      );
    });
  }

  var extra = [
    ...buildSingles(201, [
      ['plan', 'dtuModel', 'use a bundled measure of compute, storage, and I/O for simpler sizing', 'ein gebündeltes Maß für Compute, Speicher und I/O für eine einfachere Dimensionierung zu verwenden'],
      ['plan', 'generalPurpose', 'choose a cost-efficient service tier that uses remote storage for common business workloads', 'einen kosteneffizienten Servicetarif zu wählen, der Remotespeicher für typische Geschäftsworkloads nutzt'],
      ['plan', 'businessCritical', 'run latency-sensitive OLTP workloads on a tier with local SSD storage and multiple replicas', 'latenzempfindliche OLTP-Workloads auf einem Tarif mit lokalem SSD-Speicher und mehreren Replikaten auszuführen'],
      ['plan', 'readScaleOut', 'offload read-only workloads from the primary database by using a readable replica', 'schreibgeschützte Workloads mithilfe einer lesbaren Replik vom Primärsystem zu entlasten'],
      ['plan', 'sqlDb', 'isolate one tenant with dedicated database resources instead of sharing a pool', 'einen Mandanten mit dedizierten Datenbankressourcen zu isolieren, statt einen Pool zu teilen'],
      ['plan', 'serverless', 'run a development database with unpredictable and infrequent usage at lower idle cost', 'eine Entwicklungsdatenbank mit unvorhersehbarer und seltener Nutzung zu geringeren Leerlaufkosten zu betreiben'],
      ['plan', 'hyperscale', 'support named replicas and fast storage scale for a very large database', 'benannte Replikate und schnelle Speicherskalierung für eine sehr große Datenbank zu unterstützen'],
      ['plan', 'dms', 'perform an online migration from on-premises SQL Server with minimal downtime', 'eine Online-Migration aus einer lokalen SQL-Server-Umgebung mit minimaler Ausfallzeit durchzuführen'],
      ['plan', 'reservedCapacity', 'prepay stable compute demand for one or three years', 'stabile Compute-Nachfrage für ein oder drei Jahre im Voraus zu bezahlen'],
      ['plan', 'vcoreModel', 'select hardware characteristics and separate compute from storage for governance purposes', 'Hardwaremerkmale auszuwählen und Compute für Governance-Zwecke vom Speicher zu trennen'],
      ['secure', 'entraOnlyAuth', 'remove SQL logins and require centralized Microsoft Entra identities only', 'SQL-Anmeldungen zu entfernen und ausschließlich zentrale Microsoft-Entra-Identitäten zu verlangen'],
      ['secure', 'serverFirewall', 'allow an administrator workstation IP address to reach all databases on a logical server', 'einer Administrator-Workstation-IP-Adresse den Zugriff auf alle Datenbanken eines logischen Servers zu erlauben'],
      ['secure', 'tdeByok', 'let the customer control revocation and rotation of the at-rest encryption protector', 'dem Kunden die Kontrolle über Widerruf und Rotation des Schlüssels für die Verschlüsselung ruhender Daten zu geben'],
      ['secure', 'secureEnclave', 'perform richer computations against encrypted columns without exposing plaintext', 'umfangreichere Berechnungen gegen verschlüsselte Spalten auszuführen, ohne Klartext offenzulegen'],
      ['secure', 'sensitivityClassification', 'label sensitive columns so governance teams can review classification data centrally', 'sensible Spalten zu kennzeichnen, damit Governance-Teams Klassifizierungsdaten zentral auswerten können'],
      ['secure', 'ledger', 'make critical tables tamper-evident for audit review', 'kritische Tabellen für Revisionsprüfungen manipulationssicher nachvollziehbar zu machen'],
      ['secure', 'defenderSql', 'receive security alerts for anomalous access patterns and potential attacks', 'Sicherheitswarnungen zu anomalen Zugriffsmustern und potenziellen Angriffen zu erhalten'],
      ['secure', 'vulnerabilityAssessment', 'scan databases for risky settings and missing hardening steps', 'Datenbanken auf riskante Einstellungen und fehlende Härtungsschritte zu prüfen'],
      ['secure', 'privateEndpoint', 'map the service to a private IP address inside a virtual network', 'den Dienst einer privaten IP-Adresse innerhalb eines virtuellen Netzwerks zuzuordnen'],
      ['secure', 'entraAuth', 'use a Microsoft Entra group for access instead of individual SQL passwords', 'eine Microsoft-Entra-Gruppe für den Zugriff anstelle individueller SQL-Passwörter zu verwenden'],
      ['monitor', 'queryStoreWaits', 'identify the wait categories that explain a recent query regression', 'die Wartekategorien zu identifizieren, die eine kürzlich aufgetretene Abfrageplanregression erklären'],
      ['monitor', 'dmvResourceStats', 'compare recent resource usage inside the database without relying on external tooling', 'die aktuelle Ressourcennutzung innerhalb der Datenbank zu vergleichen, ohne sich auf externe Werkzeuge zu verlassen'],
      ['monitor', 'indexRebuild', 'repair heavy index fragmentation after a large purge or churn event', 'starke Indexfragmentierung nach einem großen Lösch- oder Änderungsereignis zu beheben'],
      ['monitor', 'azureMonitorAlerts', 'notify operations when CPU or log I/O metrics exceed a threshold', 'den Betrieb zu benachrichtigen, wenn CPU- oder Log-I/O-Metriken einen Schwellenwert überschreiten'],
      ['monitor', 'logAnalytics', 'correlate diagnostic data across many databases by using KQL queries', 'Diagnosedaten über viele Datenbanken hinweg mithilfe von KQL-Abfragen zu korrelieren'],
      ['monitor', 'queryStore', 'baseline workload behavior before making parameter or indexing changes', 'das Workload-Verhalten zu baselinen, bevor Parameter- oder Indexänderungen vorgenommen werden'],
      ['monitor', 'automaticTuning', 'automatically force the last good plan after qualifying regressions', 'den zuletzt guten Plan nach qualifizierten Regressionen automatisch zu erzwingen'],
      ['monitor', 'intelligentInsights', 'receive automated analysis instead of manually inspecting only raw DMVs and metrics', 'automatisierte Analysen zu erhalten, statt ausschließlich Rohdaten aus DMVs und Metriken manuell zu prüfen'],
      ['monitor', 'updateStatistics', 'refresh optimizer estimates after a large data modification', 'Optimiererschätzungen nach einer großen Datenänderung zu aktualisieren'],
      ['monitor', 'extendedEvents', 'capture lock timeout and deadlock details with lightweight tracing', 'Details zu Sperrzeitüberschreitungen und Deadlocks mit leichtgewichtiger Ablaufverfolgung zu erfassen'],
      ['automate', 'automatedBackups', 'rely on platform-managed backups instead of building custom backup schedules', 'sich auf von der Plattform verwaltete Sicherungen zu verlassen, statt benutzerdefinierte Sicherungspläne zu erstellen'],
      ['automate', 'restoreDeletedDb', 'recover a database that was dropped by mistake', 'eine versehentlich gelöschte Datenbank wiederherzustellen'],
      ['automate', 'pointInTimeRestore', 'clone a database to an earlier moment for investigation', 'eine Datenbank zur Untersuchung auf einen früheren Zeitpunkt zu klonen'],
      ['automate', 'elasticJobs', 'execute the same administrative statement across many pooled databases', 'dieselbe administrative Anweisung über viele gepoolte Datenbanken hinweg auszuführen'],
      ['automate', 'sqlIaasExtension', 'automate supported patching for a fleet of SQL Server virtual machines', 'unterstütztes Patchen für einen Bestand von SQL-Server-virtuellen Maschinen zu automatisieren'],
      ['automate', 'automationRunbook', 'orchestrate scheduled or event-driven administration in Azure', 'geplante oder ereignisgesteuerte Administration in Azure zu orchestrieren'],
      ['automate', 'sqlAgentMi', 'run native multi-step scheduled jobs on Managed Instance', 'native mehrstufige geplante Aufträge auf Managed Instance auszuführen'],
      ['automate', 'ltr', 'retain weekly, monthly, or yearly backups beyond short-term retention', 'wöchentliche, monatliche oder jährliche Sicherungen über die kurzfristige Aufbewahrung hinaus zu behalten'],
      ['automate', 'pointInTimeRestore', 'create an alternate database from platform backups for validation work', 'eine alternative Datenbank aus Plattformbackups für Validierungsarbeiten zu erstellen'],
      ['automate', 'backupStorageGeo', 'increase cross-region restore possibilities by choosing geo-redundant backup storage', 'Cross-Region-Wiederherstellungsoptionen durch georedundanten Sicherungsspeicher zu erweitern'],
      ['hadr', 'failoverGroupDb', 'keep write and read listener endpoints for a group of Azure SQL databases across regions', 'Schreib- und Lese-Listener-Endpunkte für eine Gruppe von Azure-SQL-Datenbanken regionsübergreifend bereitzuhalten'],
      ['hadr', 'activeGeoReplication', 'maintain a single database secondary replica with manual failover control', 'eine sekundäre Replik für eine einzelne Datenbank mit manueller Failover-Steuerung bereitzuhalten'],
      ['hadr', 'zoneRedundancy', 'spread database replicas across availability zones within one region', 'Datenbankreplikate innerhalb einer Region über Verfügbarkeitszonen zu verteilen'],
      ['hadr', 'businessCritical', 'provide built-in local high availability for a mission-critical low-latency workload', 'integrierte lokale Hochverfügbarkeit für einen geschäftskritischen Workload mit niedriger Latenz bereitzustellen'],
      ['hadr', 'geoRestore', 'restore service in another region after a disaster when no secondary exists', 'einen Dienst nach einem Ausfall in einer anderen Region wiederherzustellen, wenn keine sekundäre Replik existiert'],
      ['hadr', 'failoverGroupMi', 'fail over an entire managed instance estate to another region', 'einen gesamten Managed-Instance-Bestand in eine andere Region failoverfähig zu machen'],
      ['hadr', 'agVm', 'use synchronous replicas and a listener on SQL Server running in Azure VMs', 'synchrone Replikate und einen Listener für SQL Server auf Azure-VMs zu verwenden'],
      ['hadr', 'fciVm', 'protect a SQL Server deployment at the whole-instance level by using shared storage', 'eine SQL-Server-Bereitstellung mithilfe von gemeinsamem Speicher auf der Ebene der gesamten Instanz zu schützen'],
      ['hadr', 'readScaleOut', 'offload reporting to a readable replica in a high-availability architecture', 'Berichtslasten in einer Hochverfügbarkeitsarchitektur auf eine lesbare Replik auszulagern'],
      ['hadr', 'backupStorageGeo', 'improve restore options after a regional outage by keeping backups geo-redundant', 'Wiederherstellungsoptionen nach einem regionalen Ausfall durch georedundante Sicherungen zu verbessern']
    ]),
    ...buildMultiples(251, [
      ['plan', 'Which two options best match full operating-system control or near-instance compatibility? Choose all that apply.', 'Welche zwei Optionen passen am besten zu vollständiger Betriebssystemkontrolle oder nahezu vollständiger Instanzkompatibilität? Wählen Sie alle zutreffenden Antworten aus.', ['sqlVm', 'managedInstance'], ['sqlVm', 'managedInstance', 'sqlDb', 'elasticPool', 'serverless']],
      ['plan', 'Which two choices fit bursty or multi-tenant cost optimization? Choose all that apply.', 'Welche zwei Optionen eignen sich für kosteneffiziente burstartige oder mandantenfähige Workloads? Wählen Sie alle zutreffenden Antworten aus.', ['serverless', 'elasticPool'], ['serverless', 'elasticPool', 'sqlVm', 'businessCritical', 'dms']],
      ['plan', 'Which two purchasing models are available for Azure SQL Database? Choose all that apply.', 'Welche zwei Kaufmodelle stehen für Azure SQL Database zur Verfügung? Wählen Sie alle zutreffenden Antworten aus.', ['vcoreModel', 'dtuModel'], ['vcoreModel', 'dtuModel', 'maintenanceWindow', 'elasticPool', 'zoneRedundancy']],
      ['plan', 'Which two capabilities align with a very large read-heavy architecture? Choose all that apply.', 'Welche zwei Funktionen passen zu einer sehr großen leseintensiven Architektur? Wählen Sie alle zutreffenden Antworten aus.', ['hyperscale', 'readScaleOut'], ['hyperscale', 'readScaleOut', 'dtuModel', 'serverFirewall', 'restoreDeletedDb']],
      ['secure', 'Which three controls reduce exposure of sensitive data at rest, in results, or on the client? Choose all that apply.', 'Welche drei Kontrollen reduzieren die Exposition sensibler Daten im Ruhezustand, in Ergebnissen oder auf dem Client? Wählen Sie alle zutreffenden Antworten aus.', ['tdeByok', 'alwaysEncrypted', 'ddm'], ['tdeByok', 'alwaysEncrypted', 'ddm', 'logAnalytics', 'elasticPool']],
      ['secure', 'Which two identity controls centralize access and reduce password dependence? Choose all that apply.', 'Welche zwei Identitätskontrollen zentralisieren den Zugriff und reduzieren die Abhängigkeit von Passwörtern? Wählen Sie alle zutreffenden Antworten aus.', ['entraAuth', 'entraOnlyAuth'], ['entraAuth', 'entraOnlyAuth', 'serverFirewall', 'privateEndpoint', 'vulnerabilityAssessment']],
      ['secure', 'Which two capabilities focus on security posture findings instead of runtime access control? Choose all that apply.', 'Welche zwei Funktionen konzentrieren sich auf Sicherheitsbefunde statt auf Laufzeit-Zugriffskontrolle? Wählen Sie alle zutreffenden Antworten aus.', ['defenderSql', 'vulnerabilityAssessment'], ['defenderSql', 'vulnerabilityAssessment', 'ddm', 'serverFirewall', 'queryStore']],
      ['secure', 'Which two controls are best when you must keep connectivity private and close the public endpoint? Choose all that apply.', 'Welche zwei Maßnahmen sind am besten geeignet, wenn die Konnektivität privat bleiben und der öffentliche Endpunkt geschlossen werden muss? Wählen Sie alle zutreffenden Antworten aus.', ['privateEndpoint', 'disablePublicNetwork'], ['privateEndpoint', 'disablePublicNetwork', 'serverFirewall', 'entraAuth', 'sensitivityClassification']],
      ['monitor', 'Which two tools are best for analyzing regressions and related waits? Choose all that apply.', 'Welche zwei Werkzeuge eignen sich am besten zur Analyse von Regressionen und zugehörigen Wartezeiten? Wählen Sie alle zutreffenden Antworten aus.', ['queryStore', 'queryStoreWaits'], ['queryStore', 'queryStoreWaits', 'extendedEvents', 'restoreDeletedDb', 'privateEndpoint']],
      ['monitor', 'Which two actions address outdated estimates and fragmentation after mass data changes? Choose all that apply.', 'Welche zwei Maßnahmen adressieren veraltete Schätzungen und Fragmentierung nach massiven Datenänderungen? Wählen Sie alle zutreffenden Antworten aus.', ['updateStatistics', 'indexRebuild'], ['updateStatistics', 'indexRebuild', 'logAnalytics', 'ltr', 'ddm']],
      ['monitor', 'Which two services provide centralized monitoring or alerting outside the engine? Choose all that apply.', 'Welche zwei Dienste bieten zentrale Überwachung oder Warnungen außerhalb der Engine? Wählen Sie alle zutreffenden Antworten aus.', ['azureMonitorAlerts', 'logAnalytics'], ['azureMonitorAlerts', 'logAnalytics', 'queryStore', 'tdeByok', 'pointInTimeRestore']],
      ['monitor', 'Which two intelligent features can recommend or correct performance issues automatically? Choose all that apply.', 'Welche zwei intelligenten Funktionen können Leistungsprobleme automatisch empfehlen oder korrigieren? Wählen Sie alle zutreffenden Antworten aus.', ['automaticTuning', 'intelligentInsights'], ['automaticTuning', 'intelligentInsights', 'serverless', 'auditing', 'sqlAgentMi']],
      ['automate', 'Which three backup-related capabilities are relevant when you rely on platform-managed recovery? Choose all that apply.', 'Welche drei sicherungsbezogenen Funktionen sind relevant, wenn Sie auf plattformverwaltete Wiederherstellung setzen? Wählen Sie alle zutreffenden Antworten aus.', ['automatedBackups', 'pointInTimeRestore', 'restoreDeletedDb'], ['automatedBackups', 'pointInTimeRestore', 'restoreDeletedDb', 'elasticJobs', 'zoneRedundancy']],
      ['automate', 'Which two options are best for recurring automation across databases or Azure resources? Choose all that apply.', 'Welche zwei Optionen eignen sich am besten für wiederkehrende Automatisierung über Datenbanken oder Azure-Ressourcen hinweg? Wählen Sie alle zutreffenden Antworten aus.', ['elasticJobs', 'automationRunbook'], ['elasticJobs', 'automationRunbook', 'readScaleOut', 'serverFirewall', 'geoRestore']],
      ['automate', 'Which two features satisfy both long retention and short-term restore needs? Choose all that apply.', 'Welche zwei Funktionen erfüllen sowohl langfristige Aufbewahrung als auch kurzfristige Wiederherstellungsanforderungen? Wählen Sie alle zutreffenden Antworten aus.', ['ltr', 'automatedBackups'], ['ltr', 'automatedBackups', 'queryStore', 'privateEndpoint', 'businessCritical']],
      ['automate', 'Which two built-in schedulers are most relevant for Managed Instance jobs and cross-database Azure SQL jobs? Choose all that apply.', 'Welche zwei integrierten Planer sind für Managed-Instance-Jobs und datenbankübergreifende Azure-SQL-Jobs am relevantesten? Wählen Sie alle zutreffenden Antworten aus.', ['sqlAgentMi', 'elasticJobs'], ['sqlAgentMi', 'elasticJobs', 'pointInTimeRestore', 'alwaysEncrypted', 'activeGeoReplication']],
      ['hadr', 'Which two capabilities are designed for cross-region application failover with listener endpoints? Choose all that apply.', 'Welche zwei Funktionen sind für regionsübergreifendes Anwendungs-Failover mit Listener-Endpunkten vorgesehen? Wählen Sie alle zutreffenden Antworten aus.', ['failoverGroupDb', 'failoverGroupMi'], ['failoverGroupDb', 'failoverGroupMi', 'readScaleOut', 'zoneRedundancy', 'restoreDeletedDb']],
      ['hadr', 'Which two patterns are intended for SQL Server on Azure Virtual Machines? Choose all that apply.', 'Welche zwei Muster sind für SQL Server auf Azure Virtual Machines vorgesehen? Wählen Sie alle zutreffenden Antworten aus.', ['agVm', 'fciVm'], ['agVm', 'fciVm', 'activeGeoReplication', 'geoRestore', 'serverless']],
      ['hadr', 'Which two options provide readable replicas for reporting workloads? Choose all that apply.', 'Welche zwei Optionen stellen lesbare Replikate für Reporting-Workloads bereit? Wählen Sie alle zutreffenden Antworten aus.', ['activeGeoReplication', 'readScaleOut'], ['activeGeoReplication', 'readScaleOut', 'geoRestore', 'backupStorageGeo', 'pointInTimeRestore']],
      ['hadr', 'Which three decisions improve resilience against regional or zonal failures? Choose all that apply.', 'Welche drei Entscheidungen verbessern die Resilienz gegenüber regionalen oder zonalen Ausfällen? Wählen Sie alle zutreffenden Antworten aus.', ['zoneRedundancy', 'geoRestore', 'backupStorageGeo'], ['zoneRedundancy', 'geoRestore', 'backupStorageGeo', 'dtuModel', 'ddm']]
    ]),
    ...buildScenarios(271, [
      ['plan', 'serverless', 'Contoso', 'its sporadically used development database', 'seine sporadisch genutzte Entwicklungsdatenbank', 'keep the database available when developers return after idle periods', 'die Datenbank verfügbar zu halten, wenn Entwicklerinnen und Entwickler nach Leerlaufphasen zurückkehren', 'reduce compute charges while the database is inactive', 'Compute-Kosten zu reduzieren, während die Datenbank inaktiv ist'],
      ['plan', 'dtuModel', 'Fabrikam', 'its small line-of-business database', 'seine kleine Line-of-Business-Datenbank', 'use a simple bundled sizing model for compute, storage, and I/O', 'ein einfaches gebündeltes Größenmodell für Compute, Speicher und I/O zu verwenden', 'avoid spending time on detailed hardware selection for a straightforward workload', 'für einen geradlinigen Workload keine Zeit in detaillierte Hardwareauswahl zu investieren'],
      ['plan', 'generalPurpose', 'Tailwind Traders', 'its standard order-processing platform', 'seine Standardplattform für die Auftragsverarbeitung', 'run on a cost-efficient tier suited to common business workloads', 'auf einem kosteneffizienten Tarif zu laufen, der für typische Geschäftsworkloads geeignet ist', 'use a platform service instead of managing virtual machines', 'einen Plattformdienst zu nutzen, statt virtuelle Maschinen zu verwalten'],
      ['plan', 'businessCritical', 'Litware', 'its mission-critical payment database', 'seine geschäftskritische Zahlungsdatenbank', 'achieve low latency by using local SSD-backed storage and multiple replicas', 'niedrige Latenz mithilfe von lokalem SSD-gestütztem Speicher und mehreren Replikaten zu erreichen', 'keep the service fully managed', 'den Dienst vollständig verwaltet zu halten'],
      ['plan', 'hyperscale', 'Woodgrove Bank', 'its multi-terabyte transaction platform', 'seine transaktionale Plattform im Multi-Terabyte-Bereich', 'scale storage quickly for a very large database', 'den Speicher für eine sehr große Datenbank schnell zu skalieren', 'add replica capacity for read-heavy downstream processes', 'Replikatkapazität für stark leseintensive nachgelagerte Prozesse hinzuzufügen'],
      ['plan', 'dms', 'Trey Research', 'its on-premises SQL Server estate', 'seine lokale SQL-Server-Landschaft', 'migrate production databases online with minimal downtime', 'Produktionsdatenbanken online mit minimaler Ausfallzeit zu migrieren', 'use a Microsoft service designed for database migration orchestration', 'einen Microsoft-Dienst zu verwenden, der für die Orchestrierung von Datenbankmigrationen ausgelegt ist'],
      ['secure', 'entraOnlyAuth', 'Datum Corporation', 'its regulated finance database environment', 'seine regulierte Finanzdatenbankumgebung', 'remove SQL logins from the authentication model', 'SQL-Anmeldungen aus dem Authentifizierungsmodell zu entfernen', 'require centralized Microsoft Entra identities for sign-in', 'zentrale Microsoft-Entra-Identitäten für die Anmeldung zu verlangen'],
      ['secure', 'serverFirewall', 'Northwind Traders', 'its central administration server', 'seinen zentralen Administrationsserver', 'allow one corporate public IP address to reach all databases on the logical server', 'einer zentralen öffentlichen Unternehmens-IP-Adresse den Zugriff auf alle Datenbanken des logischen Servers zu erlauben', 'keep the rule at the logical server boundary', 'die Regel an der Grenze des logischen Servers zu halten'],
      ['secure', 'tdeByok', 'Humongous Insurance', 'its policy database platform', 'seine Policen-Datenbankplattform', 'let the customer own the encryption protector in Azure Key Vault', 'dem Kunden zu erlauben, den Verschlüsselungsschutzschlüssel in Azure Key Vault selbst zu besitzen', 'control key rotation and revocation processes centrally', 'Schlüsselrotation und -widerruf zentral zu steuern'],
      ['secure', 'sensitivityClassification', 'Proseware', 'its governance reporting database', 'seine Governance-Berichtsdatenbank', 'label columns that store personal and regulated data', 'Spalten zu kennzeichnen, die personenbezogene und regulierte Daten speichern', 'provide governance teams with consistent discovery metadata', 'Governance-Teams konsistente Discovery-Metadaten bereitzustellen'],
      ['secure', 'ledger', 'Contoso', 'its legal records database', 'seine Datenbank für Rechtsdokumente', 'make changes to key tables tamper-evident for later verification', 'Änderungen an Schlüsseltabellen für spätere Verifikation manipulationssicher nachvollziehbar zu machen', 'support an audit trail that emphasizes integrity', 'eine Revisionsspur mit Schwerpunkt auf Integrität zu unterstützen'],
      ['secure', 'defenderSql', 'Fabrikam', 'its customer billing database', 'seine Kundenabrechnungsdatenbank', 'receive alerts about suspicious sign-ins and potential attacks', 'Warnungen über verdächtige Anmeldungen und potenzielle Angriffe zu erhalten', 'add security monitoring without building custom detection logic first', 'Sicherheitsüberwachung hinzuzufügen, ohne zunächst eigene Erkennungslogik zu entwickeln'],
      ['monitor', 'queryStoreWaits', 'Tailwind Traders', 'its production ordering database', 'seine produktive Bestelldatenbank', 'analyze which waits explain a parameter-sniffing style regression', 'zu analysieren, welche Wartezeiten eine Regression im Stil von Parameter Sniffing erklären', 'tie that evidence to stored query history', 'diese Erkenntnisse mit gespeichertem Abfrageverlauf zu verknüpfen'],
      ['monitor', 'dmvResourceStats', 'Litware', 'its load-test database', 'seine Lasttestdatenbank', 'inspect recent resource consumption from inside the service', 'den aktuellen Ressourcenverbrauch innerhalb des Dienstes zu untersuchen', 'avoid waiting for an external monitoring export before triage begins', 'nicht auf einen externen Monitoring-Export warten zu müssen, bevor die Analyse beginnt'],
      ['monitor', 'azureMonitorAlerts', 'Woodgrove Bank', 'its payment operations database', 'seine Datenbank für Zahlungsoperationen', 'notify the operations team when log I/O crosses a threshold', 'das Betriebsteam zu benachrichtigen, wenn Log-I/O einen Schwellenwert überschreitet', 'connect the alert to downstream incident handling', 'die Warnung mit nachgelagerter Incident-Bearbeitung zu verknüpfen'],
      ['monitor', 'logAnalytics', 'Trey Research', 'its analytics administration estate', 'seine Administrationslandschaft für Analysen', 'query diagnostic logs centrally with KQL', 'Diagnoseprotokolle zentral mit KQL abzufragen', 'correlate signals across many databases and time periods', 'Signale über viele Datenbanken und Zeiträume hinweg zu korrelieren'],
      ['monitor', 'indexRebuild', 'Datum Corporation', 'its archive processing database', 'seine Datenbank für Archivverarbeitung', 'repair heavy fragmentation after a major purge operation', 'starke Fragmentierung nach einer umfangreichen Bereinigungsoperation zu beheben', 'compact index pages before the next reporting cycle', 'Indexseiten vor dem nächsten Berichtszyklus zu verdichten'],
      ['monitor', 'updateStatistics', 'Northwind Traders', 'its demand-planning database', 'seine Datenbank für Bedarfsplanung', 'refresh optimizer statistics after a large ETL load changed the data distribution', 'Optimiererstatistiken zu aktualisieren, nachdem ein großer ETL-Ladevorgang die Datenverteilung verändert hat', 'improve plan quality for the next planning run', 'die Planqualität für den nächsten Planungslauf zu verbessern'],
      ['automate', 'automationRunbook', 'Humongous Insurance', 'its operational Azure SQL environment', 'seine operative Azure-SQL-Umgebung', 'coordinate recurring administrative tasks with Azure-hosted PowerShell automation', 'wiederkehrende Verwaltungsaufgaben mit in Azure gehosteter PowerShell-Automatisierung zu koordinieren', 'support schedules and orchestration that extend beyond one database command', 'Zeitpläne und Orchestrierung zu unterstützen, die über einen einzelnen Datenbankbefehl hinausgehen'],
      ['automate', 'elasticJobs', 'Proseware', 'its pool of Azure SQL databases', 'seinen Pool aus Azure-SQL-Datenbanken', 'run the same permission grant across many databases every night', 'jede Nacht dieselbe Berechtigungsvergabe über viele Datenbanken hinweg auszuführen', 'manage the recurring task from one central job definition', 'die wiederkehrende Aufgabe aus einer zentralen Auftragsdefinition zu verwalten'],
      ['automate', 'sqlAgentMi', 'Contoso', 'its managed instance deployment', 'seine Managed-Instance-Bereitstellung', 'use the native SQL Server scheduler for a multi-step nightly job', 'den nativen SQL-Server-Zeitplaner für einen mehrstufigen nächtlichen Auftrag zu verwenden', 'stay close to established SQL Server operating practices', 'nahe an etablierten SQL-Server-Betriebsprozessen zu bleiben'],
      ['automate', 'restoreDeletedDb', 'Fabrikam', 'its order archive database', 'seine Auftragsarchivdatenbank', 'recover a database that was dropped yesterday by mistake', 'eine Datenbank wiederherzustellen, die gestern versehentlich gelöscht wurde', 'use platform-managed recovery instead of handcrafted backup scripts', 'plattformverwaltete Wiederherstellung statt handgefertigter Backup-Skripte zu nutzen'],
      ['automate', 'ltr', 'Tailwind Traders', 'its compliance archive database', 'seine Compliance-Archivdatenbank', 'retain backups for ten years', 'Sicherungen zehn Jahre lang aufzubewahren', 'meet a long-term audit requirement on the managed platform', 'eine langfristige Revisionsanforderung auf der verwalteten Plattform zu erfüllen'],
      ['automate', 'sqlIaasExtension', 'Litware', 'its SQL Server VM fleet', 'seinen Bestand an SQL-Server-VMs', 'automate supported patch management for the virtual machines', 'unterstütztes Patch-Management für die virtuellen Maschinen zu automatisieren', 'use the Microsoft-supported management extension for SQL Server on Azure VMs', 'die von Microsoft unterstützte Verwaltungserweiterung für SQL Server auf Azure-VMs zu verwenden'],
      ['hadr', 'failoverGroupDb', 'Woodgrove Bank', 'its customer transaction platform', 'seine Kunden-Transaktionsplattform', 'fail over a group of Azure SQL databases across regions by using listener endpoints', 'eine Gruppe von Azure-SQL-Datenbanken mithilfe von Listener-Endpunkten regionsübergreifend failoverfähig zu machen', 'keep application connection management simple during disaster recovery', 'das Verbindungsmanagement der Anwendung während der Notfallwiederherstellung einfach zu halten'],
      ['hadr', 'activeGeoReplication', 'Trey Research', 'its reporting database', 'seine Berichtsdatenbank', 'maintain one readable secondary in another region', 'eine lesbare sekundäre Datenbank in einer anderen Region bereitzuhalten', 'offload reporting while preserving a disaster recovery copy', 'Berichtslasten auszulagern und zugleich eine Disaster-Recovery-Kopie zu behalten'],
      ['hadr', 'geoRestore', 'Datum Corporation', 'its regional accounting database', 'seine regionale Buchhaltungsdatenbank', 'restore service in another region even though no secondary replica exists', 'den Dienst in einer anderen Region wiederherzustellen, obwohl keine sekundäre Replik existiert', 'rely on the platform backup design for disaster recovery', 'sich für die Notfallwiederherstellung auf das Backup-Design der Plattform zu verlassen'],
      ['hadr', 'fciVm', 'Northwind Traders', 'its legacy ERP deployment on Azure VMs', 'seine Legacy-ERP-Bereitstellung auf Azure-VMs', 'retain an instance-level failover model by using shared storage', 'mithilfe von gemeinsamem Speicher ein Failover-Modell auf Instanzebene beizubehalten', 'protect the whole SQL Server instance rather than one database at a time', 'die gesamte SQL-Server-Instanz statt jeweils nur einer Datenbank zu schützen'],
      ['hadr', 'agVm', 'Humongous Insurance', 'its mission-critical SQL Server IaaS deployment', 'seine geschäftskritische SQL-Server-IaaS-Bereitstellung', 'use synchronous replicas and a listener for application failover', 'synchrone Replikate und einen Listener für Anwendungs-Failover zu verwenden', 'keep full control of the SQL Server instance on Azure VMs', 'die vollständige Kontrolle über die SQL-Server-Instanz auf Azure-VMs zu behalten'],
      ['hadr', 'failoverGroupMi', 'Proseware', 'its managed instance estate', 'seinen Managed-Instance-Bestand', 'replicate and fail over all user databases to another region', 'alle Benutzerdatenbanken in eine andere Region zu replizieren und failoverfähig zu machen', 'use the native disaster recovery feature for Managed Instance', 'die native Disaster-Recovery-Funktion für Managed Instance zu verwenden']
    ])
  ];

  if (window.ExamData && window.ExamData['dp-300']) {
    window.ExamData['dp-300'].questions = window.ExamData['dp-300'].questions.concat(extra);
  }
})();
