Freigeben über


Serverparameter in Azure Database for MySQL – Flexibler Server

Dieser Artikel enthält Überlegungen und Anleitungen zur Konfiguration von Serverparametern in Azure Database for MySQL – Flexibler Server.

Hinweis

Dieser Artikel enthält Verweise auf den Begriff Slave, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.

Was sind Serverparameter?

Das MySQL-Modul stellt viele Serverparameter (auch als Variablen bezeichnet) bereit, die Sie zum Konfigurieren und Optimieren des Modulverhaltens verwenden können. Einige Parameter können während der Laufzeit dynamisch festgelegt werden. Andere sind statisch und erfordern einen Serverneustart, nachdem Sie sie festgelegt haben.

In Azure Database for MySQL – Flexibler Server können Sie den Wert verschiedener MySQL-Serverparameter entsprechend den Anforderungen Ihrer Workload ändern, indem Sie die Anleitungen unter Konfigurieren von Serverparametern in Azure Database for MySQL – Flexibler Server mithilfe des Azure-Portals und Konfigurieren von Serverparametern in Azure Database for MySQL – Flexibler Server mithilfe der Azure CLI verwenden.

Konfigurierbare Serverparameter

Sie können die Konfiguration einer Instanz von Azure Database for MySQL – Flexibler Server über Serverparameter verwalten. Die Serverparameter werden beim Erstellen des Servers mit Standardwerten und empfohlenen Werten konfiguriert. Auf dem Blatt Serverparameter im Azure-Portal werden sowohl änderbare als auch nicht änderbare Parameter angezeigt. Die nicht änderbaren Serverparameter sind deaktiviert.

Die Liste der unterstützten Serverparameter wächst ständig. Sie können das Azure-Portal verwenden, um die vollständige Liste der Serverparameter regelmäßig anzuzeigen und die Werte zu konfigurieren.

Wenn Sie einen statischen Serverparameter über das Portal ändern, müssen Sie den Server neu starten, damit die Änderungen übernommen werden. Falls Sie Automatisierungsskripts verwenden (mit Tools wie Azure Resource Manager-Vorlagen, Terraform, Azure CLI usw.), sollte Ihr Skript einen Neustart des Dienstes vorsehen, damit die Einstellungen auch dann wirksam werden, wenn Sie die Konfigurationen im Rahmen der Erstellung ändern.

Wenn Sie einen nicht änderbaren Serverparameter für Ihre Umgebung ändern möchten, posten Sie eine Idee über Communityfeedback oder geben Ihre Stimme ab, wenn bereits Feedback gegeben wurde. So helfen Sie uns bei der Priorisierung.

In den folgenden Abschnitten werden die Grenzwerte der häufig aktualisierten Serverparameter beschrieben. Die Computeebene und die Größe (vCores) des Servers bestimmen die Grenzwerte.

lower_case_table_names

Für MySQL Version 5.7 lautet der Standardwert lower_case_table_names in Azure Database for MySQL – Flexibler Server 1. Obwohl es möglich ist, den unterstützten Wert auf 2 zu ändern, ist das Zurücksetzen von 2 zurück auf 1 nicht zulässig. Um Unterstützung beim Ändern des Standardwerts zu erhalten, öffnen Sie ein Supportticket.

Für MySQL Version 8.0+ können Sie lower_case_table_names nur konfigurieren, wenn Sie den Server initialisieren. Weitere Informationen Das Ändern der Einstellung lower_case_table_names nach der Initialisierung des Servers ist unzulässig.

Die unterstützten Werte für MySQL Version 8.0 sind 1 und 2 in Azure Database for MySQL – Flexibler Server. Der Standardwert ist 1. Wenn Sie während der Servererstellung Hilfe beim Ändern des Standardwerts benötigen, öffnen Sie ein Supportticket.

innodb_tmpdir

Mit dem innodb_tmpdir-Parameter in Azure Database for MySQL – Flexibler Server definieren Sie das Verzeichnis für temporäre Sortierdateien, die während ALTER TABLE-Onlinevorgängen erstellt wurden und neu erstellt werden.

Der Standardwert von innodb_tmpdir ist /mnt/temp. Dieser Speicherort entspricht dem für jede Computegröße auf dem Server verfügbaren temporären SSD-Speicher in Gibibytes (GiB). Dieser Speicherort eignet sich ideal für Vorgänge, die keinen großen Speicherplatz benötigen.

