(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'],
    vcoreModel: ['vCore purchasing model', 'vCore-Kaufmodell', 'vcoreModel'],
    dtuModel: ['DTU purchasing model', 'DTU-Kaufmodell', 'dtuModel'],
    maintenanceWindow: ['Maintenance window', 'Wartungsfenster', 'maintenanceWindow'],
    zoneRedundancy: ['Zone redundancy', 'Zonenredundanz', 'zoneRedundancy'],
    hybridBenefit: ['Azure Hybrid Benefit', 'Azure Hybrid Benefit', 'hybridBenefit'],
    reservedCapacity: ['Reserved capacity', 'Reservierte Kapazität', 'reservedCapacity'],
    privateEndpoint: ['Private endpoint', 'Privater Endpunkt', 'privateEndpoint'],
    disablePublicNetwork: ['Disable public network access', 'Öffentlichen Netzwerkzugriff deaktivieren', 'privateEndpoint'],
    serverFirewall: ['Server-level firewall rules', 'Firewallregeln auf Serverebene', 'firewall'],
    databaseFirewall: ['Database-level firewall rules', 'Firewallregeln auf Datenbankebene', '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'],
    rls: ['Row-Level Security', 'Row-Level Security', 'rls'],
    auditing: ['Auditing', 'Auditing', 'auditing'],
    defenderSql: ['Defender for SQL', 'Defender for SQL', 'defenderSql'],
    vulnerabilityAssessment: ['Vulnerability assessment', 'Sicherheitsrisikobewertung', 'vulnerabilityAssessment'],
    queryStore: ['Query Store', 'Query Store', 'queryStore'],
    automaticTuning: ['Automatic tuning', 'Automatische Optimierung', 'automaticTuning'],
    intelligentInsights: ['Intelligent Insights', 'Intelligent Insights', 'intelligentInsights'],
    queryPerformanceInsight: ['Query Performance Insight', 'Query Performance Insight', 'queryPerformanceInsight'],
    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', 'vcoreModel', 'dtuModel', 'maintenanceWindow', 'zoneRedundancy', 'hybridBenefit', 'reservedCapacity'],
    secure: ['privateEndpoint', 'disablePublicNetwork', 'serverFirewall', 'databaseFirewall', 'entraAuth', 'entraOnlyAuth', 'tdeByok', 'alwaysEncrypted', 'secureEnclave', 'ddm', 'rls', 'auditing', 'defenderSql', 'vulnerabilityAssessment'],
    monitor: ['queryStore', 'automaticTuning', 'intelligentInsights', 'queryPerformanceInsight', '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(101, [
      ['plan', 'serverless', 'automatically pause compute during long idle periods and resume when activity returns', 'Compute bei längeren Leerlaufphasen automatisch anzuhalten und bei neuer Aktivität fortzusetzen'],
      ['plan', 'elasticPool', 'share a pool of compute across many small databases with different usage peaks', 'einen gemeinsamen Computepool über viele kleine Datenbanken mit unterschiedlichen Lastspitzen hinweg zu nutzen'],
      ['plan', 'hyperscale', 'scale a transactional database to very large storage sizes with fast growth', 'eine transaktionale Datenbank mit schnellem Wachstum auf sehr große Speichergrößen zu skalieren'],
      ['plan', 'managedInstance', 'migrate workloads that rely on SQL Agent jobs and cross-database queries with minimal code changes', 'Workloads mit SQL-Agent-Aufträgen und datenbankübergreifenden Abfragen mit minimalen Codeänderungen zu migrieren'],
      ['plan', 'sqlVm', 'keep full operating system and instance-level control for the SQL Server deployment', 'die vollständige Kontrolle über Betriebssystem und Instanz für die SQL-Server-Bereitstellung zu behalten'],
      ['plan', 'maintenanceWindow', 'schedule platform maintenance for a predictable time period', 'Plattformwartung für einen vorhersehbaren Zeitraum einzuplanen'],
      ['plan', 'vcoreModel', 'choose compute and storage independently and align hardware selection with governance requirements', 'Compute und Speicher getrennt auszuwählen und die Hardwareauswahl an Governance-Anforderungen auszurichten'],
      ['plan', 'hybridBenefit', 'apply eligible SQL Server licenses to reduce the vCore cost of a managed service', 'berechtigte SQL-Server-Lizenzen zu nutzen, um die vCore-Kosten eines verwalteten Dienstes zu senken'],
      ['plan', 'reservedCapacity', 'reduce long-term cost for a steady workload by committing to capacity in advance', 'die langfristigen Kosten für einen konstanten Workload durch eine vorab festgelegte Kapazitätsbindung zu senken'],
      ['plan', 'zoneRedundancy', 'keep database replicas across availability zones in the same region', 'Datenbankreplikate über Verfügbarkeitszonen derselben Region hinweg bereitzuhalten'],
      ['secure', 'privateEndpoint', 'provide private IP connectivity from a virtual network to Azure SQL', 'private IP-Konnektivität aus einem virtuellen Netzwerk zu Azure SQL bereitzustellen'],
      ['secure', 'databaseFirewall', 'allow one partner IP address to access only a single database instead of the whole server', 'einer Partner-IP-Adresse den Zugriff nur auf eine einzelne Datenbank statt auf den gesamten Server zu erlauben'],
      ['secure', 'entraAuth', 'use Microsoft Entra users and groups for database authentication', 'Microsoft-Entra-Benutzer und -Gruppen für die Datenbankauthentifizierung zu verwenden'],
      ['secure', 'tdeByok', 'control the TDE protector in Azure Key Vault and manage key rotation centrally', 'den TDE-Schutzschlüssel in Azure Key Vault zu steuern und die Schlüsselrotation zentral zu verwalten'],
      ['secure', 'alwaysEncrypted', 'keep sensitive column values hidden from database administrators', 'sensible Spaltenwerte vor Datenbankadministratoren zu verbergen'],
      ['secure', 'secureEnclave', 'perform richer operations on encrypted columns without exposing plaintext values', 'umfangreichere Operationen auf verschlüsselten Spalten auszuführen, ohne Klartextwerte offenzulegen'],
      ['secure', 'ddm', 'obfuscate sensitive query results for support staff while leaving stored data unchanged', 'sensible Abfrageergebnisse für Supportmitarbeitende zu verschleiern, ohne die gespeicherten Daten zu verändern'],
      ['secure', 'rls', 'filter query results so that each salesperson sees only the permitted rows', 'Abfrageergebnisse so zu filtern, dass jede Vertriebsmitarbeiterin und jeder Vertriebsmitarbeiter nur berechtigte Zeilen sieht'],
      ['secure', 'auditing', 'record database events for compliance reviews and investigations', 'Datenbankereignisse für Compliance-Prüfungen und Untersuchungen aufzuzeichnen'],
      ['secure', 'defenderSql', 'receive alerts about anomalous logins and possible SQL injection behavior', 'Warnungen zu anomalen Anmeldungen und möglichem SQL-Injection-Verhalten zu erhalten'],
      ['monitor', 'queryStore', 'retain query history and force a previously known good execution plan', 'Abfrageverlauf aufzubewahren und einen zuvor bekannten guten Ausführungsplan zu erzwingen'],
      ['monitor', 'automaticTuning', 'let the service automatically correct certain plan regressions and index issues', 'den Dienst bestimmte Planregressionen und Indexprobleme automatisch korrigieren zu lassen'],
      ['monitor', 'intelligentInsights', 'receive built-in root-cause analysis for performance degradations', 'eine integrierte Ursachenanalyse für Leistungsverschlechterungen zu erhalten'],
      ['monitor', 'queryPerformanceInsight', 'identify the top resource-consuming statements in the Azure portal', 'die ressourcenintensivsten Anweisungen im Azure-Portal zu identifizieren'],
      ['monitor', 'dmvResourceStats', 'inspect recent CPU, data I/O, and log I/O usage directly from a DMV', 'die aktuelle CPU-, Daten-I/O- und Log-I/O-Auslastung direkt über eine DMV zu prüfen'],
      ['monitor', 'queryStoreWaits', 'analyze which wait categories are associated with regressed queries', 'zu analysieren, welche Wartekategorien mit regressiven Abfragen verbunden sind'],
      ['monitor', 'extendedEvents', 'capture lightweight troubleshooting data for blocking and deadlock analysis', 'leichtgewichtige Diagnosedaten für Blocking- und Deadlock-Analysen zu erfassen'],
      ['monitor', 'updateStatistics', 'refresh cardinality metadata after large data changes affect estimates', 'Kardinalitätsmetadaten zu aktualisieren, nachdem große Datenänderungen Schätzungen beeinflusst haben'],
      ['monitor', 'indexRebuild', 'remove heavy fragmentation and compact index pages after extensive churn', 'starke Fragmentierung zu beseitigen und Indexseiten nach umfangreichen Änderungen zu verdichten'],
      ['monitor', 'azureMonitorAlerts', 'trigger an alert and action group when a performance metric crosses a threshold', 'eine Warnung und eine Aktionsgruppe auszulösen, wenn eine Leistungsmetrik einen Schwellenwert überschreitet'],
      ['automate', 'automatedBackups', 'restore a database without building custom backup jobs', 'eine Datenbank wiederherzustellen, ohne eigene Backup-Jobs zu erstellen'],
      ['automate', 'ltr', 'keep backups for years to satisfy regulatory retention requirements', 'Sicherungen über Jahre hinweg aufzubewahren, um regulatorische Aufbewahrungsanforderungen zu erfüllen'],
      ['automate', 'pointInTimeRestore', 'recover a database to a precise earlier moment', 'eine Datenbank auf einen exakten früheren Zeitpunkt wiederherzustellen'],
      ['automate', 'elasticJobs', 'run the same administrative T-SQL against many Azure SQL databases', 'dasselbe administrative T-SQL gegen viele Azure-SQL-Datenbanken auszuführen'],
      ['automate', 'automationRunbook', 'orchestrate scheduled administrative tasks with Azure-hosted automation', 'geplante Verwaltungsaufgaben mit in Azure gehosteter Automatisierung zu orchestrieren'],
      ['automate', 'sqlAgentMi', 'schedule native SQL Agent jobs on Azure SQL Managed Instance', 'native SQL-Agent-Aufträge auf Azure SQL Managed Instance zu planen'],
      ['automate', 'sqlIaasExtension', 'automate supported management tasks for SQL Server on Azure Virtual Machines', 'unterstützte Verwaltungsaufgaben für SQL Server auf Azure Virtual Machines zu automatisieren'],
      ['automate', 'restoreDeletedDb', 'recover a database that was dropped recently', 'eine Datenbank wiederherzustellen, die vor kurzem gelöscht wurde'],
      ['automate', 'pointInTimeRestore', 'create a recovery copy from platform backups without overwriting the source database', 'eine Wiederherstellungskopie aus Plattformbackups zu erstellen, ohne die Quelldatenbank zu überschreiben'],
      ['automate', 'backupStorageGeo', 'increase restore options by using geo-redundant platform backups', 'Wiederherstellungsoptionen durch georedundante Plattformbackups zu erweitern'],
      ['hadr', 'failoverGroupDb', 'fail over a group of Azure SQL databases together by using a listener endpoint', 'eine Gruppe von Azure-SQL-Datenbanken gemeinsam über einen Listener-Endpunkt failoverfähig zu machen'],
      ['hadr', 'activeGeoReplication', 'maintain a readable secondary database in another region', 'eine lesbare sekundäre Datenbank in einer anderen Region bereitzuhalten'],
      ['hadr', 'geoRestore', 'recover a database in another region when no secondary replica exists', 'eine Datenbank in einer anderen Region wiederherzustellen, wenn keine sekundäre Replik vorhanden ist'],
      ['hadr', 'agVm', 'provide SQL Server high availability on Azure VMs with full instance control', 'SQL-Server-Hochverfügbarkeit auf Azure-VMs mit vollständiger Instanzkontrolle bereitzustellen'],
      ['hadr', 'fciVm', 'protect the entire SQL Server instance on Azure VMs by using shared storage', 'die gesamte SQL-Server-Instanz auf Azure-VMs mithilfe von gemeinsam genutztem Speicher zu schützen'],
      ['hadr', 'businessCritical', 'use built-in local high availability with low latency for mission-critical databases', 'integrierte lokale Hochverfügbarkeit mit niedriger Latenz für geschäftskritische Datenbanken zu nutzen'],
      ['hadr', 'failoverGroupMi', 'fail over all user databases of a managed instance to another region', 'alle Benutzerdatenbanken einer Managed Instance in eine andere Region failoverfähig zu machen'],
      ['hadr', 'readScaleOut', 'offload read-only reporting to a readable replica', 'schreibgeschützte Berichte auf eine lesbare Replik auszulagern'],
      ['hadr', 'backupStorageGeo', 'maximize restore possibilities after a regional outage by keeping backups geo-redundant', 'Wiederherstellungsmöglichkeiten nach einem regionalen Ausfall durch georedundante Sicherungen zu maximieren'],
      ['hadr', 'zoneRedundancy', 'spread replicas across zones to withstand a zonal failure in the primary region', 'Replikate über Zonen zu verteilen, um einen Zonenausfall in der primären Region zu überstehen']
    ]),
    ...buildMultiples(151, [
      ['plan', 'Which two cost controls are most relevant for a steady licensed vCore workload? Choose all that apply.', 'Welche zwei Kostensteuerungen sind für einen konstanten lizenzierten vCore-Workload am relevantesten? Wählen Sie alle zutreffenden Antworten aus.', ['hybridBenefit', 'reservedCapacity'], ['hybridBenefit', 'reservedCapacity', 'vcoreModel', 'dtuModel', 'maintenanceWindow']],
      ['plan', 'Which two options are best for many small single databases with different demand peaks? Choose all that apply.', 'Welche zwei Optionen sind für viele kleine Einzeldatenbanken mit unterschiedlichen Lastspitzen am besten geeignet? Wählen Sie alle zutreffenden Antworten aus.', ['elasticPool', 'serverless'], ['elasticPool', 'serverless', 'sqlVm', 'managedInstance', 'dtuModel']],
      ['plan', 'Which two deployment choices provide the broadest engine compatibility for migrated workloads? Choose all that apply.', 'Welche zwei Bereitstellungsoptionen bieten für migrierte Workloads die größte Engine-Kompatibilität? Wählen Sie alle zutreffenden Antworten aus.', ['managedInstance', 'sqlVm'], ['managedInstance', 'sqlVm', 'sqlDb', 'hyperscale', 'elasticPool']],
      ['plan', 'Which two capabilities improve resilience inside a single region? Choose all that apply.', 'Welche zwei Funktionen verbessern die Resilienz innerhalb einer einzelnen Region? Wählen Sie alle zutreffenden Antworten aus.', ['zoneRedundancy', 'businessCritical'], ['zoneRedundancy', 'businessCritical', 'reservedCapacity', 'vcoreModel', 'sqlDb']],
      ['secure', 'Which two controls help keep Azure SQL traffic off the public internet? Choose all that apply.', 'Welche zwei Maßnahmen helfen dabei, Azure-SQL-Datenverkehr vom öffentlichen Internet fernzuhalten? Wählen Sie alle zutreffenden Antworten aus.', ['privateEndpoint', 'disablePublicNetwork'], ['privateEndpoint', 'disablePublicNetwork', 'serverFirewall', 'databaseFirewall', 'auditing']],
      ['secure', 'Which two features protect sensitive data from different layers of exposure? Choose all that apply.', 'Welche zwei Funktionen schützen sensible Daten auf unterschiedlichen Expositionsschichten? Wählen Sie alle zutreffenden Antworten aus.', ['alwaysEncrypted', 'ddm'], ['alwaysEncrypted', 'ddm', 'auditing', 'serverFirewall', 'elasticPool']],
      ['secure', 'Which two identity controls support centralized sign-in and less password management? Choose all that apply.', 'Welche zwei Identitätskontrollen unterstützen eine zentrale Anmeldung und weniger Passwortverwaltung? Wählen Sie alle zutreffenden Antworten aus.', ['entraAuth', 'entraOnlyAuth'], ['entraAuth', 'entraOnlyAuth', 'serverFirewall', 'privateEndpoint', 'ddm']],
      ['secure', 'Which three capabilities help you detect, assess, or record security-related activity for review? Choose all that apply.', 'Welche drei Funktionen helfen dabei, sicherheitsbezogene Aktivitäten zu erkennen, zu bewerten oder für Prüfungen aufzuzeichnen? Wählen Sie alle zutreffenden Antworten aus.', ['auditing', 'defenderSql', 'vulnerabilityAssessment'], ['auditing', 'defenderSql', 'vulnerabilityAssessment', 'elasticPool', 'queryStore']],
      ['monitor', 'Which two tools are best for investigating query plan regressions and related waits? Choose all that apply.', 'Welche zwei Werkzeuge eignen sich am besten, um Abfrageplanregressionen und zugehörige Wartezeiten zu untersuchen? Wählen Sie alle zutreffenden Antworten aus.', ['queryStore', 'queryStoreWaits'], ['queryStore', 'queryStoreWaits', 'logAnalytics', 'indexRebuild', 'auditing']],
      ['monitor', 'Which two actions usually address stale estimates and heavy fragmentation after major data movement? Choose all that apply.', 'Welche zwei Maßnahmen beheben in der Regel veraltete Schätzungen und starke Fragmentierung nach großen Datenbewegungen? Wählen Sie alle zutreffenden Antworten aus.', ['updateStatistics', 'indexRebuild'], ['updateStatistics', 'indexRebuild', 'extendedEvents', 'privateEndpoint', 'automatedBackups']],
      ['monitor', 'Which two built-in options can show top resource-consuming queries without custom coding? Choose all that apply.', 'Welche zwei integrierten Optionen können die ressourcenintensivsten Abfragen ohne benutzerdefinierten Code anzeigen? Wählen Sie alle zutreffenden Antworten aus.', ['queryStore', 'queryPerformanceInsight'], ['queryStore', 'queryPerformanceInsight', 'dmvResourceStats', 'ddm', 'automationRunbook']],
      ['monitor', 'Which two services are most relevant for centralized monitoring and alerting outside the database engine? Choose all that apply.', 'Welche zwei Dienste sind für zentrale Überwachung und Warnungen außerhalb der Datenbank-Engine am relevantesten? Wählen Sie alle zutreffenden Antworten aus.', ['azureMonitorAlerts', 'logAnalytics'], ['azureMonitorAlerts', 'logAnalytics', 'indexRebuild', 'pointInTimeRestore', 'queryStoreWaits']],
      ['automate', 'Which two recovery capabilities let you move back to an earlier state by using platform backups? Choose all that apply.', 'Welche zwei Wiederherstellungsfunktionen ermöglichen es Ihnen, mithilfe von Plattformbackups zu einem früheren Zustand zurückzukehren? Wählen Sie alle zutreffenden Antworten aus.', ['pointInTimeRestore', 'restoreDeletedDb'], ['pointInTimeRestore', 'restoreDeletedDb', 'elasticJobs', 'serverless', 'queryStore']],
      ['automate', 'Which two options are best for recurring administration across many databases or Azure resources? Choose all that apply.', 'Welche zwei Optionen eignen sich am besten für wiederkehrende Administration über viele Datenbanken oder Azure-Ressourcen hinweg? Wählen Sie alle zutreffenden Antworten aus.', ['elasticJobs', 'automationRunbook'], ['elasticJobs', 'automationRunbook', 'pointInTimeRestore', 'geoRestore', 'vulnerabilityAssessment']],
      ['automate', 'Which two capabilities provide built-in job scheduling on Managed Instance and Azure SQL Database respectively? Choose all that apply.', 'Welche zwei Funktionen bieten integrierte Auftragsplanung jeweils für Managed Instance und Azure SQL Database? Wählen Sie alle zutreffenden Antworten aus.', ['sqlAgentMi', 'elasticJobs'], ['sqlAgentMi', 'elasticJobs', 'ltr', 'tdeByok', 'activeGeoReplication']],
      ['automate', 'Which two backup-related features satisfy both short-term recovery and multi-year compliance retention? Choose all that apply.', 'Welche zwei sicherungsbezogenen Funktionen erfüllen sowohl die kurzfristige Wiederherstellung als auch die mehrjährige Compliance-Aufbewahrung? Wählen Sie alle zutreffenden Antworten aus.', ['automatedBackups', 'ltr'], ['automatedBackups', 'ltr', 'queryStore', 'privateEndpoint', 'zoneRedundancy']],
      ['hadr', 'Which two capabilities can provide readable secondaries in another region? Choose all that apply.', 'Welche zwei Funktionen können lesbare sekundäre Datenbanken in einer anderen Region bereitstellen? Wählen Sie alle zutreffenden Antworten aus.', ['activeGeoReplication', 'failoverGroupDb'], ['activeGeoReplication', 'failoverGroupDb', 'geoRestore', 'fciVm', 'backupStorageGeo']],
      ['hadr', 'Which two high-availability patterns are designed for SQL Server on Azure Virtual Machines? Choose all that apply.', 'Welche zwei Hochverfügbarkeitsmuster sind für SQL Server auf Azure Virtual Machines vorgesehen? Wählen Sie alle zutreffenden Antworten aus.', ['agVm', 'fciVm'], ['agVm', 'fciVm', 'activeGeoReplication', 'failoverGroupDb', 'readScaleOut']],
      ['hadr', 'Which two choices are most relevant when you need regional recovery but do not maintain a secondary replica? Choose all that apply.', 'Welche zwei Optionen sind am relevantesten, wenn Sie regionale Wiederherstellung benötigen, aber keine sekundäre Replik betreiben? Wählen Sie alle zutreffenden Antworten aus.', ['geoRestore', 'backupStorageGeo'], ['geoRestore', 'backupStorageGeo', 'agVm', 'serverless', 'auditing']],
      ['hadr', 'Which two features support application failover with a stable listener endpoint? Choose all that apply.', 'Welche zwei Funktionen unterstützen ein Anwendungs-Failover mit einem stabilen Listener-Endpunkt? Wählen Sie alle zutreffenden Antworten aus.', ['failoverGroupDb', 'failoverGroupMi'], ['failoverGroupDb', 'failoverGroupMi', 'readScaleOut', 'zoneRedundancy', 'pointInTimeRestore']]
    ]),
    ...buildScenarios(171, [
      ['plan', 'serverless', 'Contoso', 'its internal finance reporting database', 'seine interne Finanzberichtsdatenbank', 'keep the database online during business hours but stop paying for compute at night and on weekends', 'die Datenbank während der Geschäftszeiten online zu halten, aber nachts und am Wochenende keine Compute-Kosten zu verursachen', 'resume automatically when analysts reconnect on Monday morning', 'die Datenbank automatisch fortzusetzen, wenn sich Analystinnen und Analysten am Montagmorgen wieder verbinden'],
      ['plan', 'elasticPool', 'Fabrikam', 'its multi-tenant SaaS database estate', 'seine mandantenfähige SaaS-Datenbanklandschaft', 'share resources across hundreds of small tenant databases with different activity patterns', 'Ressourcen über Hunderte kleiner Mandantendatenbanken mit unterschiedlichen Aktivitätsmustern zu teilen', 'avoid paying for peak capacity on every tenant database individually', 'zu vermeiden, für jede Mandantendatenbank einzeln Spitzenkapazität zu bezahlen'],
      ['plan', 'hyperscale', 'Tailwind Traders', 'its rapidly growing order platform', 'seine schnell wachsende Auftragsplattform', 'support a transactional database that is already several terabytes in size and still growing quickly', 'eine transaktionale Datenbank zu unterstützen, die bereits mehrere Terabyte groß ist und weiterhin schnell wächst', 'keep storage growth and copy operations efficient as the workload expands', 'Speicherwachstum und Kopiervorgänge auch bei wachsendem Workload effizient zu halten'],
      ['plan', 'managedInstance', 'Litware', 'its migrated line-of-business database platform', 'seine migrierte Line-of-Business-Datenbankplattform', 'retain SQL Agent jobs and cross-database queries with minimal application changes', 'SQL-Agent-Aufträge und datenbankübergreifende Abfragen mit minimalen Anwendungsänderungen beizubehalten', 'stay on a managed platform instead of administering the operating system', 'auf einer verwalteten Plattform zu bleiben, statt das Betriebssystem zu administrieren'],
      ['plan', 'sqlVm', 'Woodgrove Bank', 'its regulated payment processing environment', 'seine regulierte Zahlungsabwicklungsumgebung', 'keep full instance and operating system control for a specialized SQL Server deployment', 'die vollständige Kontrolle über Instanz und Betriebssystem für eine spezialisierte SQL-Server-Bereitstellung zu behalten', 'support software components that must run directly on the virtual machine', 'Softwarekomponenten zu unterstützen, die direkt auf der virtuellen Maschine ausgeführt werden müssen'],
      ['plan', 'maintenanceWindow', 'Trey Research', 'its production research database', 'seine produktive Forschungsdatenbank', 'run platform maintenance during a predictable low-usage period', 'Plattformwartung in einem vorhersehbaren Zeitraum mit geringer Auslastung durchzuführen', 'reduce the chance that disruptive updates overlap with critical overnight processing', 'die Wahrscheinlichkeit zu verringern, dass störende Updates mit kritischer Nachtverarbeitung zusammenfallen'],
      ['secure', 'privateEndpoint', 'Datum Corporation', 'its payroll database platform', 'seine Gehaltsabrechnungs-Datenbankplattform', 'keep connectivity on private IP addresses inside the virtual network', 'Konnektivität über private IP-Adressen innerhalb des virtuellen Netzwerks sicherzustellen', 'eliminate dependence on a public endpoint for database access', 'die Abhängigkeit von einem öffentlichen Endpunkt für den Datenbankzugriff zu beseitigen'],
      ['secure', 'databaseFirewall', 'Northwind Traders', 'its supplier settlement database', 'seine Datenbank für Lieferantenabrechnungen', 'allow a vendor IP address to reach only one database', 'einer Lieferanten-IP-Adresse den Zugriff nur auf eine Datenbank zu erlauben', 'avoid granting access to all databases on the logical server', 'zu vermeiden, Zugriff auf alle Datenbanken des logischen Servers zu gewähren'],
      ['secure', 'alwaysEncrypted', 'Humongous Insurance', 'its claims processing database', 'seine Schadensbearbeitungsdatenbank', 'prevent database administrators from seeing sensitive customer identifiers in plaintext', 'zu verhindern, dass Datenbankadministratoren sensible Kundenkennungen im Klartext sehen', 'keep encryption and decryption responsibilities with the client side', 'die Verantwortung für Ver- und Entschlüsselung auf der Clientseite zu belassen'],
      ['secure', 'ddm', 'Proseware', 'its customer support database', 'seine Kundensupport-Datenbank', 'hide most digits of phone numbers and account values from call center staff', 'die meisten Ziffern von Telefonnummern und Kontowerten vor Callcenter-Mitarbeitenden zu verbergen', 'leave the underlying stored values unchanged for privileged users and processes', 'die zugrunde liegenden gespeicherten Werte für privilegierte Benutzer und Prozesse unverändert zu lassen'],
      ['secure', 'rls', 'Contoso', 'its regional sales reporting database', 'seine regionale Vertriebsberichtsdatenbank', 'ensure that each sales representative sees only rows for the assigned territory', 'sicherzustellen, dass jede Vertriebsmitarbeiterin und jeder Vertriebsmitarbeiter nur Zeilen für das zugewiesene Gebiet sieht', 'apply the filter automatically in every query path', 'den Filter automatisch in jedem Abfragepfad anzuwenden'],
      ['secure', 'auditing', 'Fabrikam', 'its compliance reporting environment', 'seine Compliance-Berichtsumgebung', 'record sign-ins, schema changes, and access events for later review', 'Anmeldungen, Schemaänderungen und Zugriffsereignisse zur späteren Prüfung aufzuzeichnen', 'send evidence to a durable destination that the audit team can review centrally', 'Nachweise an ein dauerhaftes Ziel zu senden, das das Revisionsteam zentral auswerten kann'],
      ['monitor', 'queryStore', 'Tailwind Traders', 'its order management database', 'seine Auftragsverwaltungsdatenbank', 'keep execution history across plan changes after a deployment', 'Ausführungsverlauf über Planänderungen nach einer Bereitstellung hinweg aufzubewahren', 'force the previously known good plan if the new plan performs worse', 'den zuvor bekannten guten Plan zu erzwingen, wenn der neue Plan schlechter arbeitet'],
      ['monitor', 'automaticTuning', 'Litware', 'its customer transaction database', 'seine Kundentransaktionsdatenbank', 'let the platform automatically correct qualifying plan regressions and indexing issues', 'die Plattform qualifizierte Planregressionen und Indexprobleme automatisch korrigieren zu lassen', 'reduce manual intervention for recurring performance adjustments', 'den manuellen Aufwand für wiederkehrende Leistungsanpassungen zu reduzieren'],
      ['monitor', 'intelligentInsights', 'Woodgrove Bank', 'its treasury operations database', 'seine Treasury-Datenbank', 'receive built-in diagnostics that explain why latency increased overnight', 'integrierte Diagnosen zu erhalten, die erklären, warum die Latenz über Nacht gestiegen ist', 'help the operations team start with root-cause evidence instead of raw telemetry alone', 'dem Betriebsteam zu helfen, mit Ursachenbelegen statt nur mit Rohtelemetrie zu beginnen'],
      ['monitor', 'queryPerformanceInsight', 'Trey Research', 'its analytics control database', 'seine Datenbank zur Steuerung von Analysen', 'show the most CPU-intensive and longest-running queries in the portal', 'die CPU-intensivsten und am längsten laufenden Abfragen im Portal anzuzeigen', 'give administrators a quick starting point for tuning work', 'Administratoren einen schnellen Ausgangspunkt für Optimierungsarbeiten zu geben'],
      ['monitor', 'extendedEvents', 'Datum Corporation', 'its manufacturing execution database', 'seine Fertigungssteuerungsdatenbank', 'capture lightweight troubleshooting data for intermittent blocking and deadlocks', 'leichtgewichtige Diagnosedaten für sporadisches Blocking und Deadlocks zu erfassen', 'avoid building a heavy custom trace solution for every incident', 'für jeden Vorfall keine schwere benutzerdefinierte Ablaufverfolgung aufbauen zu müssen'],
      ['monitor', 'updateStatistics', 'Northwind Traders', 'its warehouse replenishment database', 'seine Datenbank für Lagerauffüllung', 'refresh optimizer statistics after a large batch load changed the data distribution', 'Optimiererstatistiken zu aktualisieren, nachdem ein großer Batch-Ladevorgang die Datenverteilung verändert hat', 'improve cardinality estimates before the next planning run starts', 'Kardinalitätsschätzungen zu verbessern, bevor der nächste Planungslauf beginnt'],
      ['automate', 'pointInTimeRestore', 'Humongous Insurance', 'its policy administration database', 'seine Bestandsführungsdatenbank', 'recover the database to 14:15 after an accidental delete at 14:20', 'die Datenbank nach einem versehentlichen Löschvorgang um 14:20 auf 14:15 wiederherzustellen', 'use the managed backup chain instead of maintaining custom scripts', 'die verwaltete Sicherungskette zu verwenden, statt eigene Skripte zu pflegen'],
      ['automate', 'ltr', 'Proseware', 'its policy archive database', 'seine Archivdatenbank für Policen', 'retain backups for seven years to satisfy an audit mandate', 'Sicherungen sieben Jahre lang aufzubewahren, um eine Revisionsvorgabe zu erfüllen', 'keep the retention policy on the managed platform', 'die Aufbewahrungsrichtlinie auf der verwalteten Plattform beizubehalten'],
      ['automate', 'elasticJobs', 'Contoso', 'its fleet of Azure SQL tenant databases', 'seinen Bestand an Azure-SQL-Mandantendatenbanken', 'run the same index maintenance statement across more than one hundred databases every night', 'dieselbe Indexwartungsanweisung jede Nacht über mehr als hundert Datenbanken hinweg auszuführen', 'manage the recurring task from a central job definition', 'die wiederkehrende Aufgabe aus einer zentralen Auftragsdefinition heraus zu verwalten'],
      ['automate', 'automationRunbook', 'Fabrikam', 'its operational Azure SQL environment', 'seine operative Azure-SQL-Umgebung', 'schedule PowerShell-based administration from Azure-hosted automation', 'PowerShell-basierte Administration aus einer in Azure gehosteten Automatisierung heraus zu planen', 'orchestrate tasks that extend beyond a single database engine operation', 'Aufgaben zu orchestrieren, die über eine einzelne Datenbank-Engine-Operation hinausgehen'],
      ['automate', 'sqlAgentMi', 'Tailwind Traders', 'its managed instance environment', 'seine Managed-Instance-Umgebung', 'run a nightly checksum job by using the native SQL Server scheduler', 'einen nächtlichen Prüfsummenauftrag mit dem nativen SQL-Server-Zeitplaner auszuführen', 'keep the scheduling model close to existing SQL Server operations practices', 'das Planungsmodell nahe an bestehenden SQL-Server-Betriebsprozessen zu halten'],
      ['automate', 'sqlIaasExtension', 'Litware', 'its SQL Server virtual machine estate', 'seinen Bestand an SQL-Server-virtuellen Maschinen', 'automate supported patching and management tasks for the database virtual machines', 'unterstütztes Patchen und Verwaltungsaufgaben für die Datenbank-VMs zu automatisieren', 'use the Microsoft-supported management component for SQL Server on Azure VMs', 'die von Microsoft unterstützte Verwaltungskomponente für SQL Server auf Azure-VMs zu verwenden'],
      ['hadr', 'failoverGroupDb', 'Woodgrove Bank', 'its customer-facing transaction platform', 'seine kundenorientierte Transaktionsplattform', 'fail over several Azure SQL databases together to another region', 'mehrere Azure-SQL-Datenbanken gemeinsam in eine andere Region failovern zu können', 'keep application connection management simple by using a listener endpoint', 'das Verbindungsmanagement der Anwendung durch einen Listener-Endpunkt einfach zu halten'],
      ['hadr', 'activeGeoReplication', 'Trey Research', 'its reporting database', 'seine Berichtsdatenbank', 'maintain a readable secondary in another region for disaster recovery and reporting', 'eine lesbare sekundäre Datenbank in einer anderen Region für Notfallwiederherstellung und Berichtswesen bereitzuhalten', 'offload read-only reporting traffic from the primary database', 'schreibgeschützten Berichtsdatenverkehr vom Primärsystem auszulagern'],
      ['hadr', 'geoRestore', 'Datum Corporation', 'its regional finance database', 'seine regionale Finanzdatenbank', 'restore service in another region even though no secondary replica was created beforehand', 'den Dienst in einer anderen Region wiederherzustellen, obwohl vorher keine sekundäre Replik erstellt wurde', 'use the built-in backup redundancy of the platform as the recovery foundation', 'die integrierte Sicherungsredundanz der Plattform als Wiederherstellungsgrundlage zu nutzen'],
      ['hadr', 'agVm', 'Northwind Traders', 'its SQL Server on Azure VM deployment', 'seine SQL-Server-Bereitstellung auf Azure-VMs', 'provide high availability with full SQL Server instance control and a listener', 'Hochverfügbarkeit mit vollständiger SQL-Server-Instanzkontrolle und einem Listener bereitzustellen', 'keep the deployment on infrastructure as a service instead of moving to PaaS', 'die Bereitstellung auf Infrastructure-as-a-Service zu belassen, statt zu PaaS zu wechseln'],
      ['hadr', 'fciVm', 'Humongous Insurance', 'its legacy settlement platform', 'seine Legacy-Abwicklungsplattform', 'protect the whole SQL Server instance on Azure VMs by using shared storage', 'die gesamte SQL-Server-Instanz auf Azure-VMs mithilfe von gemeinsam genutztem Speicher zu schützen', 'retain an instance-level failover model for the application', 'ein Failover-Modell auf Instanzebene für die Anwendung beizubehalten'],
      ['hadr', 'failoverGroupMi', 'Proseware', 'its managed instance estate', 'seinen Managed-Instance-Bestand', 'replicate and fail over all user databases of the managed instance to another region', 'alle Benutzerdatenbanken der Managed Instance in eine andere Region zu replizieren und failoverfähig zu machen', 'use the managed-instance disaster recovery feature rather than designing a custom process', 'die Disaster-Recovery-Funktion der Managed Instance zu verwenden, statt einen benutzerdefinierten Prozess zu entwerfen']
    ])
  ];

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