Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Pflege Ihrer Datenbank » Aufgaben mit Zeitplänen und Ereignissen automatisieren

 

Definition der Abfolgeplanung

Durch die Abfolgeplanung von Aktivitäten können Sie dafür Sorge tragen, dass zu festgelegten Zeiten eine Serie von Maßnahmen durchgeführt wird. Die Informationen für die Abfolgeplanung und der Event-Handler werden in der Datenbank selbst gespeichert.

Obwohl dies in der Regel nicht notwendig sein wird, können Sie komplexe Abfolgepläne festlegen, indem Sie mehr als einen Abfolgeplan mit einem bestimmten Ereignis verknüpfen. Ein Einzelhandelsgeschäft könnte beispielsweise planen, dass während der Betriebsstunden ein Ereignis einmal pro Stunde eintritt, wobei die Betriebsstunden aber je nach Wochentag variieren. Sie können dieselbe Wirkung durch die Definition mehrerer Ereignisse erreichen, die jeweils ihren eigenen Ablaufplan haben, und indem Sie eine gespeicherte Prozedur aufrufen.

Bei der Planung von Ereignissen können Sie entweder die englischen Namen der Wochentage in ganzer Form angeben (Monday, Tuesday usw.), oder die Namen in Kurzform (Mon, Tue usw.). Beachten Sie, dass nur die ausgeschriebenen englischen Namen der Wochentage von Servern erkannt werden, die eine andere Sprache als Englisch benutzen.

Im folgenden Beispiel werden geplante Maßnahmen genannt, bei denen eine Abfolgeplanung sinnvoll wäre.

Beispiele

Eine inkrementelle Sicherung täglich um 1:00 morgens durchführen:

CREATE EVENT IncrementalBackup
SCHEDULE
 START TIME '1:00 AM' EVERY 24 HOURS
HANDLER
BEGIN
 BACKUP DATABASE DIRECTORY 'c:\\backup'
 TRANSACTION LOG ONLY
 TRANSACTION LOG RENAME MATCH
END;

Alle Aufträge am Ende eines Arbeitstages zusammenfassen:

CREATE EVENT Summarize
SCHEDULE
 START TIME '6:00 pm'
 ON ( 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
  'Friday' )
HANDLER
 BEGIN
 INSERT INTO OrderSummary
  SELECT CURRENT DATE,
     COUNT( * ),
     SUM( amount )
  FROM Orders
  WHERE date_ordered = current date
END;
Siehe auch

Abfolgeplanungen festlegen