Wenn Sie mehr Platz benötigen, können Sie innodb_tmpdir auf /app/work/tmpdir festlegen. Diese Einstellung verwendet die verfügbare Speicherkapazität Ihrer Instanz von Azure Database for MySQL – Flexibler Server. Diese Einstellung kann für größere Vorgänge nützlich sein, die mehr temporären Speicher erfordern.

Beachten Sie, dass die Verwendung von /app/work/tmpdir die Leistung im Vergleich zum /mnt/temp-Wert des temporären Standardspeichers (SSD) verlangsamt. Treffen Sie Ihre Entscheidung auf der Grundlage der spezifischen Anforderungen der jeweiligen Vorgänge.

Die für innodb_tmpdir bereitgestellten Informationen gelten für die Parameter innodb_temp_tablespaces_dir, tmpdir und slave_load_tmpdir, wobei:

  • Der Standardwert /mnt/temp ist üblich.
  • Das alternative Verzeichnis /app/work/tmpdir steht für die Konfiguration erhöhter temporärer Speicher zur Verfügung, wobei ein Kompromiss in der Leistung auf der Grundlage bestimmter betrieblicher Anforderungen besteht.

log_bin_trust_function_creators

In Azure Database for MySQL – Flexibler Server sind binäre Protokolle immer aktiviert (d. h., log_bin ist auf ON festgelegt). Der log_bin_trust_function_creators-Parameter ist auf flexible Server standardmäßig auf ON festgelegt.

Das Format für binäre Protokollierung ist immer ROW und für Verbindungen mit dem Server wird immer die zeilenbasierte binäre Protokollierung verwendet. Bei der zeilenbasierten binären Protokollierung gibt es keine Sicherheitsprobleme, und die binäre Protokollierung kann nicht unterbrochen werden, sodass log_bin_trust_function_creators sicher auf ON gesetzt bleiben kann.

Wenn log_bin_trust_function_creators auf OFF festgelegt ist und Sie versuchen, Trigger zu erstellen, erhalten Sie möglicherweise eine Fehlermeldung wie „Sie verfügen nicht über die SUPER-Berechtigung, und die binäre Protokollierung ist aktiviert (es kann ratsam sein, die weniger sichere Variable log_bin_trust_function_creators zu verwenden).“

innodb_buffer_pool_size

Weitere Informationen zum Parameter innodb_buffer_pool_size finden Sie in der MySQL-Dokumentation.

Die Größe des physischen Speichers in der folgenden Tabelle stellt den verfügbaren Arbeitsspeicher (Random Access Memory, RAM) Ihrer Instanz von Azure Database for MySQL – Flexibler Server in Gigabyte (GB) dar.

Tarif V-Kerne Größe des physischen Speichers (GB) Standardwert (Bytes) Mindestwert (Bytes) Höchstwert (Bytes)
Burstfähig (B1s) 1 1 134217728 33554432 268435456
Burstfähig (B1ms) 1 2 536870912 134217728 1073741824
Burstfähig (B2s) 2 4 2147483648 134217728 2147483648
Burstfähig (B2ms) 2 8 4294967296 134217728 5368709120
Burstfähig 4 16 12884901888 134217728 12884901888
Burstfähig 8 32 25769803776 134217728 25769803776
Burstfähig 12 48 51539607552 134217728 51539607552
Burstfähig 16 64 2147483648 134217728 2147483648
Burstfähig 20 80 64424509440 134217728 64424509440
Universell 2 8 4294967296 134217728 5368709120
Universell 4 16 12884901888 134217728 12884901888
Universell 8 32 25769803776 134217728 25769803776
Universell 16 64 51539607552 134217728 51539607552
Universell 32 128 103079215104 134217728 103079215104
Universell 48 192 154618822656 134217728 154618822656
Universell 64 256 206158430208 134217728 206158430208
Unternehmenskritisch 2 16 12884901888 134217728 12884901888
Unternehmenskritisch 4 32 25769803776 134217728 25769803776
Unternehmenskritisch 8 64 51539607552 134217728 51539607552
Unternehmenskritisch 16 128 103079215104 134217728 103079215104
Unternehmenskritisch 20 160 128849018880 134217728 128849018880
Unternehmenskritisch 32 256 206158430208 134217728 206158430208
Unternehmenskritisch 48 384 309237645312 134217728 309237645312
Unternehmenskritisch 64 504 405874409472 134217728 405874409472

