Versionen im Vergleich

Schlüssel

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

Ausgangssituation

  • Der Programmstart von ADVOKAT dauert sehr lange.

  • Das Öffnen der Module Aktenverwaltung und/oder Dokumentverwaltung dauert sehr lange.

  • Die Verwendung des Suchassistenten und der dynamischen Suche dauert sehr lange.

  • Die Erstellung/Bearbeitung von Benutzern unter "Programme" > "Tabellen warten" > "Benutzer und Gruppen" dauert sehr lange.

  • Die Erstellung und/oder das Öffnen von Dokumenten (Beispiel: Word-Dokumente) über ADVOKAT dauert sehr lange.

  • Bei Verwendung der Dokumentvorschau in ADVOKAT erscheint das Fenster "Kopieren von ..." und ADVOKAT reagiert nicht.

Ursache
Es gibt mehrere mögliche Ursachen, es können auch mehrere gleichzeitig zutreffen:

  1. Der

...

  1. File- und/oder Datenbank- und/oder SharePointserver sind veraltet, es fehlen Windows Updates.

  2. Der

...

  1. File- und/oder Datenbank- und/oder SharePointserver sind zu stark ausgelastet.

  2. Die Microsoft SQL Instanzen für ADVOKAT und/oder Microsoft SharePoint am Datenbankserver sind hinsichtlich CPU und RAM zu streng limitiert.

  3. Die Anwender nutzen ADVOKAT auf einem externen Gerät (Arbeitsplatz) welches per VPN-Client eingebunden ist.

  4. Die Anpassungen laut Kapitel Dienst WebClient, Gruppenrichtlinien und Antivirensoftware wurden nicht umgesetzt.

Lösung

...

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

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

...

  1. Stellen Sie sicher, dass ADVOKAT Version 6.27f oder höher verwendet wird. Im Bedarfsfall führen Sie ein ADVOKAT Update durch, siehe Kapitel ADVOKAT Update.

    • In den Versionen 6.27c, 6.27d und 6.27e gibt es durch ADVOKAT verursachte Performanceprobleme.

    • Welche Version im Einsatz ist kann per Menüpunkt "?" > "Info" in der Zeile "Programmversion" ermittelt werden.

  2. Stellen Sie sicher, dass in ADVOKAT unter Menüpunkt "Programme" > "Tabellen warten" > "Benutzer und Gruppen" die Benutzerdaten aktuell und gepflegt sind.

    • Das Feld "Windows Benutzer" muss bei inaktiven Benutzern (ausgeschiedene Mitarbeiter) leer sein.

    • Die Checkbox "Dieser Benutzer hat eine ADVOKAT Lizenz" muss bei inaktiven Benutzern (ausgeschiedene Mitarbeiter) deaktiviert sein.

    • Die Checkbox "Dieser Benutzer ist inaktiv" muss bei inaktiven Benutzern (ausgeschiedene Mitarbeiter) aktiviert sein.

    • Mehr Informationen dazu finden Sie im

...

...

  • Erstellen Sie den Eintrag "DirectoryCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.
  • Erstellen Sie den Eintrag "FileInfoCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.
  • Erstellen Sie den Eintrag "FileNotFoundCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.
    • Stellen Sie sicher, dass das Gerät (gilt für Workstations und Terminalserver) neu gestartet wird, damit die Änderungen der Registry wirksam werden.
    • Ab einer bestimmten Anzahl von Geräten ist die Auslieferung dieser Registry-Einträge per Gruppenrichtlinie empfehlenswert.
       

...

  • 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.

...

  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".
    • Bei Microsoft SQL Server 2016: Es muss "SQL Server 2016 (130)" angezeigt werden. Ist ein älterer Kompatibilitätsgrad angegeben, dann ändern Sie diesen auf "SQL Server 2016 (130)".
    • Bei Microsoft SQL Server 2017 oder neuer: Es muss "SQL Server 2017 (140)" 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

       

...

  1. Navigieren Sie zum ADVOKAT Backend unter "...\ADVOKAT\Daten" und öffnen Sie die Konfigurationsdatei "Advokat.ini" mit einem Texteditor.

    • Prüfen Sie ob unterhalb der Zeile [Benutzer Default] folgenden Konfigurationsschalter vorhanden ist: CheckWebClient=1

    • Ist dieser vorhanden so entfernen Sie diesen vollständig, ist dieser nicht vorhanden wechseln Sie zu Schritt 6.

  2. Stellen Sie am Datenbank- und SharePointserver sicher, dass alle verfügbaren Windows Updates für Microsoft SQL und Microsoft SharePoint eingespielt sind.
    Dies gilt insbesondere, wenn Microsoft SharePoint 2013 im Einsatz ist. Eine Übersicht der Windows Updates finden Sie hier.

  3. Stellen Sie am SharePointserver sicher, dass in der SharePoint Zentraladministration im Bereich "Upgrade und Migration" > "Datenbankstatus überprüfen" alle Datenbanken aktuell sind.

    • Dies erkennen Sie am Eintrag "Es ist keine Aktion erforderlich" in der Spalte "Status". Wird dort angezeigt, dass ein Upgrade erforderlich ist, so muss dies unbedingt durchgeführt werden.

    • Mehr Informationen dazu finden Sie im Microsoft Artikel hier.

  4. Stellen Sie am Datenbankserver und SharePointserver jeweils 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, Microsoft SQL Server und Microsoft SharePoint zur Verfügung stehen.

    • Für den SharePointserver gilt: Ist die Auslastung zu hoch, können Sie versuchen, die Konfiguration der Volltextsuche laut Kapitel Volltextsuche konfigurieren anzupassen.

      • Es sollte der Zeitintervall der inkrementellen Durchforstung von alle 6 Stunden auf alle 12 Stunden täglich gesetzt werden.

  5. Stellen Sie sicher, dass ADVOKAT am Datenbankserver die Komponente Remote Blob Store (RBS) nicht in Verwendung ist.
    Werden Daten aus der Inhaltsdatenbank "WSS_Content" per RBS ausgelagert, dann kommt es beim Öffnen/Erstellen/Bearbeiten von Dokumenten zu Performanceproblemen. 

  6. 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.

  7. Prüfen Sie ob ADVOKAT auf Terminalservern verwendet wird. Falls dies zutrifft kontrollieren Sie diese Einstellung, andernfalls wechseln Sie zu Schritt 12.

    • Rufen Sie in den Systemeigenschaften "Erweiterte Systemeinstellungen" > Bereich Leistung "Einstellungen ..." > Reiter "Datenausführungsverhinderung" auf.
      Ist die Option "Datenausführungsverhinderung für alle Programme und Dienste mit Ausnahme der ausgewählten einschalten" aktiviert, setzen Sie folgende Ausnahmen:

      • C:\Program Files (x86)\Advokat\A4Wrapper.exe

      • C:\Program Files (x86)\Advokat\A4Worker.exe

      • C:\Program Files (x86)\Advokat\Advokat3.exe

      • C:\Program Files (x86)\Advokat\A3Mailer.exe

      • C:\Program Files (x86)\Advokat\Advokat_Telefonassistent.exe

      • C:\Program Files (x86)\Advokat\ERVBoxWorker.exe
         

  8. Stellen Sie sicher, dass der Zugriff von allen Geräten (Workstations und Terminalserver) auf den Fileserver performant ist. Beim verwendeten SMB-Protokoll (SMB 2.0 und neuer) verwendet Microsoft Windows einen Network Redirector.
    Dessen Verhalten wird durch Registry-Einträge unter [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters] gesteuert. Mehr Informationen finden Sie in diesem Microsoft Artikel.

    • Erstellen Sie den Eintrag "DirectoryCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.

    • Erstellen Sie den Eintrag "FileInfoCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.

    • Erstellen Sie den Eintrag "FileNotFoundCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.

      • Stellen Sie sicher, dass das Gerät (gilt für Workstations und Terminalserver) neu gestartet wird, damit die Änderungen der Registry wirksam werden.

      • Ab einer bestimmten Anzahl von Geräten ist die Auslieferung dieser Registry-Einträge per Gruppenrichtlinie empfehlenswert.

  9. Prüfen Sie ob der File-, Terminal- (falls vorhanden), Datenbank- und SharePointserver per Microsoft HyperV virtualisiert sind. Trifft dies zu passen Sie diese Einstellungen an, andernfalls wechseln Sie zu Schritt 14.

    • Öffnen Sie am Hyper-V Host in der Systemsteuerung im Bereich "Geräte-Manager" unter Netzwerkadapter die Eigenschaften des physischen Netzwerkadapters und des Netzwerkadapters "Hyper-V Virtual Ethernet Adapter".

      1. In der Registerkarte "Erweitert" passen Sie die Werte bei folgenden Eigenschaften an. Starten Sie den Netzwerkadapter per PowerShell mit Befehl Restart-NetAdapter -Name "Name hier einfügen" neu.

        • Large Send Offload Version 2 (IPv4) > Disabled

        • Large Send Offload Version 2 (IPv6) > Disabled

        • Receive Side Scaling > Disabled

        • Recv Segment Coalescing (IPv4) > Disabled

        • Recv Segment Coalescing (IPv6) > Disabled

      2. Sind durch Punkt A keine Verbesserungen eingetreten, dann passen Sie die Werte bei folgenden Eigenschaften zusätzlich an. Starten Sie den Netzwerkadapter per PowerShell mit Befehl Restart-NetAdapter -Name "Name hier einfügen" neu.

        • IPv4 Checksum Offload (IPv4-Prüfsummen abladen) > Disabled (Deaktiviert)

        • TCP Checksum Offload (IPv4) [TCP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

        • TCP Checksum Offload (IPv6) [TCP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

        • UDP Checksum Offload (IPv4) [UDP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

        • UDP Checksum Offload (IPv6) [UDP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

    • Öffnen Sie am File-, Terminal- (falls vorhanden), Datenbank- und SharePointserver in der Systemsteuerung im Bereich "Geräte-Manager" unter "Netzwerkadapter" die Eigenschaften des verwendeten Netzwerksadapters.

      • Wiederholen Sie die Anpassungen welche zuvor am Hyper-V Host umgesetzt wurden.
         

  10. 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.

  11. 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.

  12. Navigieren Sie zur Konfigurationsdatei "...\ADVOKAT\Daten\Advokat.ini" und öffnen Sie diese mit einem Texteditor.

    • Ersetzen Sie bei folgenden Parametern den Servernamen des Datenbankserver durch die IPv4-Adresse: DATENBANK, TABELLBANK, ERVBANK, MAILBANK, TEMPBANK, BUCHHALTUNG

      • Beispiel (vorher)

        • DATENBANK=S:\ADVOKAT\DATEN\ADVOKAT.MDB/SERVER/INSTANZ/Advokat_DATEN

        • TABELLBANK=S:\ADVOKAT\DATEN\TABELLEN.MDB/SERVER/INSTANZ/Advokat_Tabellen

        • ERVBANK=S:\ADVOKAT\DATEN\ADVOERV.MDB/SERVER/INSTANZ/Advokat_AdvoErv

        • MAILBANK=S:\ADVOKAT\DATEN\MAIL.MDB/SERVER/INSTANZ/Advokat_Mail

        • TEMPBANK=S:\ADVOKAT\DATEN\ADVOREP.MDB/SERVER/INSTANZ/Advokat_AdvoRep

        • BUCHHALTUNG=S:\ADVOKAT\DATEN\FIBU\/SERVER/INSTANZ/Advokat_BH_

      • Beispiel (nachher)

        • DATENBANK=S:\ADVOKAT\DATEN\ADVOKAT.MDB/192.168.0.1/INSTANZ/Advokat_DATEN

        • TABELLBANK=S:\ADVOKAT\DATEN\TABELLEN.MDB/192.168.0.1/INSTANZ/Advokat_Tabellen

        • ERVBANK=S:\ADVOKAT\DATEN\ADVOERV.MDB/192.168.0.1/INSTANZ/Advokat_AdvoErv

        • MAILBANK=S:\ADVOKAT\DATEN\MAIL.MDB/192.168.0.1/INSTANZ/Advokat_Mail

        • TEMPBANK=S:\ADVOKAT\DATEN\ADVOREP.MDB/192.168.0.1/INSTANZ/Advokat_AdvoRep

        • BUCHHALTUNG=S:\ADVOKAT\DATEN\FIBU\/192.168.0.1/INSTANZ/Advokat_BH_

    • Durch diesen Schritt wird sichergestellt, dass eine wiederholte, fehlschlagende Namensauflösung des Datenbankservers nicht für Verbindungsabbrüche und Performanceprobleme sorgt.

      • Bei Angabe der IPv4-Adresse findet die Namensauflösung nicht statt, mögliche DNS-Probleme werden dadurch vermieden.

         

  13. Stellen Sie sicher, dass ADVOKAT Version 6.28a oder höher verwendet wird. Im Bedarfsfall führen Sie ein ADVOKAT Update durch, siehe Kapitel ADVOKAT Update.

    • Welche Version im Einsatz ist kann per Menüpunkt "?" > "Info" in der Zeile "Programmversion" ermittelt werden.

    • Navigieren Sie in ADVOKAT zum Menüpunkt "System" > "Einstellungen" > Reiter "Dokumente" > Schaltfläche "Weitere Einstellungen" > Reiter "Verzeichnisse" > Schaltfläche "Einstellungen für Dokumentablage bearbeiten".

    • Suchen Sie im Bereich "Microsoft SharePoint Dokumentenmanagement" pro Dokumentbibliothek die Zeile "Features". Fügen Sie folgenden Text ein: SPBreakRoleInheritance=1

      • Per Parameter SPBreakRoleInheritance=1 hat folgende Auswirkungen:

        • Bei der Anlage eines Aktes werden im zugehörigen Ordner der Dokumentbibliothek nicht mehr die Rechte des übergeordneten Ordners in der Dokumentbibliothek geerbt.

          • Falls bisher auf Ebene der Dokumentbibliothek spezielle Rechte für Domänenbenutzer oder Domänengruppen per SharePoint Website oder Drittsoftware definiert waren und abwärts zu den Aktordnern vererbt wurden, dann ist das nun nicht mehr möglich.

        • Stattdessen werden 1:1 die laut ADVOKAT Modul “Security” konfigurierten Rechte eingetragen, inklusive dem in ADVOKAT eingetragenen SharePoint-Administrator zum Verwalten der Rechte.

          • Die Berechtigungen eines Ordners samt Inhalt können nicht mehr per SharePoint Website oder Drittsoftware, sondern nur mehr in ADVOKAT verwaltet werden.

        • Domänenadministratoren haben in der Dokumentbibliothek nur mehr dann Zugriff auf Ordner, wenn es ihnen es laut ADVOKAT Modul “Security” zugelassen ist.

          • Damit ist das Securityrecht “Akt sehen” unter Menüpunkt “Programme” > “Tabellen warten” > “Security” im Reiter “Akten” pro Akt-/Aktengruppe für Benutzergruppe “Administratoren” gemeint.

      • Sind diese Auswirkungen zu problematisch, dann verwenden Sie stattdessen Parameter SPBreakRoleInheritance=2 mit folgendem Unterschied:

        • Stattdessen werden 1:1 die laut ADVOKAT Modul “Security” konfigurierten Rechte eingetragen, inklusive dem in ADVOKAT eingetragenen SharePoint-Administrator zum Verwalten der Rechte.

          • Es wird versucht die für Domänenbenutzer per SharePoint Website oder Drittsoftware vergebenen Berechtigungen eines Ordners samt Inhalt zu übernehmen.

            • Eine Übernahme für Domänengruppen ist nicht möglich, dies gilt nur Domänenbenutzer.

            • Kann für einen Domänenbenutzer eine Berechtigung nicht übernommen werden, dann wird fortgesetzt und ein Hinweis dafür protokolliert.

          • Die Berechtigungen eines Ordners samt Inhalt können nicht mehr per SharePoint Website oder Drittsoftware, sondern nur mehr in ADVOKAT verwaltet werden.

  14. Dieser Schritt ist nur relevant, wenn die SQL-Datenbanken von ADVOKAT mit Microsoft SQL Server 2016 oder neuer betrieben werden. Bei Microsoft SQL Server 2012 und 2014 überspringen Sie diesen Schritt.
    Befolgen Sie Punkt 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".

      • Bei Microsoft SQL Server 2016: Es muss "SQL Server 2016 (130)" angezeigt werden. Ist ein älterer Kompatibilitätsgrad angegeben, dann ändern Sie diesen auf "SQL Server 2016 (130)".

      • Bei Microsoft SQL Server 2017 oder neuer: Es muss "SQL Server 2017 (140)" 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-Befehle 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
      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
      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

         

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

  16. Navigieren Sie zum ADVOKAT Backend unter "...\ADVOKAT\Daten" und öffnen Sie die Konfigurationsdatei "Advokat.ini" mit einem Texteditor.

    • Fügen Sie in einer neuen leeren Zeile unterhalb von [Benutzer Default] folgenden Konfigurationsschalter ein: PerfLog=1

    • Durch die Aktivierung des Schalters werden alle Vorgänge in ADVOKAT hinsichtlich Performance protokolliert. Die Protokolle befinden sich im Backend unter "...\ADVOKAT\Daten\Log".

      • Lassen Sie den Konfigurationsschalter für 24 bis 48 Stunden aktiviert, anschließend ist dieser wieder zu entfernen.

      • Eine permanente Protokollierung würde zu sehr großen Protokollen im Ordner "Log" führen und kann sich auch negativ auf die Performance auswirken.

  17. Stellen Sie sicher, dass alle Anpassungen laut Kapitel Dienst WebClient, Gruppenrichtlinien und Antivirensoftware vollständig und lückenlos umgesetzt wurden.

  18. Ersetzen Sie in der ADVOKAT Konfiguration den Servernamen des Fileservers durch die IPv4-Adresse.

    1. Wird ADVOKAT per Netzlaufwerk betrieben, dann ist es ausreichend das per Gruppenrichtlinie oder netlogon-Skript ausgelieferte Netzlaufwerk anzupassen.

      • Aktualisieren Sie in jener Gruppenrichtlinie für die Internetoptionen den Servernamen durch die IPv4-Adresse:

    2. Wird ADVOKAT ohne Netzlaufwerk betrieben, dann ist eine Anpassung wie im Kapitel ADVOKAT ohne Netzlaufwerk verwenden beschrieben erforderlich.

      • In diesem Fall wird der Servername oder Servername mit FQDN durch diese IPv4-Adresse an allen im Kapitel erwähnten Stellen ersetzt.

      • Aktualisieren Sie in jener Gruppenrichtlinie für die Internetoptionen den Servernamen durch die IPv4-Adresse:

    3. Hinweise

      • Durch diesen Schritt wird sichergestellt, dass eine wiederholte, fehlschlagende Namensauflösung des Fileservers nicht für Verbindungsabbrüche und Performanceprobleme sorgt.

        • Bei Angabe der IPv4-Adresse findet die Namensauflösung nicht statt, mögliche DNS-Probleme werden dadurch vermieden.

  19. Stellen Sie sicher, dass am File-, Datenbank- und SharePointserver 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.

  20. Prüfen Sie ob es Optimierungspotenzial laut den Best-Practice-Vorgaben in diesem Microsoft Artikel gibt.

    1. Hauptaugenmerk sollte dabei auf die Punkte im Absatz "Konfigurieren spezieller SQL Server-Einstellungen vor dem Bereitstellen von SharePoint Server" liegen.

...

    1. Hinsichtlich Punkt "Aufgrund potenzieller Leistungsprobleme bei der Verwaltung mehrerer SQL Instanzen wird empfohlen, eine einzelne Instanz von SQL Server pro bereitgestellten Datenbankserver zu verwenden.":

      • Die Anzahl der SQL-Instanzen am Datenbankserver muss einer oder zwei Instanzen entsprechen, jedoch keinesfalls mehr.

      • Bei Verwendung mehrerer SQL-Instanzen ist zu gewährleisten, dass die für ADVOKAT und SharePoint irrelevanten Instanzen der relevanten Instanz keine Ressourcen entziehen.

    2. Hinsichtlich Konfiguration der TempDB-Datenbank(en) laut Absatz "Auslegung des Speichers für maximalen Durchsatz und optimale Verwaltbarkeit":

      • Diese Optimierung sorgt nur bei großen Umgebungen (50+ Arbeitsplätze oder 200 GB bis 4 TB Datenvolumen (mehr als 400.000 Dokumente)), siehe Kapitel Voraussetzungen für eine Verbesserung.

      • Bei kleineren Umgebungen sind Verbesserungen im messbaren Bereich, aber für die Anwender nicht spürbar. Weitere Optimierungen für TempDB-Datenbanken finden Sie in diesem Microsoft Artikel.

    3. Hinsichtlich Größe der Inhaltsdatenbanken laut Absatz "Auslegung des Speichers für maximalen Durchsatz und optimale Verwaltbarkeit":

      • Microsoft empfiehlt eine maximale Größe von 200 GB pro Inhaltsdatenbank für eine optimale Performance. 

      • Erfahrungsgemäß ist die bessere Performance aufgrund kleiner Inhaltsdatenbanken zwar messbar, aber für die ADVOKAT Anwender oft nicht spürbar.

      • Unsere Untersuchungen haben gezeigt, dass die spürbare Performance gleich ist, egal ob im Hintergrund eine Inhaltsdatenbank mit 200 GB, 400 GB oder 1TB verwendet wird.

    4. Weitere Optimierungsmaßnahmen sind in folgenden Microsoft Artikel beschrieben. Diese sind aber nur schwer bis gar nicht umzusetzen, da dafür grundlegende Änderungen an Hard- und Software erforderlich wären.
      Erfahrungsgemäß lassen sich diese Änderungen nicht ohne hohen Zeit- und Kostenaufwand umsetzen. Es gibt auch keine Möglichkeit vorab zu prüfen ob diese wirklich für eine Verbesserung der Situation sorgen.

  1. Navigieren Sie in ADVOKAT zum Menüpunkt "System" > "Einstellungen" > Reiter "Dokumente" > Schaltfläche "Weitere Einstellungen" > Reiter "Verzeichnisse" > Schaltfläche "Einstellungen für Dokumentablage bearbeiten".

    • Suchen Sie im Bereich "Microsoft SharePoint Dokumentenmanagement" pro Dokumentbibliothek die

...

    • Zeile "Features". Fügen Sie folgenden Text ein: WebDavUpload;True;WebDavUploadBS;2048

      • Ist der Parameter SPBreakRoleInheritance=1 oder SPBreakRoleInheritance=2 bereits vorhanden, dann muss es beispielsweise wie folgt aussehen: SPBreakRoleInheritance=1;WebDavUpload;True;WebDavUploadBS;2048

      • Per Parameter WebDavUpload;True wird der Upload von Dateien nach Microsoft SharePoint beeinflusst. Es sorgt für eine Verbesserung zwischen 1 und 10% bei größeren Dateien, tendenziell ab 50 MB.

      • Der Parameter WebDavUpload;False entspricht einer Deaktivierung. Eine Performanceverbesserung für kleinere Dateien, tendenziell unter 50 MB lässt sich damit nicht erreichen.

      • Per Parameter WebDavUploadBS;<Wert> wird die Buffergröße für den Upload von Dateien nach Microsoft SharePoint beeinflusst.

        • Eine Änderung hat bei größeren Dateien tendenziell Geschwindigkeitsverbesserungen, bei kleineren Dateien Verschlechterungen.

        • Testen Sie das Verhalten bei folgenden Werten: 2048, 8192, 16384. Der Parameter WebDavUploadBS;4096 entspricht dem Standardverhalten/Standardwert.

  1. Helfen die vorigen Schritte nicht und man nimmt an, dass der Datenbankserver die Performanceprobleme verursacht, so müssen dieser Maschine weitere Ressourcen (CPU-Kerne und Arbeitsspeicher) zugewiesen werden.
    Wird stattdessen der SharePointserver als Verursacher der Performanceprobleme vermutet und die vorigen Schritte helfen nicht, so müssen dieser Maschine weitere Ressourcen (CPU-Kerne und Arbeitsspeicher) zugewiesen werden.