Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

  1. Beschränken sich die Performanceprobleme auf das Öffnen von Akten, so versuchen Sie das Kapitel Öffnen von Modulen beschleunigen umzusetzen, bevor Sie mit Schritt 2 fortfahren.

  2. Prüfen Sie ob ADVOKAT ohne Microsoft SharePoint verwendet wird. Mehr Informationen dazu finden Sie im Kapitel ADVOKAT mit Microsoft SharePoint.
    Bei der Verwendung von ADVOKAT mit Microsoft SharePoint wechseln Sie zum Kapitel ADVOKAT mit Microsoft SharePoint - Performanceprobleme.

  3. Stellen Sie am Datenbank- sicher, dass alle verfügbaren Windows Updates für Microsoft SQL eingespielt sind.

  4. Stellen Sie am Datenbankserver sicher, dass die CPU-, RAM- und Datenträgerauslastung nicht konstant höher als 80% sind.
    Es müssen genügend freie Ressourcen für Betriebssystem von Microsoft SQL Server und zur Verfügung stehen.

  5. Stellen Sie sicher, dass ADVOKAT nicht auf externen Geräten (Arbeitsplätzen) außerhalb des Domänennetzwerks per VPN-Client verwendet wird.
    • Wir raten von dem Betrieb auf externen Geräten per VPN-Client ab, die Performance leidet zu stark darunter. Bei Verwendung von Microsoft SharePoint potenzieren sich solche Performanceprobleme.
    • Stattdessen ist ADVOKAT auf Arbeitsstationen oder Terminalservern innerhalb des Domänennetzwerks zu verwenden, siehe Kapitel Hinweise.

  6.  Sicherstellen, dass ADVOKAT und Microsoft Office Outlook auf allen Arbeitsplätzen geschlossen sind.
    • ADVOKAT Frontend auf einer Arbeitsstation oder Terminalserver starten.
    • Am Startbildschirm von ADVOKAT "STRG + SHIFT + Doppelklick linke Maustaste" drücken.
    • Option "Advokat Programmstart sperren" aktivieren
    • Im Fenster "Optional zusätzlicher Text für die Meldung" einen Informationstext eingeben, Beispiel: ADVOKAT Update von 12:00 bis 12:15 Uhr.

      Auf allen anderen Geräten kann ADVOKAT nun nicht mehr gestartet werden.
      Alle Benutzer, welche sich zu diesem Zeitpunkt noch im Programm befinden werden nach einer Wartefrist von 5 Minuten getrennt.

  7. Passen Sie die Konfiguration am Datenbankserver per Microsoft SQL Management Studio für die relevante Microsoft SQL Instanz an:
    • Servereigenschaften > Arbeitsspeicher
      • Mindestmenge an Serverarbeitsspeicher (in MB): Dieser Wert ist zu erhöhen, etappenweise um 2048 MB.
      • Maximaler Serverarbeitsspeicher (in MB): Dieser Wert ist zu erhöhen, etappenweise um 2048 MB, maximal 80% des verfügbaren Arbeitsspeichers.
    • Beachten Sie, dass dieser Schritt einen Neustart der Microsoft SQL-Instanz bzw. des Microsoft SQL Server benötigt und damit nicht im laufenden Betrieb möglich ist.

  8. Befolgen Sie Schritt 1 bis 2 laut Kapitel Microsoft SQL Datenbanken einsehen und setzen anschließend wie folgt fort:
    1. Nach dem erfolgreichen Verbindungsaufbau werden in der linken Spalte "Objekt-Explorer" beim Unterpunkt "Datenbanken" alle verfügbaren Datenbanken angezeigt.
      Es ist bei jeder Datenbank mit Bezeichnung "ADVOKAT_..." per Rechtsklick > "Optionen" aufzurufen.
    2. Im Fenster "Datenbankeneigenschaften - ADVOKAT_..." wählen Sie links die Seite "Optionen" aus. Bei den Optionen prüfen Sie den Inhalt des Feldes "Kompatibilitätsgrad".
      • Es muss "SQL Server 2017 (140)" oder neuer angezeigt werden. Ist ein älterer Kompatibilitätsgrad angegeben, dann ändern Sie diesen auf "SQL Server 2017 (140)".
    3. Wiederholen Sie Schritt B für jede Datenbank mit Bezeichnung "ADVOKAT_...".
      • Beachten Sie, dass anschließend ein Neustart der Microsoft SQL-Instanz bzw. des Microsoft SQL Server benötigt wird und damit nicht im laufenden Betrieb möglich ist.
    4. Führen Sie folgende zwei SQL-Befehl für die Datenbanken mit folgender Bezeichnung aus: ADVOKAT_DATEN, ADVOKAT_TABELLEN
      Falls die Datenbanken bei Ihnen nicht exakt diese Bezeichnung haben, dann ist im Skript die Bezeichnung in Zeile 6 anzupassen

      Codeblock
      languagesql
      linenumberstrue
      DECLARE @Table NVARCHAR(255)
      DECLARE @cmd NVARCHAR(1000)
      
      -- Hier den richtigen Namen der Datenbank eingeben
         SET @cmd = 'DECLARE TableCursor CURSOR READ_ONLY FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' +
         table_name + '']'' as tableName FROM [Advokat_DATEN].INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE'''
      
         -- create table cursor
         EXEC (@cmd)
         OPEN TableCursor
      
         FETCH NEXT FROM TableCursor INTO @Table
         WHILE @@FETCH_STATUS = 0
         BEGIN
            BEGIN TRY
               SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REORGANIZE'
               PRINT @cmd -- uncomment if you want to see commands
               EXEC (@cmd)
            END TRY
            BEGIN CATCH
               PRINT '---'
               PRINT @cmd
               PRINT ERROR_MESSAGE()
               PRINT '---'
            END CATCH
      
            FETCH NEXT FROM TableCursor INTO @Table
         END
      
         CLOSE TableCursor
         DEALLOCATE TableCursor
      Codeblock
      languagesql
      linenumberstrue
      DECLARE @Table NVARCHAR(255)
      DECLARE @cmd NVARCHAR(1000)
      
      -- Hier den richtigen Namen der Datenbank eingeben
         SET @cmd = 'DECLARE TableCursor CURSOR READ_ONLY FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' +
         table_name + '']'' as tableName FROM [Advokat_TABELLEN].INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE'''
      
         -- create table cursor
         EXEC (@cmd)
         OPEN TableCursor
      
         FETCH NEXT FROM TableCursor INTO @Table
         WHILE @@FETCH_STATUS = 0
         BEGIN
            BEGIN TRY
               SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REORGANIZE'
               PRINT @cmd -- uncomment if you want to see commands
               EXEC (@cmd)
            END TRY
            BEGIN CATCH
               PRINT '---'
               PRINT @cmd
               PRINT ERROR_MESSAGE()
               PRINT '---'
            END CATCH
      
            FETCH NEXT FROM TableCursor INTO @Table
         END
      
         CLOSE TableCursor
         DEALLOCATE TableCursor

         

  9. Sperre des Programmstarts aufheben, starten Sie ADVOKAT am gleichen Gerät wie bei Schritt 6, es erscheint folgende Meldung, welche Sie mit "Ja" bestätigen:
    Soll die Sperre für die anderen Benutzer wieder aufgehoben werden?

  10. Stellen Sie sicher, dass am File- und Datenbankserver die verwendete Lösung zur Sicherung der Daten und/oder eine Serverreplikation diese Geräte nicht zu stark auslastet.
    Im Zweifelsfall sind Datensicherung und Replikation zeitlich so abzuändern, dass diese außerhalb der Arbeitszeiten der Anwender erfolgen.

  11. Helfen die vorigen Schritte nicht und man nimmt weiterhin an, dass der Datenbankserver die Performanceprobleme verursacht, so müssen dieser Maschine weitere Ressourcen (CPU-Kerne und Arbeitsspeicher) zugewiesen werden.