innodb_file_per_table

MySQL speichert die InnoDB-Tabelle in verschiedenen Tabellenbereichen, basierend auf der Konfiguration, die Sie während der Tabellenerstellung angegeben haben. Der Systemtabellenbereich ist der Speicherbereich für das InnoDB-Datenwörterbuch. Ein file-per-table-Tabellenbereich enthält die Daten und Indizes für eine einzelne InnoDB-Tabelle und wird im Dateisystem in einer eigenen Datendatei gespeichert. Der Serverparameter innodb_file_per_table steuert dieses Verhalten.

Durch Festlegen von innodb_file_per_table auf OFF werden Tabellen von InnoDB im Systemtabellenbereich erstellt. Andernfalls werden die Tabellen im Tabellen-Tabellenbereich erstellt.

Azure Database for MySQL – Flexibler Server unterstützt bis zu 8 Terabytes (TB) in einer einzelnen Datendatei. Wenn die Datenbankgröße 8 TB überschreitet, sollten Sie die Tabelle im Tabellenbereich innodb_file_per_table erstellen. Wenn eine einzelne Tabelle größer als 8 TB ist, müssen Sie die Partitionstabelle verwenden.

innodb_log_file_size

Der Wert innodb_log_file_size ist die Größe in Bytes jeder Protokolldatei in einer Protokollgruppe. Die kombinierte Größe der Protokolldateien (innodb_log_file_size * innodb_log_files_in_group) darf einen Maximalwert von etwas weniger als 512 GB nicht überschreiten.

Eine größere Protokolldateigröße ist für die Leistung besser, hat jedoch den Nachteil, dass die Wiederherstellungszeit nach einem Absturz hoch ist. Sie müssen zwischen der Wiederherstellungszeit im seltenen Fall eines Absturzes und der Maximierung des Durchsatzes während Spitzenvorgängen abwägen. Eine größere Protokolldatei kann auch zu längeren Neustartzeiten führen.

Sie können innodb_log_size für Azure Database for MySQL – Flexibler Server mit diesen Werten konfigurieren: 256 Megabytes (MB), 512 MB, 1 GB oder 2 GB. Der Parameter ist statisch und erfordert einen Neustart.

Hinweis

Wenn Sie den innodb_log_file_size-Parameter von der Standardeinstellung geändert haben, überprüfen Sie, ob der Wert von show global status like 'innodb_buffer_pool_pages_dirty' 30 Sekunden lang auf 0 bleibt, um Neustartverzögerungen zu vermeiden.

max_connections

Die Arbeitsspeichergröße des Servers bestimmt den Wert von max_connections. Die Größe des physischen Speichers in der folgenden Tabelle stellt den verfügbaren Arbeitsspeicher (Random Access Memory, RAM) Ihrer Instanz von Azure Database for MySQL – Flexibler Server in Gigabyte dar.

Tarif V-Kerne Größe des physischen Speichers (GB) Standardwert Mindestwert Höchstwert
Burstfähig (B1s) 1 1 85 10 171
Burstfähig (B1ms) 1 2 171 10 341
Burstfähig (B2s) 2 4 341 10 683
Burstfähig (B2ms) 2 4 683 10 1365
Burstfähig 4 16 1365 10 2731
Burstfähig 8 32 2731 10 5461
Burstfähig 12 48 4097 10 8193
Burstfähig 16 64 5461 10 10923
Burstfähig 20 80 6827 10 13653
Allgemeiner Zweck 2 8 683 10 1365
Universell 4 16 1365 10 2731
Universell 8 32 2731 10 5461
Universell 16 64 5461 10 10923
Universell 32 128 10923 10 21845
Universell 48 192 16384 10 32768
Universell 64 256 21845 10 43691
Unternehmenskritisch 2 16 1365 10 2731
Unternehmenskritisch 4 32 2731 10 5461
Unternehmenskritisch 8 64 5461 10 10923
Unternehmenskritisch 16 128 10923 10 21845
Unternehmenskritisch 20 160 13653 10 27306
Unternehmenskritisch 32 256 21845 10 43691
Unternehmenskritisch 48 384 32768 10 65536
Unternehmenskritisch 64 504 43008 10 86016

