Empfehlungen für MS SQL

Als Datenbankadministrator möchten Sie, dass Ihre Datenbank Spitzenleistungen erbringt. Dieses Thema enthält grundlegende Wartungsempfehlungen für Installationen mit MS-SQL-Datenbanken.

  • Reorganisieren Sie die Automation Engine-Datenbank (einschließlich aller Mandanten) regelmäßig neu.

  • Begrenzen Sie den Ressourcenverbrauch nicht. Transaktionen, die wegen Einschränkungen in der Datenbankeinstellung immer wieder abbrechen, behindern die Verarbeitung im AE-System. Des Weiteren können inkonsistente Dateninhalte entstehen, die Folgefehler oder Endlosschleifen auslösen.

  • Stellen Sie sicher, dass Ihr Server und Ihr Mandant über eine aktivierte TCP/IP-Verbindung verfügen (MS SQL Configuration Manager).

  • Das Transaktionslog, die TEMPDB der Datenbank und die Pagefile sollten nicht in einem RAID 5-Dateisystem gelegt werden. Verwenden Sie stattdessen RAID 1 oder 0.

  • Aktivieren Sie auf keinen Fall die Option autoshrink in der Datenbank. Dies kann gelegentlich zu einem Stillstand der Automation Engine führen. 

  • Aktivieren Sie das Versioning, um das Auftreten von Deadlocks zu reduzieren. Dies hat aber auch zur Folge, dass die Datei tempdb größer wird. Stellen Sie sicher, dass diese auf einem schnellen Gerät gespeichert ist:

    alter database database name set READ_COMMITTED_SNAPSHOT ON

  • Erweitern Sie die Parameter zur Datenbankverbindung in den INI-Dateien der Automation Engine und der Dienstprogramme um die Option Mars_Connection=Yes. Diese Einstellung bewirkt einen optimalen Datenbankzugriff unter Verwendung der Performanceoptionen von MS SQL Server.

    Beispiel

    SQLDRIVERCONNECT=ODBCVAR=NNNNNNRN,DSN=UC4;UID=uc4;PWD=­­--1037B2E22BF022EBE2;Mars_Connection=Yes

  • Teilen Sie die Datenbank in so viele Dateien auf, wie es CPUs gibt.

  • MS SQL eskaliert von Zeilen- zu Tabellensperre, wenn mehr als 5000 Sperren zugeordnet sind, was zu einer Ausfallzeit im System führen kann. Um dies zu vermeiden, wird LOCK_ESCALATION für alle Tabellen auf "DISABLED" gesetzt. 

    Beispiel

    ALTER TABLE ECV SET(LOCK_ESCALATION=DISABLE)

    ALTER TABLE EEC SET(LOCK_ESCALATION=DISABLE)

    ALTER TABLE EEDB SET(LOCK_ESCALATION=DISABLE)

Siehe auch: