Serverparameter in Azure Database for MySQL – Flexibler Server
GILT FÜR: Azure Database for MySQL – Flexible Server
Dieser Artikel enthält Überlegungen und Richtlinien zur Konfiguration von Serverparametern in Azure Database for MySQL – Flexibler Server.
Hinweis
Dieser Artikel enthält Verweise auf den Begriff Slave, einen Begriff, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.
Was sind Servervariablen?
Die MySQL-Engine bietet viele verschiedene Servervariablen/-parameter, die zur Konfiguration und Optimierung des Engine-Verhaltens verwendet werden können. Einige der Parameter können dynamisch während der Laufzeit festgelegt werden, während andere „statisch“ sind und ihre Anwendung einen Neustart des Servers erfordert.
Azure Database for MySQL – Flexibler Server bietet die Möglichkeit, den Wert verschiedener MySQL-Serverparameter unter Verwendung des Azure-Portals und der Azure-Befehlszeilenschnittstelle zu ändern, um die Anforderungen Ihrer Workload zu erfüllen.
Konfigurierbare Serverparameter
Sie können die Konfiguration von Azure Database for MySQL – Flexibler Server über Serverparameter verwalten. Die Serverparameter werden beim Erstellen des Servers mit einem Standardwert und einem empfohlenen Wert konfiguriert. Auf dem Blatt „Serverparameter“ im Azure-Portal werden sowohl änderbare als auch nicht änderbare Serverparameter angezeigt. Die nicht änderbaren Serverparameter sind ausgegraut.
Die Liste der unterstützten Serverparameter wächst ständig. Sie können die vollständige Liste im Azure-Portal auf der Registerkarte „Serverparameter“ anzeigen und die Werte der Serverparameter dort konfigurieren.
In den folgenden Abschnitten erfahren Sie mehr über die Grenzwerte der verschiedenen häufig aktualisierten Serverparameter. Die Grenzwerte werden durch den Computetarif und die Größe der virtuellen Kerne des Servers bestimmt.
Hinweis
- 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 ARM-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, öffnen Sie einen UserVoice-Beitrag oder geben Ihre Stimme ab, wenn bereits Feedback gegeben wurde. So helfen Sie uns bei der Priorisierung.
lower_case_table_names
Für MySQL Version 5.7 lautet der Standardwert in Azure Database for MySQL – Flexibler Server 1. Es ist wichtig zu beachten, dass es zwar möglich ist, den unterstützten Wert in 2 zu ändern, aber das Zurücksetzen von 2 auf 1 ist nicht zulässig. Wenden Sie sich an unser Supportteam, wenn Sie Hilfe beim Ändern des Standardwerts benötigen. Für MySQL Version 8.0 und höher kann „lower_case_table_names“ nur beim Initialisieren des Servers konfiguriert werden. Weitere Informationen Das Ändern der Einstellung „lower_case_table_names“ nach der Initialisierung des Servers ist unzulässig. Für MySQL Version 8.0 lautet der Standardwert in Azure Database for MySQL – Flexibler Server 1. Die unterstützten Werte für MySQL Version 8.0 sind 1 und 2 in Azure Database for MySQL – Flexibler Server. Wenden Sie sich an unser Supportteam, wenn Sie während der Servererstellung Hilfe beim Ändern des Standardwerts benötigen.
innodb_tmpdir
Mit dem innodb_tmpdir-Parameter in Azure Database for MySQL – Flexibler Server wird das Verzeichnis für temporäre Sortierdateien definiert, 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 GiB. Dieser Speicherort eignet sich ideal für Vorgänge, die keinen großen Speicherplatz benötigen.
Wenn mehr Speicherplatz benötigt wird, können Sie „innodb_tmpdir“ auf /app/work/tmpdir
festlegen. Damit nutzen Sie die gesamte Speicherkapazität Ihrer Instanz von Azure Database for MySQL – Flexibler Server aus. Dies kann für größere Vorgänge nützlich sein, die mehr temporären Speicher erfordern.
Es ist wichtig zu beachten, dass die Verwendung von /app/work/tmpdir
die Leistung im Vergleich zum temporären Standardspeicher (SSD) /mnt/temp
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, die den gemeinsamen Standardwert /mnt/temp
aufweisen. Das alternative Verzeichnis /app/work/tmpdir
steht für die Konfiguration von mehr temporärem Speicher zur Verfügung, wobei je nach den Anforderungen eines Vorgangs Kompromisse bei der Leistung eingegangen werden müssen.
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). log_bin_trust_function_creators ist in flexiblen Servern standardmäßig auf ON festgelegt.
Das Format für binäre Protokollierung ist immer ROW (Zeile), und für alle 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 zu diesem Parameter finden Sie in der MySQL-Dokumentation. Die Größe des physischen Speichers (GB) in der folgenden Tabelle stellt den verfügbaren Arbeitsspeicher (Random Access Memory, RAM) Ihrer Instanz von Azure Database for MySQL – Flexible Server in Gigabytes (GB) dar.
Tarif | vCore(s) | Größe des physischen Speichers (GiB) | 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. Dieses Verhalten wird vom innodb_file_per_table
-Serverparameter gesteuert. 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 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
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 einer Absturzwiederherstellung und der Maximierung des Durchsatzes während Spitzenvorgängen abwägen. Dies 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 MB, 512 MB, 1 GB oder 2 GB. Der Parameter ist statisch und erfordert einen Neustart.
Hinweis
Wenn Sie den Parameter „innodb_log_file_size“ vom Standardwert geändert haben, überprüfen Sie, ob der Wert von „show global status like“ wie „innodb_buffer_pool_pages_dirty“ dreißig Sekunden lang auf 0 bleibt, um eine Verzögerung des Neustarts zu vermeiden.
max_connections
Der Wert von max_connection
wird durch die Speichergröße des Servers bestimmt. Die Größe des physischen Speichers (GB) in der folgenden Tabelle stellt den verfügbaren Arbeitsspeicher (Random Access Memory, RAM) Ihrer Instanz von Azure Database for MySQL – Flexible Server in Gigabytes (GB) dar.
Tarif | vCore(s) | Größe des physischen Speichers (GiB) | 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
Wichtig
Für eine optimale Erfahrung empfehlen wir, dass Sie einen Verbindungspooler wie ProxySQL verwenden, um Verbindungen effizient zu verwalten.
Das Erstellen neuer Clientverbindungen mit MySQL nimmt Zeit in Anspruch, und nach der Herstellung belegen diese Verbindungen Datenbankressourcen, auch wenn Sie sich im Leerlauf befinden. 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 dabei, dies zu vermeiden. Weitere Informationen zum Einrichten von ProxySQL finden Sie in unserem Blogbeitrag.
Hinweis
ProxySQL ist ein Open Source-Communitytool. Es wird von Microsoft bestmöglich unterstützt. Wenden Sie sich an den ProxySQL-Produktsupport, wenn Sie Produktionssupport mit autoritativen Hinweisen benötigen.
innodb_strict_mode
Wenn ein Fehler wie „Zeile zu groß (> 8126)“ angezeigt wird, sollten Sie den Parameter innodb_strict_mode auf OFF festlegen. Der Serverparameter innodb_strict_mode 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, was zu Datenverlusten führen kann. Es wird empfohlen, das Schema so zu ändern, dass es der Seitengrößenbeschränkung entspricht.
Dieser Parameter kann mithilfe von init_connect
auf Sitzungsebene festgelegt werden. Informationen zum Festlegen von innodb_strict_mode auf Sitzungsebene finden Sie Nicht aufgeführte Einstellungsparameter.
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“ festzulegen, 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. Die Zeitzonentabellen können durch Aufrufen der gespeicherten Prozedur mysql.az_load_timezone
über ein Tool wie die MySQL-Befehlszeile oder MySQL Workbench aufgefüllt werden. 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 dieser 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. Es 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 bereinigt werden. Wenn binäre Protokolle für einen längeren Zeitraum beibehalten werden sollen, können Sie den Parameter binlog_expire_logs_seconds konfigurieren. Wenn der Parameter binlog_expire_logs_seconds auf 0 (Standardwert) festgelegt ist, erfolgt die Löschung, sobald das Handle für das binäre Protokoll freigegeben wird. Wenn binlog_expire_logs_seconds > 0 ist, wird mit der Löschung gewartet, bis die konfigurierten Sekunden abgelaufen sind. Für Azure Database for MySQL – Flexibler Server werden verwaltete Features wie das Löschen von Binärdateien aus Sicherungen und Lesereplikaten intern behandelt. 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 den Parameter binlog_expire_logs_seconds auf einen höheren Wert festlegen, werden die binären Protokolle nicht schnell genug gelöscht und können zu einer Erhöhung der Speicherabrechnung führen.
event_scheduler
In Azure Database for MySQL – Flexibler Server verwaltet der Serverparameter event_schedule
das Erstellen, Planen und Ausführen von Ereignissen, d. h. von Aufgaben, die nach einem Zeitplan ausgeführt werden. Diese Aufgaben werden in einem speziellen Ereignisplanerthread ausgeführt. Wenn der event_scheduler
-Parameter aktiviert ist, wird der Ereignisplaner-Thread in der Ausgabe von SHOW PROCESSLIST als Daemon-Prozess aufgeführt. 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>;
Hinweis
Weitere Informationen über die Erstellung eines Ereignisses finden Sie in der Dokumentation zu MySQL Event Scheduler:
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)
Führen Sie zum Konfigurieren des Serverparameters event_scheduler
in Azure Database for MySQL – Flexibler Server die folgenden Schritte aus:
Navigieren Sie im Azure-Portal zu Ihrer Instanz von Azure Database for MySQL – Flexibler Server, und wählen Sie dann unter Einstellungen die Option Serverparameter aus.
Suchen Sie auf dem Blatt Serverparameter nach
event_scheduler
. Wählen Sie in der Dropdownliste VALUE die Option EIN und dann Speichern aus.Hinweis
Die Änderung der dynamischen Serverparameterkonfiguration wird ohne Neustart bereitgestellt.
Stellen Sie dann zum Erstellen eines Ereignisses eine Verbindung mit der Instanz von Azure Database for MySQL – Flexibler Server her, und führen Sie den folgenden SQL-Befehl aus:
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());
Um die Details des Event Schedulers anzuzeigen, führen Sie die folgende SQL-Anweisung aus:
SHOW EVENTS;
Die folgende Ausgabe wird angezeigt:
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)
Fragen Sie nach einigen Minuten die Zeilen aus der Tabelle ab, um die Zeilen anzuzeigen, die jede Minute gemäß dem von Ihnen konfigurierten Parameter
event_scheduler
eingefügt werden: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)
Führen Sie nach einer Stunde eine Select-Anweisung für die Tabelle aus, um das vollständige Ergebnis der in die Tabelle eingefügten Werte jede Minute für eine Stunde anzuzeigen, wie
event_scheduler
in unserem Fall konfiguriert ist.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)
Andere Szenarien
Sie können ein Ereignis einrichten, das den Anforderungen Ihres spezifischen Szenarios entspricht. Es folgen einige ähnliche Beispiele für die Planung von SQL-Anweisungen, die in unterschiedlichen Zeitabständen ausgeführt werden sollen.
Führen Sie jetzt eine SQL-Anweisung aus, und lassen Sie sie einmal pro Tag unbegrenzt wiederholen
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;
Unbegrenzte stündliche Ausführung einer SQL-Anweisung
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;
Unbegrenzte tägliche Ausführung einer 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 wird. 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 ausgegraut. Wenn Sie einen nicht änderbaren Serverparameter auf Sitzungsebene konfigurieren möchten, erfahren Sie im Artikel Azure-Portal bzw. Azure CLI, wie Sie den Parameter auf Verbindungsebene mithilfe von init_connect
festlegen.
Nächste Schritte
- Konfigurieren von Serverparametern im Azure-Portal
- Konfigurieren von Serverparametern über die Azure-Befehlszeilenschnittstelle