Wenn Verbindungen den Grenzwert übersteigen, erhalten Sie möglicherweise den folgenden Fehler: „FEHLER 1040 (08004): Zu viele Verbindungen.“

Erstellen neuer Clientverbindungen in MySQL bedarf Zeit. Nachdem Sie diese Verbindungen hergestellt haben, belegen sie Datenbankressourcen, auch wenn sie im Leerlauf sind. Die meisten Anwendungen fordern viele kurzlebige Verbindungen an, was diese Situation erschwert. Das Ergebnis sind weniger Ressourcen, die für ihre tatsächliche Workload verfügbar sind, was zu verringerter Leistung führt.

Ein Verbindungspooler, der Verbindungen im Leerlauf reduziert und vorhandene Verbindungen wiederverwendet, hilft Ihnen dabei, dieses Problem zu vermeiden. Für eine optimale Erfahrung empfehlen wir, dass Sie einen Verbindungsspooler wie ProxySQL verwenden, um Verbindungen effizient zu verwalten. Weitere Informationen zum Einrichten von ProxySQL finden Sie in diesem Blogbeitrag.

Hinweis

ProxySQL ist ein Open Source-Communitytool. Es wird von Microsoft bestmöglich unterstützt. Wenden Sie sich an den ProxySQL-Produktsupport, um Unterstützung für die Produktion mit autoritativer Anleitung zu erhalten.

innodb_strict_mode

Wenn ein Fehler wie „Zeile zu groß (> 8126)“ angezeigt wird, sollten Sie den Parameter innodb_strict_mode deaktivieren. Dieser Parameter kann nicht global auf der Serverebene geändert werden, da die Daten bei Überschreitung einer Zeilendatengröße von 8 000 ohne Fehlermeldung gekürzt werden. Diese Kürzung kann zu potenziellem Datenverlust führen. Es wird empfohlen, das Schema so zu ändern, dass es der Seitengrößenbeschränkung entspricht.

Sie können diesen Parameter mithilfe von init_connect auf Sitzungsebene festlegen. Weitere Informationen finden Sie unter Festlegen nicht modifizierbarer Serverparameter.

Hinweis

Wenn Sie über einen Lesereplikatserver verfügen, wird die Replikation unterbrochen, wenn Sie innodb_strict_mode auf einem Quellserver auf Sitzungsebene auf OFF festlegen. Wir empfehlen, den Parameter auf ON zu belassen, wenn Sie über Lesereplikate verfügen.

time_zone

Bei der ersten Bereitstellung enthält eine Instanz von Azure Database for MySQL – Flexibler Server Systemtabellen für Zeitzoneninformationen, die jedoch nicht gefüllt sind. Sie können die Zeitzonentabellen durch Aufrufen der gespeicherten Prozedur mysql.az_load_timezone über ein Tool wie die MySQL-Befehlszeile oder MySQL Workbench auffüllen. Informationen zum Aufrufen der gespeicherten Prozedur und zum Festlegen der globalen Zeitzonen oder Zeitzonen auf Sitzungsebene finden Sie in den Artikeln für das Azure-Portal und die Azure CLI.

binlog_expire_logs_seconds

In Azure Database for MySQL – Flexibler Server gibt der binlog_expire_logs_seconds-Parameter die Anzahl der Sekunden an, die der Dienst wartet, bevor die binäre Protokolldatei gelöscht wird.

Das binäre Protokoll enthält Ereignisse, die Datenbankänderungen beschreiben, z. B. Tabellenerstellungsvorgänge oder Änderungen an Tabellendaten. Das binäre Protokoll enthält auch Ereignisse für Anweisungen, die möglicherweise Änderungen vorgenommen haben. Das binäre Protokoll wird hauptsächlich für zwei Zwecke verwendet: für Replikations- und Datenwiederherstellungsvorgänge.

In der Regel werden die binären Protokolle gelöscht, sobald das Handle von Dienst, Sicherung oder Replikatgruppe freigegeben wird. Wenn es mehrere Replikate gibt, warten die Binärprotokolle, bis das langsamste Replikat die Änderungen gelesen hat, bevor sie gelöscht werden.

Wenn binäre Protokolle länger beibehalten werden sollen, können Sie den Parameter binlog_expire_logs_secondskonfigurieren. Wenn binlog_expire_logs_seconds auf den Standardwert 0 festgelegt ist, wird ein binäres Protokoll gelöscht, sobald das Handle für das Binärprotokoll freigegeben wird. Wenn der Wert binlog_expire_logs_seconds größer als 0 ist, wird das binäre Protokoll nach der konfigurierten Anzahl von Sekunden gelöscht.

Azure Database for MySQL – Flexibler Server behandelt verwaltete Features wie das Löschen von Binärdateien aus Sicherungen und Lesereplikaten intern. Wenn Sie die Daten aus Azure Database for MySQL – Flexibler Server replizieren, muss dieser Parameter am primären Speicherort festgelegt werden, um zu vermeiden, dass binäre Protokolle gelöscht werden, bevor das Replikat die Änderungen des primären Speicherorts gelesen hat. Wenn Sie binlog_expire_logs_seconds auf einen höheren Wert festlegen, werden die binären Protokolle nicht bald genug gelöscht. Diese Verzögerung kann zu einer Erhöhung der Abrechnung für Speicher führen.

event_scheduler

In der Azure Database for MySQL – Flexibler Server verwaltet der event_scheduler-Serverparameter das Erstellen, Planen und Ausführen von Ereignissen. Das heißt, der Parameter verwaltet Aufgaben, die gemäß einem Zeitplan von einem speziellen MySQL Event Scheduler-Thread ausgeführt werden. Wenn der event_scheduler-Parameter auf ON festgelegt ist, wird der Event Scheduler-Thread in der Ausgabe von SHOW PROCESSLIST als Daemon-Prozess aufgeführt.

Bei MySQL-Servern mit Version 5.7 wird der Serverparameter event_scheduler automatisch deaktiviert, wenn die Sicherung initiiert wird. Außerdem wird der Serverparameter event_scheduler nach erfolgreichem Abschluss der Sicherung wieder auf „EIN“ zurückgesetzt. In MySQL Version 8.0 für Azure Database for MySQL – Flexibler Server ist „event_scheduler“ während Sicherungen nicht betroffen. Um einen reibungsloseren Betrieb sicherzustellen, empfiehlt es sich, Ihre MySQL 5.7-Server mithilfe eines Hauptversionsupgrades auf Version 8.0 zu aktualisieren.

Sie können Ereignisse mit der folgenden SQL-Syntax erstellen und planen:

CREATE EVENT <event name>
ON SCHEDULE EVERY _ MINUTE / HOUR / DAY
STARTS TIMESTAMP / CURRENT_TIMESTAMP
ENDS TIMESTAMP / CURRENT_TIMESTAMP + INTERVAL 1 MINUTE / HOUR / DAY
COMMENT '<comment>'
DO
<your statement>;

Weitere Informationen zum Erstellen eines Ereignisses finden Sie in der folgenden Dokumentation zum Event Scheduler im MySQL-Referenzhandbuch:

Konfigurieren des event_scheduler-Serverparameters

Das folgende Szenario veranschaulicht eine Möglichkeit zur Verwendung des event_scheduler-Parameters in Azure Database for MySQL – Flexibler Server.

Das folgende Beispiel, eine einfache Tabelle, soll das Szenario verdeutlichen:

mysql> describe tab1;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
| +-----------+-------------+------+-----+---------+----------------+ |
| id | int(11) | NO | PRI | NULL | auto_increment |
| CreatedAt | timestamp | YES | | NULL | |
| CreatedBy | varchar(16) | YES | | NULL | |
| +-----------+-------------+------+-----+---------+----------------+ |
| 3 rows in set (0.23 sec) |
| ``` |
| To configure the `event_scheduler` server parameter in Azure Database for MySQL - Flexible Server, perform the following steps: |

1. In the Azure portal, go to your Azure Database for MySQL - Flexible Server instance. Under **Settings**, select **Server parameters**.
1. On the **Server parameters** pane, search for `event_scheduler`. In the **VALUE** dropdown list, select **ON**, and then select **Save**.

    > [!NOTE]
    > Deployment of the dynamic configuration change to the server parameter doesn't require a restart.

1. To create an event, connect to the Azure Database for MySQL - Flexible Server instance and run the following SQL command:
    ```sql

    CREATE EVENT test_event_01
    ON SCHEDULE EVERY 1 MINUTE
    STARTS CURRENT_TIMESTAMP
    ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
    COMMENT 'Inserting record into the table tab1 with current timestamp'
    DO
    INSERT INTO tab1(id,createdAt,createdBy)
    VALUES('',NOW(),CURRENT_USER());

    ```
1. To view the Event Scheduler details, run the following SQL statement:
    ```sql

    SHOW EVENTS;

    ```
    The following output appears:
    ```sql

    mysql> show events;
    +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+
    | Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation |
    | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ |
    | db1 | test_event_01 | azureuser@% | SYSTEM | RECURRING | NULL | 1 | MINUTE | 2023-04-05 14:47:04 | 2023-04-05 15:47:04 | ENABLED | 3221153808 | latin1 | latin1_swedish_ci | latin1_swedish_ci |
    | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ |
    | 1 row in set (0.23 sec) |
    | ``` |

1. After a few minutes, query the rows from the table to begin viewing the rows inserted every minute according to the `event_scheduler` parameter that you configured:

    ```azurecli
    mysql> select * from tab1;
    +----+---------------------+-------------+
    | id | CreatedAt | CreatedBy |
    | +----+---------------------+-------------+ |
    | 1 | 2023-04-05 14:47:04 | azureuser@% |
    | 2 | 2023-04-05 14:48:04 | azureuser@% |
    | 3 | 2023-04-05 14:49:04 | azureuser@% |
    | 4 | 2023-04-05 14:50:04 | azureuser@% |
    | +----+---------------------+-------------+ |
    | 4 rows in set (0.23 sec) |
    | ``` |
| 1. After an hour, run a `select` statement on the table to view the complete result of the values inserted into table every minute for an hour (as `event_scheduler` is configured in this case): |
    ```azurecli

    mysql> select * from tab1;
    +----+---------------------+-------------+
    | id | CreatedAt | CreatedBy |
    | +----+---------------------+-------------+ |
    | 1 | 2023-04-05 14:47:04 | azureuser@% |
    | 2 | 2023-04-05 14:48:04 | azureuser@% |
    | 3 | 2023-04-05 14:49:04 | azureuser@% |
    | 4 | 2023-04-05 14:50:04 | azureuser@% |
    | 5 | 2023-04-05 14:51:04 | azureuser@% |
    | 6 | 2023-04-05 14:52:04 | azureuser@% |
    | ..< 50 lines trimmed to compact output >.. |
    | 56 | 2023-04-05 15:42:04 | azureuser@% |
    | 57 | 2023-04-05 15:43:04 | azureuser@% |
    | 58 | 2023-04-05 15:44:04 | azureuser@% |
    | 59 | 2023-04-05 15:45:04 | azureuser@% |
    | 60 | 2023-04-05 15:46:04 | azureuser@% |
    | 61 | 2023-04-05 15:47:04 | azureuser@% |
    | +----+---------------------+-------------+ |
    | 61 rows in set (0.23 sec) |
    | ``` |

#### Other scenarios

You can set up an event based on the requirements of your specific scenario. A few examples of scheduling SQL statements to run at various time intervals follow.

To run a SQL statement now and repeat one time per day with no end:

```sql
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;

So führen Sie eine unbegrenzte stündliche SQL-Anweisung:

CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;

So führen Sie eine unbegrenzte tägliche SQL-Anweisung:

CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS str_to_date( date_format(now(), '%Y%m%d 0200'), '%Y%m%d %H%i' ) + INTERVAL 1 DAY
COMMENT 'Comment'
DO
<your statement>;

Begrenzungen

Bei Servern mit konfigurierter Hochverfügbarkeit ist es bei einem Failover möglich, dass der event_scheduler-Serverparameter auf OFF festgelegt ist. Wenn dies der Fall ist, konfigurieren Sie nach Abschluss des Failovers den Parameter, um den Wert auf ON festzulegen.

Nicht änderbare Serverparameter

Auf dem Blatt Serverparameter im Azure-Portal werden sowohl änderbare als auch nicht änderbare Serverparameter angezeigt. Die nicht änderbaren Serverparameter sind deaktiviert. Sie können einen nicht modifizierbaren Serverparameter auf Sitzungsebene konfigurieren, indem Sie init_connect im Azure-Portal oder in der Azure CLI verwenden.