Symbio Betrieb Release 5 ff.

Die Seite wird erstellt Greta Schumacher
 
WEITER LESEN
Symbio Betrieb Release 5 ff.
Symbio Betrieb

Release 5 ff.

                 ©2021 Symbioworld GmbH
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                           2

Inhalt

1         Einführung                                                6
1.1       Über dieses Dokument                                      6
1.2       Bevor Sie starten                                         6
1.3       Support                                                   6
1.4       Symbio-Infrastruktur                                      6

2         Vorbereitung                                              7
2.1       Zugriff/Remote-Access Symbio-Server (Anwendungsserver)    7
2.2       Administrator-Rolle in Symbio                             7
2.3       Zugriff/Remote-Access SQL Server-Symbio-Datenbanken       7

3         Benutzerverwaltung                                        8
3.1       SAML/AD-Anbindung                                         8
3.1.1     SAML/AD-Voraussetzungen                                   8
3.1.2     SAML: Anforderungen an den Identity Provider              8
3.1.2.1   Claims                                                    9
3.1.2.2   Metadaten                                                10
3.1.2.3   Typische Authentifizierungsanfrage                       10
3.1.2.4   AD FS: Active Directory Federation Services               11
3.1.3     Symbio: SAML-Einstellungen                               12
3.1.4     Signierung der Anfragen von Symbio an den IdP            14
3.1.5     Beschränkung des Zugriffs per SAML (ab Symbio v1803)     15
3.1.6     Bekannte Einschränkungen                                 16
3.1.7     Potentielle SAML-Fehlermeldungen                         16
3.1.8     Tools zur SAML-Analyse                                   18
3.2       Notfall-Benutzer                                         18
3.2.1     Passwort von (Sys-)Admin zurücksetzen                    18
3.2.2     Deaktivierten Symbio-Admin-Benutzer reaktivieren         18
3.2.3     Symbio-Admin re-importieren                              19
3.2.4     SAML-Einstellungen löschen                               19

4         Operations                                               20
4.1       Symbio-Instanzeinstellungen                              20
4.1.1     Rendering-Update-Intervall                               20
4.1.2     Free & Easy-DB                                           20
4.2       Logging und Tracing                                      20
4.2.1     CustomError-Pages                                        20
4.2.2     Logging                                                  20
4.2.2.1   Symbio                                                   20
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                                           3

4.2.2.2 IIS                                                                         21

4.3       Pflege und Performance-Einstellungen                                      24
4.3.1     Initiale SQL-Datenbankeinstellungen                                       24
4.3.2     Regelmäßige Datenbank-Pflege                                              25
4.3.2.1   Tabellenindices defragmentieren                                           25
4.3.2.2 Volltextindex überprüfen (bis Symbio 5.11)                                  27
4.3.2.3 Volltextindex aktualisieren (bis Symbio 5.11)                               28
4.3.2.4 Volltextindex aktuell halten (bis Symbio 5.11)                              28
4.3.3     Mögliche Ursachen für Performanceprobleme (SQL Server)                    29
4.4       Backup und Restore                                                        31
4.4.1     Backup                                                                    31
4.4.2     Restore                                                                   31
4.4.3     Restore mit Datenbank Pools                                               32
4.5       Update/Upgrade auf neue Version                                           32
4.5.1     Version überprüfen                                                        32
4.5.1.1   Datei-Eigenschaften im Anwendungsverzeichnis                              32
4.5.1.2   Versions-Info in der Anwendung überprüfen                                 32
4.5.2     Maßnahmen vor Update/Upgrade                                              33
4.5.3     Wartungsmodus                                                             33
4.5.3.1   Vorbereitungen                                                            33
4.5.3.2 Vorgehensweise bei Update/Upgrade/Wartung                                   34
4.5.4     Update                                                                    34
4.5.5     Upgrade                                                                   35
4.5.6     Manuelle Umwandlung zu Datenbank Pools                                    37
4.6       Relocate/Datenbank-Operationen                                            37
4.6.1     Datenbanken verschieben                                                   37
4.6.2     Datenbank-Downgrade: SQL Server 2012 nach SQL Server 2008 R2 (englisch)   38
4.6.3     Datenbank- und Tabellen-Collation ändern                                  55
4.7       Sicherheitseinstellungen                                                  56
4.7.1     Verschlüsselte Übertragungen                                              56
4.7.2     ConnectionString-Verschlüsselung                                          57
4.7.2.1   Beispiel: Verschlüsselung des Servernamens via PowerShell                 57
4.7.3     Weitere Sicherheitseinstellungen                                          58

5         Operations (Symbio-Cloud)                                                 59
5.1       Allgemeine Informationen zum Cloud-Anbieter                               59
5.2       Wo befinden Sich Ihre Daten?                                              59
5.3       Cloud-Architektur                                                         61
5.3.1     Symbio Cloud Varianten                                                    61
5.3.1.1   Standard-Cloud                                                            61
5.3.1.2   Exclusive-Cloud                                                           61
5.3.1.3   Private-Cloud                                                             61
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                              4

5.4       Symbio-Instanz-Einstellungen                 62
5.4.1     Rendering-Update-Intervall                   62
5.4.2     Free & Easy-DB                               62
5.5       Logging und Tracing                          62
5.5.1     Symbio                                       62
5.5.2     IIS                                          62
5.5.3     Windows                                      62
5.5.4     Datenbanken                                  62
5.5.5     Performance                                  62
5.6       Backup und Restore                           63
5.6.1     Backup                                       63
5.6.2     Restore                                      63
5.6.3     Recoverytests                                63
5.7       Update/Upgrade auf neue Versionen            64
5.7.1     Hotfixes und Updates                         64
5.7.2     Upgrades                                     64
5.8       Relocate/Datenbank-Operationen               64
5.8.1     Kopieren einer Prod-Datenbank (Spielwiese)   64
5.9       Datenschutz und Sicherheitseinstellungen     64
5.9.1     Applikation Server                           64
5.9.1.1   Datenbank Authentifzierung (Azure SQL)       64
5.9.1.2   Verschlüsselung der Festplatten              65
5.9.2     Azure-Portal (inkl. Azure Services)          65
5.9.3     Symbio-Zugriff                               65

6         Symbio-Empfehlungen                          66
6.1       Aris-Import                                  66
6.2       Vorsicht beim Löschen                        66

7         Impressum                                    67
Symbio Betrieb Release 5 ff.
Symbio Betrieb                       5

No table of figures entries found.
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                                              6

1 Einführung

1.1 Über dieses Dokument
Dieses Dokument beschreibt Themen und Aufgaben, die einen dauerhaften Symbio-Betrieb
sicherstellen. Dieses Dokument wird regelmäßig kontrolliert und aktualisiert.

1.2 Bevor Sie starten
Bitte beachten Sie die weiteren Dokumente wie Systemanforderungen, Installationsanleitung
und Admin Handbuch.

http://documents.symbioworld.com

1.3 Support
Über unsere Support-Website http://support.symbioworld.com/hc/de unterstützen wir Sie
bei Fragen, Anforderungen und Fehlern.

1.4 Symbio-Infrastruktur
Die folgende Grafik zeigt den typischen Aufbau einer On-Premise-Symbio-Infrastruktur:
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                              7

2 Vorbereitung
Folgende Voraussetzungen müssen vorher erfüllt sein:

2.1 Zugriff/Remote-Access Symbio-Server (Anwendungsserver)
   •   Admin Zugriff für den Anwendungsserver

2.2 Administrator-Rolle in Symbio
   •   SysAdmin
   •   Datenbanksammlung
   •   Datenbank

2.3 Zugriff/Remote-Access SQL Server-Symbio-Datenbanken
   •   Admin Zugriff auf die SQL Datenbanken (z.B. SQL Management Studio)
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                                                8

3 Benutzerverwaltung

3.1 SAML/AD-Anbindung
Im folgenden Kapitel wird die Synchronisierung von Active Directory-Benutzern und -
Gruppen erläutert. Die synchronisierten Benutzer bekommen hierdurch keinen
Anmeldedialog angezeigt.
In Symbio Web können Active Directory-Benutzer über SAML 2.0 angebunden werden, damit
sich diese mit ihrem Windows-Benutzerkonto in Symbio Web anmelden können, ohne dass
die Benutzer manuell in der Benutzerverwaltung von Symbio Web erstellt werden müssen.
Für die Konfiguration sind sowohl Einstellungen in Symbio Web als auch in den Active
Directory Federation Services auf Ihrem Active Directory-Server zu anzupassen.

3.1.1 SAML/AD-Voraussetzungen
Um SAML nutzen zu können, benötigen Sie:

   •   Einen SAML 2.0-fähigen Identity Provider (IdP), z. B. Active Directory Federation
       Services (AD FS)
   •   Dessen Entity ID
   •   Dessen Metadaten-Datei (entweder als physische Datei oder als URL, welche diese
       Datei bereitstellt)
   •   Dessen Single-Sign-On (SSO) Endpunkt/Service URL

       Wichtig:

      Das in den Metadaten enthaltene Zertifikat Ihres IdP muss innerhalb Ihrer
       Organisation vertrauenswürdig sein.
      Das HTTP Redirect Binding muss zur Verfügung stehen und SHA 256-Signaturen
       unterstützen.

3.1.2 SAML: Anforderungen an den Identity Provider
Der Identitätsanbieter ermöglicht dem Symbio-Anwender die Anmeldung mit
Authentifizierungsinformationen, die durch diesen Identitätsanbieter bereitgestellt werden:
   • Symbio ist hier der Service Provider.
   • Identity Provider könnten zum Beispiel die Active Directory Federation Services sein.
   • Symbio authentifiziert sich mit dem Identitätsanbieter über den Browser, so dass
       Identitätsanbieter und Symbio Web sich nicht gegenseitig erreichen können müssen.
       Die Kommunikation übernimmt der Browser, der auf beide Netze Zugriff hat.

Folgende Abbildung verdeutlicht den Authentifizierungsprozess:
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                                                                        9

3.1.2.1 Claims
Benötigt werden die folgenden Informationen:
Titel            Beschreibung       Benötigt Claim-Typ
                 des Inhalts
Name             Name des           Ja          http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

                 Benutzers
UPN              Attribute          Ja          http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn

                 eindeutigen
                 Inhalts
Last Name        Nachname des       Ja          http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname

                 Benutzers
First Name       Vorname des        Ja          http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname

                 Benutzers
E-Mail           E-Mail-Adresse     Ja          http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

                 des Benutzers
Group            Gruppen-Claims Optional http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group
                 (Ein Claim mit
                 dem Typ je
                 Gruppe, falls
                 AD-Gruppen in
                 Symbio genutzt
                 werden sollen)
Office Adresse   Office Adresse     Nein        http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress

                 des Benutzers
Office PLZ       Office PLZ des     Nein        http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode

                 Benutzers
Office Land      Office Land des    Nein        http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country

                 Benutzers
Symbio Betrieb Release 5 ff.
Symbio Betrieb                                                                                                10

Private       Private            Nein     http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone

Telefonnummer Telefonnummer
              des Benutzers
Geschäftliche Geschäftliche      Nein     http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone

Telefonnummer Telefonnummer
              des Benutzers
Geburtsdatum     Geburtsdatum    Nein     http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth

                 des Benutzers

3.1.2.2 Metadaten
Zugriff auf Symbio Web vorhanden
Haben Sie bereits Zugriff auf Symbio Web, so können Sie die Metadaten auch direkt in
Symbio Web herunterladen.
Ist Ihre Storage-Adresse https://sample.symbioweb.com/storagecollection/storage dann
rufen Sie folgende URL auf
https://sample.symbioweb.com/collection/storage/viewer/1031/Public/ServiceProviderFed
erationMetadata, um die Metadaten für Symbio Web als Service Provider zu erhalten.

Hinweis:
Über die externe Seite samltool.com lässt sich die Metadaten-Datei für den Identity Provider
als auch Service Provider auch generieren, allerdings sollten Sie hier keine vertraulichen
Daten benutzen, sondern nur Spieldaten wie https://example.com. Hinterher ändern Sie das
Generierte und ersetzen dies durch entsprechende Werte Ihrer Organisation.

Mehr Informationen finden Sie in der Online Dokumentation.

3.1.2.3 Typische Authentifizierungsanfrage

 http://symbioworld.com/web

   •   ID: ID dieser Anfrage, bestehend aus "zufällig" generierten Buchstaben und Zahlen.
   •   Version: Version des verwendeten SAML-Protokolls.
   •   IssueInstant: Zeitstempel, der angibt, wann diese Anfrage generiert wurde.
   •   Destination: Zieladresse, an die diese Anfrage gestellt wird.
   •   AssertionConsumerServiceURL: URL, an der Symbio die Antwort des Identity
       Providers erwartet.
Symbio Betrieb                                                                                      11

3.1.2.4 AD FS: Active Directory Federation Services
Die heruntergeladene oder selbst erstellte FederationMetadata.xml muss in Ihren Active
Directory Federation Services unter Vertrauensstellungen importiert werden, um Ihren AD FS
mitzuteilen, dass eine Vertrauensstellung mit uns, http://symbioworld.com/web (Entity ID
von Symbio World), aufgebaut werden soll.

Als Assertion Consumer Service URL (ACS) bzw. Reply URL benutzen Sie folgende URL
https://sample.symbioweb.com/AuthServices/Acs

    •   Hierzu passen Sie „sample“ entsprechend an.
    •   „symbioweb.com“ ist nur bei einer On-Premise-Installation zu ändern.

Darüber hinaus müssen außerdem noch Regeln für Gruppenmitgliedschaften und Gruppen
angelegt werden, um Active Directory-Benutzergruppen (z. B. SymbioCloudAdmins,
SymbioAuthors, SymbioArchitects) automatisch in Symbio zu erstellen und nutzen zu können.

Beispiel-Regel für Gruppenmitgliedschaften:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types =
("http://schemas.xmlsoap.org/claims/Group"), query = ";tokenGroups;{0}", param = c.Value);

Beispiel-Regel für Gruppen:
c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value =~ "(?i)symbio"] => issue(claim = c);

D.h. nur die AD-Gruppen, die „symbio“ als Teilstring enthalten, werden beachtet.

Die Reihenfolge der Regeln sollte dann folgendermaßen aussehen:
Pos.      Regel      Typ        Claims

1         Group   Custom        c:[Type ==
          Members Rule          "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsacco
          hips                  untname", Issuer == "AD AUTHORITY"]
                                 => add(store = "Active Directory", types =
                                ("http://schemas.xmlsoap.org/claims/Group"), query = ";tokenGroups;{0}",
                                param = c.Value);

2         Groups     Custom     c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value =~
                     Rule       "(?i)symbio"]
                                 => issue(claim = c);

3         Basic      Send
          Claim      LDAP
          Rule       Attribut
                     es as
                     Claims
Symbio Betrieb                                                                                12

4        Office     Send
         Address    LDAP
                    Attribut
                    es as
                    Claims

3.1.3 Symbio: SAML-Einstellungen
Um die SAML-Authentifizierung in Symbio Web einzurichten, gehen Sie wie folgt vor:
  1. Um nun einen Identity Provider zu konfigurieren, navigieren Sie in den
      entsprechenden Storage (Systemadministration, Storage Collection oder Storage),
      öffnen Sie die Systemeinstellungen und wählen Sie "SAML-Einstellungen" aus.

       Wird hier ein Identity Provider konfiguriert, gilt dieser für alle hierarchisch
       darunterliegenden Storages. Das heißt im Falle der Systemadministration für die
       gesamte Applikation und im Falle einer Storage Collection für alle darin enthaltenen
       Storages.

       Für den Identity Provider müssen hier die Einstellungen vorgenommen werden.

       Die folgenden Informationen benötigen wir vom Identity Provider:
       a. Metadaten XML-Datei des Identity Providers (aus den AD FS):
           Diese können Sie von Ihrem AD FS-Server herunterladen bspw. mit
           https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml
       b. Entity ID (steht auch in den Metadaten), z. B.
           http://fs.example.com/adfs/services/trust
       c. SSO Service URL (steht auch in den Metadaten), https://fs.example.com/adfs/ls
           Bitte beachten Sie, dass hier das https-Protokoll eingetragen wird.
       Geben Sie die Entity ID und SSO Service URL in die dafür vorgesehenen Eingabefelder
       ein und laden Sie die Metadaten-XML hoch.

    2. Für die Authentifizierung in Symbio Web via SAML ist es empfohlen, das HTTPS-
       Binding zu verwenden. Für den administrativen Zugriff von Symbioworld-Seite ist es
       notwendig, ein weiteres HTTPS Binding für den Port 4430 einzurichten.
       Damit sollten im IIS folgende Bindings konfiguriert werden:
Symbio Betrieb                                                                             13

   3. Web.config - Basis-Konfiguration:
      Seit Symbio 5.5: Für den administrativen Zugriff von Symbioworld-Seite über Port
      4430 muss das Setting für den PZAdminLogin in der Web.config, die im Stammordner
      von Symbio Web liegt, von „false“ auf „true“ zu gesetzt werden:
      
   4. Darüber hinaus muss in der Web.config eingestellt werden, welche Benutzergruppe
      aus dem Active Directory standardmäßig über Administrator-Rechte in Symbio Web
      verfügen soll:
      
   5. Nun sollte der Zugriff via https://sample.symbioweb.com/_sysadmin/_admin bereits
      möglich sein. Falls nicht, prüfen Sie bitte:
        a. Firewall-Einstellungen anpassen und eingehende Regel für 80, 443, 4430
            erstellen.
        b. Falls nach dem ersten Login der Browser nicht automatisch zu Symbio Web
            weiterleitet, rufen Sie die Seite
            (https://sample.symbioweb.com/_sysadmin/_admin) erneut auf.
   6. Sind die entsprechenden Einstellungen auch beim Identity Provider vorgenommen
      worden, ist die Website über das HTTPS-Standard-Binding von Symbio Web über
      diesen Identity Provider verfügbar.
   7. Melden Sie sich nun mit einem Benutzer an, der Mitglied der Administratorengruppe
      SymbioCloudAdmins ist, oder alternativ mit einem Benutzer aus der
      Administrationsgruppe, die in Schritt 4 oben konfiguriert wurde.
   8. Haben Sie bereits andere Symbio-Gruppen in Ihrem Active Directory erstellt, werden
      diese bei der ersten Anmeldung erstellt und synchronisiert.
   9. Bei der ersten Anmeldung eines Active Directory-Benutzers wird dieser in Symbio
      Web als Benutzer mit der Anwendungsrolle „Viewer“ hinzugefügt, wenn er nicht
      Mitglied der Symbio-Administratorengruppe (z. B. SymbioCloudAdmins) ist. Soll ein
      Benutzer über erweiterte Rechte verfügen, muss der Symbio Administrator die
      entsprechende Anwendungsrolle für diesen Benutzer aktivieren, z. B. „Author“ für
      Editor-Rechte.
Symbio Betrieb                                                                                 14

Anmerkungen:
  • Berechtigungen: Die Anwendungsrollen eines Benutzers müssen von einem Symbio-
      Administrator (initial) gesetzt/verwaltet werden, d.h. Mitglieder einer bestimmten
      Gruppe bekommen nicht automatisch die Anwendungsrolle „Architect“, wenn der
      Benutzer Mitglied von „SymbioArchitects“ ist. Nur Mitglieder der Symbio-
      Administratorengruppe (z. B. SymbioCloudAdmins) bekommen automatisch die
      Anwendungsrolle „Administrator“.

   •   Benutzergruppen: Falls AD-Gruppen trotz konfigurierter Claim-Regel nicht in Symbio
       bei (Neu-)Anmeldung eines Benutzers erstellt werden, liegt es höchstwahrscheinlich
       daran, dass die AD-Gruppe im Active Directory nicht auf „Global“ oder „Universal“
       konfiguriert ist.
       Siehe auch MS-Artikel.

3.1.4 Signierung der Anfragen von Symbio an den IdP
   1. Überblick
      Um sicherzustellen, dass eine Authentifizierungsanfrage tatsächlich von einem
      vertrauenswürdigen Service Provider stammt, fordern manche Identity Provider die
      Signierung dieser Anfragen mit einem Zertifikat des Service Providers.

       Dazu muss der Service Provider (hier: Symbio) über ein PFX/P12-Archiv verfügen,
       welches einen privaten Schlüssel und dessen X509-Zertifikat bündelt.
       Dem Indentity Provider (z.B. ADFS) muss das X509-Zertifikat (ohne privaten Schlüssel,
       z.B. als CER-Datei) bekannt gemacht werden.

       Sobald in Symbio eine solche PFX-Datei in einer SAML-aktivierten Datenbank
       (oder Sammlung) hinterlegt ist, wird automatisch eine Signierung aller Anfragen
       an den konfigurierten IdP vorgenommen.
       Diese Signierung erfolgt unter Verwendung des SHA256-Hash-Algorithmus.

       Die PFX-Datei darf über kein Passwort verfügen (bzw. der leere String "" muss
       als Passwort gesetzt sein). Außerdem wird die PFX-Datei unverschlüsselt in der
       Datenbank (oder Sammlung) abgelegt.

   2. Einrichtung
      Nachdem
      "1. SAML Gruppen-Management" aktiviert und entsprechende SAML-
      Benutzergruppen angelegt und berechtigt, sowie
      "2.a) Entity ID", "2.b) Metadaten", "2.c) SSO Service URL" konfiguriert wurden, kann
      "3. Optionales Zertifikat zur Anfragesignierung" hochgeladen werden.
Symbio Betrieb                                                                              15

       Damit werden dann alle zukünftigen Anfragen an den IdP automatisch signiert (egal,
       ob dieser dies verlangt oder nicht).

   3. Bitte laden Sie Ihre pfx Datei hoch.

3.1.5 Beschränkung des Zugriffs per SAML (ab Symbio v1803)
Bei aktivem SAML-Gruppenmanagement besteht die Möglichkeit, Benutzern, die nicht einer
in Symbio konfigurierten SAML-Gruppe zugeordnet sind, eine Standardrolle zuzuweisen.
Diese können Sie in den SAML-Einstellungen anpassen. Standardmäßig ist dies auf "Viewer"
voreingestellt.
Symbio Betrieb                                                                                    16

Soll einem Benutzer, der keine SAML-Gruppe zugewiesen ist, der Zugriff auf eine Datenbank
verwehrt werden, entfernen Sie bitte den Haken bei "Viewer". Entsprechende Benutzer
werden bei einem Anmeldeversuch automatisch in der Datenbank deaktiviert.

Sobald ein Benutzer mindestens einer SAML-Gruppe zugeordnet werden kann, erhält er die
höchste Rolle, die sich aus den SAML-Gruppen ergibt. Die Standardrolle aus den SAML-
Einstellungen hat dann keine Bedeutung mehr.

Ein einmal deaktivierter Benutzer wird durch SAML-Gruppen oder die Standardrolle
niemals aktiviert. Dies muss manuell durch einen Administrator geschehen. Dazu
müssen Sie lediglich den Haken "Deaktiviert" bei dem entsprechenden Benutzer
entfernen.

3.1.6 Bekannte Einschränkungen
Um den Einsatz von Symbio in Unternehmensumgebungen, die den IE11 im
Kompatibilitätsmodus verwenden, zur ermöglichen, gibt es Einschränkungen beim Aufruf von
Permanent-Links aus Visio heraus. Diese können zu Problemen, insbesondere im
Zusammenspiel mit SAML, führen und werden deshalb nicht unterstützt.

3.1.7 Potentielle SAML-Fehlermeldungen
Aussagekräftige Fehlermeldungen im Browser sind nur dann sichtbar, wenn die Standard-
Fehlerseiten in der Web.config deaktiviert wurden, siehe CustomError-Pages.
   • “Received message contains unexpected InResponseTo "id1234567890". No RelayState
       was detected so message was not expected to have an inResponseTo attribute”
           o Sind Entity ID und SSO Service richtig konfiguriert?
           o Nutzt ein Produktivsystem eine andere Vertrauensstellung als eine
                Testumgebung?
   • “The signature verified correctly with the key contained in the signature, but that key is
       not trusted.”
           o Das Zertifikat in der Metadatei.xml ist nicht vertrauenswürdig.
   • “Das Remotezertifikat ist laut Validierungsverfahren ungültig“
       Ggfs. fehlt die Root CA (Root Certification Authority).
       Dies können Sie wie folgt überprüfen:
           o Öffnen Sie Ihre Metadaten-Datei in einem Text-Editor
           o Speichern Sie den Wert, der im X509Certificate-Tag enthalten ist, in eine
                separate Datei namens Zertifikatstest.cer
Symbio Betrieb                                                                                    17

          o   Öffnen Sie die neu erstellte Datei Zertifikatstest.cer und prüfen Sie den Inhalt:
              Das Zertifikat sollte so aussehen:

              Falls es ungültig ist, kann es so aussehen:
Symbio Betrieb                                                                                 18

3.1.8 Tools zur SAML-Analyse
Ohne in der Web.config das Logging auf Info-Level erhöhen (siehe Logging-Level) und ohne
den Anwendungspool neu starten zu müssen, gibt es neben dem Netzwerkanalyse-Tool
Fiddler auch nützliche Browser Add-Ons, die SAML-Antworten anzeigen können:
   • Chrome: SAML Chrome Panel
       Hier lassen sich SAML-Infos über die Developer Tools einsehen.
   • Firefox: SAML Tracer
       Zu starten über das Hamburger-Symbol.

3.2 Notfall-Benutzer

3.2.1 Passwort von (Sys-)Admin zurücksetzen
Das Standardpasswort nach der Installation ist:
Benutzer: admin
Passwort: Start123

Falls dieses in einer Datenbank zurückgesetzt werden muss, weil kein weiteres Administrator-
Konto verfügbar ist, dann lässt sich dies über folgende SQL-Abfrage in einer Datenbank
durch den SQL-Datenbankadministrator zurücksetzen:
-- How to reset Symbio Admin password
use databaseName; -- databaseName to be replaced
go

update symbio.[user]
set [Password] =
'4b78afb4e3f38505ad68986100c6a5319afc09e50ee28387b2cb20900fea8a79bedca2c945b3feaaeebbd
4aa2d95ecaf50ef6b8ec299571bd34b41ac18ef2c53'
where EntityKey = (select distinct EntityKey from symbio.SearchData where Type =
'UTX_WebUser' and OriginKey = 'a364f30b-a126-4a74-9e1a-1df87f2a6074')
and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted

Danach muss der Anwendungspool der Symbio-Instanz neu gestartet werden.

3.2.2 Deaktivierten Symbio-Admin-Benutzer reaktivieren
Falls der Symbio-Administrator deaktiviert wurde, aber nun wieder Zugang zu einer Symbio-
Datenbank erhalten soll, aber es keinen anderen Administrator gibt, der ihm dieses Recht in
Symbio einrichten kann, dann lässt sich die Deaktivierung über folgende SQL-Abfrage in
einer Datenbank durch den SQL-Datenbankadministrator aufheben:
-- How to reset Symbio Admin password
use databaseName; -- databaseName to be replaced
go

update symbio.SearchData
set AttributeValue = 'false'
where EntityKey = (select distinct EntityKey from symbio.SearchData where Type =
'UTX_WebUser' and OriginKey = 'a364f30b-a126-4a74-9e1a-1df87f2a6074')
and AttributeType = 'ATX_ROLE_INACTIVE'
and AttributeValue = 'true'
and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted

update symbio.Attribute
set Value = 'false'
Symbio Betrieb                                                                                19

where EntityKey = (select distinct EntityKey from symbio.SearchData where Type =
'UTX_WebUser' and OriginKey = 'a364f30b-a126-4a74-9e1a-1df87f2a6074')
and Type = 'ATX_ROLE_INACTIVE'
and Value = 'true'
and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted

Danach muss der Anwendungspool der Symbio-Instanz neu gestartet werden.

3.2.3 Symbio-Admin re-importieren
Falls der Symbio-Administrator in einer Datenbank komplett gelöscht wurde, so wird dieser
entweder durch ein Versions-Update automatisch wieder erstellt. Falls kein Versions-Update
zur Verfügung steht, lässt sich der Symbio-Administrator über einen SYMX-Import
wiederherstellen.

3.2.4 SAML-Einstellungen löschen
Falls die AD-Anbindung über SAML fehlerhaft in Symbio konfiguriert wurde, lassen sich diese
SAML-Einstellungen über folgende SQL-Abfrage in der Datenbank löschen:
-- Disable SAML in database if SAML does not work
use database_name; -- databaseName to be replaced
go

DELETE FROM Symbio.Attribute
WHERE Type in (
'ATX_SAML_IDP_ENTITY_ID',
'ATX_SAML_IDP_METADATA',
'ATX_SAML_IDP_SINGLESIGNONURL',
'ATX_SAML_GROUP_MGMT')
and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted

DELETE FROM Symbio.SearchData
WHERE AttributeType in (
'ATX_SAML_IDP_ENTITY_ID',
'ATX_SAML_IDP_METADATA',
'ATX_SAML_IDP_SINGLESIGNONURL',
'ATX_SAML_GROUP_MGMT')
and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted

Hinweis: Danach muss der Anwendungspool der Symbio-Instanz neu gestartet werden.
Symbio Betrieb                                                                                20

4 Operations

4.1 Symbio-Instanzeinstellungen
Was ist eine Symbio-Instanz? Eine Symbio-Instanz entspricht einer Symbio-Website im IIS mit
dediziertem Anwendungspool.

4.1.1 Rendering-Update-Intervall
Seit Symbio 5.6 werden Diagramme nun in der Datenbank gespeichert, sodass das Aufrufen
von Modellen speziell im Viewer-Modus deutlich schneller ist.
Falls sich nun Diagramme ändern, z. B. weil sich eine ausführende Rolle einer Schnittstelle
geändert hat, dann wird diese Änderung spätestens nach 30 Sekunden sichtbar.

Dieser Standardwert von Symbio.BackgroundRenderingUpdateInterval ist zurzeit in der
Web.config auf 30 Sekunden gesetzt:

Falls dieser Wert nicht gesetzt wird, werden 60 Sekunden als interner Wert gewählt.

4.1.2 Free & Easy-DB
Seit Symbio 5.8 können Statuswechsel im Freigabe-Workflow eingeschränkt werden. Neben
Anpassungen in der Konfiguration muss zusätzlich die Einstellung „Symbio.
RestrictReleaseWorkflowDatabaseNameRegex“ aktiviert werden. Der Wert beschreibt den
regulären Ausdruck, der für die Überprüfung der Datenbanknamen verwendet wird, um die
Anwendung in den Free&Easy-Modus zu versetzen.

4.2 Logging und Tracing

4.2.1 CustomError-Pages
Seit Symbio 5.8 wird nur eine einzige generische Fehlerseite angezeigt, um Benutzern
Informationen über vertrauliche (Server-)Daten vorzuenthalten. Zu Debugging-Zwecken
lassen sich ausführliche Fehlerseiten in der Web.config aktivieren:

Hinweis: Der Anwendungspool wird automatisch gestoppt und neu gestartet.

4.2.2 Logging

4.2.2.1 Symbio
•   Logging-Level
    In der Web.config lässt sich das Logging-Level konfigurieren. Standardmäßig werden nur
    Fehler aufgezeichnet. Durch Auskommentieren einer Zeile aktivieren Sie das
    entsprechende Logging-Level. Es reicht aus, nur eine Zeile auszukommentieren.
Symbio Betrieb                                                                                21

    Hilfreich für Debugging-Zwecke ist bereits das Info-Level. Hier werden auch sensible
    SAML-Authentifizierungs-Infos ausgegeben. Wenn Sie es noch ausführlicher haben
    möchten, nehmen Sie „Verbose“, wobei hier die Performance der Anwendung etwas
    stärker beeinträchtigt wird als bei „Info“.

    Hinweis: Der Anwendungspool wird automatisch gestoppt und neu gestartet.

•   Log-Verzeichnis
    Das Log-Verzeichnis befindet sich im Hauptverzeichnisses des
    Anwendungsverzeichnisses: log

•   Logging Informationen:
     Spalten                 Beschreibung bzw. Beispiel
     Date                    Nummerische Darstellung des
                             Datums (03-11-2017)
     Time                    Zeit auf dem Server (13-35-04)

     Message Log-Level       Error, Warning, Info oder Verbose
     Message                 Text der Logging Nachricht

4.2.2.2 IIS
Für zusätzliche Informationen können IIS-Logs zu Rate gezogen werden. Diese sind u. a. auch
nützlich, um eine Performance-Analyse für einen gewissen Zeitraum durchzuführen, z. B. mit
Hilfe von Microsoft LogParser.

Das Logging des IIS ist per WebSite konfigurierbar. Konfiguration und Standardeinstellungen
werden im Folgenden beschrieben.

Wie jeder Konfigurationseintrag werden auch Einstellungen zum Logging von
übergeordneten Elementen übernommen und IIS-Serverrichtlinien legen fest, inwieweit
untergeordnete Knoten Änderungen an den entsprechenden Einstellungen vornehmen
können.

Standardmäßig wird eine Logdatei per WebSite - nicht per Applikation - erstellt. Diese
Logdatei wird an einem definierten Ort gespeichert und im Normalfall täglich neu begonnen
(siehe Auszug der Logging-Einstellungen unten).
Symbio Betrieb                                                                                22

Durch Auswahl der Felder der Logdatei kann festgelegt werden, was genau protokolliert wird.
Die normalerweise ausgewählten Standardfelder für Logdateien im W3C-Format sind im
folgenden Screenshot dargestellt; eine Erklärung folgt.
Symbio Betrieb                                                                            23

Quelle der nachfolgenden Tabelle:
https://technet.microsoft.com/de-DE/library/hh831598.aspx#W3CLoggingFields
Element Name                   Description
Date (date)                    Logs the date on which the request occurred. Selected by
                               default.
Time (time)                    Logs the time, in Coordinated Universal Time (UTC), at
                               which the request occurred. Selected by default.
Client IP Address (c-ip)       Logs the IP address of the client that made the request.
                               Selected by default.
User Name (cs-username)        Logs the name of the authenticated user who accessed
                               the server. Anonymous users are indicated by a hyphen.
                               Selected by default.
Service Name (s-sitename)      Logs the Internet service name and instance number that
                               was running on the client at the time that the incident
                               was logged.
Server Name (s-                Logs the name of the server on which the log file entry
computername)                  was generated.
Server IP Address (s-ip)       Logs the IP address of the server on which the log file
                               entry was generated. Selected by default.
Server Port (s-port)           Logs the server port number that is configured for the
                               service. Selected by default.
Symbio Betrieb                                                                                   24

Method (cs-method)              Logs the HTTP method, such as GET, that is used in the
                                request. Selected by default.
URI Stem (cs-uri-stem)          Logs the Uniform Resource Identifier (URI) that is the
                                target of the action, such as Default.htm. Selected by
                                default.
URI Query (cs-uri-query)        Logs the query, if any, that the client was trying to
                                perform. A URI query is necessary only for dynamic
                                pages. Selected by default.
Protocol Status (sc-status)     Logs the HTTP status code. Selected by default.
Protocol Substatus (sc-         Logs the HTTP substatus code. Selected by default.
substatus)
Win32 Status (sc-win32-         Logs the Windows status code. Selected by default.
status)
Bytes Sent (sc-bytes)           Logs the number of bytes that the server sent.
Bytes Received (cs-bytes)       Logs the number of bytes that the server received.
Time Taken (time-taken)         Logs the length of time that the action took in
                                milliseconds. Selected by default.
Protocol Version (cs-version)   Logs the protocol version, HTTP or FTP, that the client
                                used.
Host (cs-host)                  Logs the host header name, if any.
                                  Hinweis
                                 The host name that you configure for your website
                                 might appear differently in the log files because
                                 HTTP.sys logs host names by using the Punycode-
                                 encoded format.
User Agent (cs(User-Agent))     Logs the browser from which the request came. Selected
                                by default.
Cookie (cs(Cookie))             Logs the content of the cookie sent or received, if any.
Referer (cs(Referer))           Logs the site that the user last visited. This site provided a
                                link to the current site.

4.3 Pflege und Performance-Einstellungen

4.3.1 Initiale SQL-Datenbankeinstellungen
   •   AutoGrowth: 128 MB/128 MB
       In den AutoGrowth-Einstellungen der Datenbank sollten höhere Werte eingetragen
       werden, um Performance-Engpässe auf SQL Server-Seite zu vermeiden. Dies wirkt sich
       besonders positiv bei Importen auf.
Symbio Betrieb                                                                                 25

       Dieser Wert lässt sich in der Web.config konfigurieren, um bei Erstellung von
       Datenbanken direkt geeignete Werte zu setzen.

       Hinweis:
       Diese Werte, die hier eingestellt werden können, müssen identisch oder größer als die
       Einstellungen in der ModelDB sein, sonst werden die Datenbanken nicht erstellt.

4.3.2 Regelmäßige Datenbank-Pflege

4.3.2.1 Tabellenindices defragmentieren
Es hat sich herausgestellt, dass das Defragmentieren der Tabellenindices regelmäßig
ausgeführt werden muss, um die Geschwindigkeit von Datenbankanfragen in Symbio server-
seitig zu verbessern und stabil zu halten.

Seit Symbio 1801 werden Tabellenindices nun regelmäßig defragmentiert, sodass dieser
nachfolgende Wartungstask nachts ausgeführt werden kann, aber nicht unbedingt
erforderlich ist, weil Symbio dies nun automatisch durchführt.

Erstellen Sie einen Wartungstask, der nachts nach einer automatischen Datenbanksicherung,
die Tabellenindices defragmentiert (Rebuild Indices).
Symbio Betrieb                                                                           26

Auch nach größeren oder mehreren Importen (> 50 MB) ist es empfehlenswert, die Indices
manuell nach vorheriger Datenbanksicherung zu defragmentieren. Hierzu sollten sich der
Datenbank-Administrator und der Symbio-Administrator gemeinsam absprechen.

Hierzu benutzen Sie unser mitgeliefertes Skript, das Sie online hier finden:
http://operations.symbioworld.com/

So erstellen Sie im SQL Server Management Studio einen Wartungstask:
   1. Wartungsplan erstellen

   2. Über die Toolbox Rebuild Index Task hinzufügen

   3. In den Einstellungen für den Task die Datenbank(en) auswählen
   4. Page Count (> 1000) deaktivieren
Symbio Betrieb                                                                          27

Hinweis:
   • Falls Sie das Optimierungs-Skript von Ola Hallengren benutzen, so defragmentiert
       dies nur die Tabelleindices, wenn der Page Count mind. 1000 Seiten enthält.

4.3.2.2 Volltextindex überprüfen (bis Symbio 5.11)
Mit folgender Abfrage kann der aktuelle Status des Volltextindexes überprüft werden:
     select distinct FullTextSearchIndex
Symbio Betrieb                                                                                   28

          from symbio.SearchData s
          left outer join (
     select distinct document_id from master.sys.dm_fts_index_keywords_by_document
     (
          DB_ID(DB_NAME()),
          OBJECT_ID('symbio.SearchData')
     )) f on (s.FullTextSearchIndex = f.document_id) where f.document_id is null and
     ltrim(rtrim(isnull(s.AttributeValue,'')))  ''

Falls hier ein Ergebnis zurückgeliefert wird, sollte der Volltextindex aktualisiert werden.

4.3.2.3 Volltextindex aktualisieren (bis Symbio 5.11)
In größeren Datenbank kann es von Vorteil sein, den Volltextindex regelmäßig zu
aktualisieren. Dies kann durch einen SQL Server-Wartungstask geschehen oder manuell.
Vorher muss der Anwendungspool gestoppt werden.
    1. Anwendungspool der Symbio-Instanz stoppen
    2. SQL Server Management Studio öffnen
    3. Folgende Abfrage durch den SQL-Administrator ausführen:
       alter fulltext catalog SymbioFullTextCatalog REBUILD
   4. Status lässt sich überprüfen mittels:
       SELECT
           DATEADD(ss, FULLTEXTCATALOGPROPERTY(cat.Name,'PopulateCompletionAge'),
       '1/1/1990') AS LastPopulated
           ,(SELECT CASE FULLTEXTCATALOGPROPERTY(cat.Name,'PopulateStatus')
               WHEN 0 THEN 'Idle'
               WHEN 1 THEN 'Full Population In Progress'
               WHEN 2 THEN 'Paused'
               WHEN 3 THEN 'Throttled'
               WHEN 4 THEN 'Recovering'
               WHEN 5 THEN 'Shutdown'
               WHEN 6 THEN 'Incremental Population In Progress'
               WHEN 7 THEN 'Building Index'
               WHEN 8 THEN 'Disk Full. Paused'
               WHEN 9 THEN 'Change Tracking' END) AS PopulateStatus
       FROM sys.fulltext_catalogs AS cat

4.3.2.4 Volltextindex aktuell halten (bis Symbio 5.11)
Falls der Volltextindex regelmäßig nicht aktuell ist, lässt sich dies durch eine Umstellung in
der Datenbank durch folgende Abfrage in der wichtigsten Tabelle verhindern:
ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING = OFF
ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING = AUTO

Wenn Sie alle Symbio-Datenbanken ändern möchten, benutzen Sie folgende Abfrage. Passen
Sie hier den Datenbanknamen entsprechend an:
     declare @db nvarchar(max)
     declare @cmd nvarchar(max)
     declare dbname_cursor cursor for Select name from master.sys.databases
               -- where name not in ('master','tempdb','model','msdb');
               where name like 'Symbio%'

     open dbname_cursor;
     fetch next from dbname_cursor into @db;
     While @@fetch_status = 0
          Begin
                set @cmd = N'
Symbio Betrieb                                                                             29

                      Use [' + @db + '];
                      ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING
                      = OFF
                      ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING
                      = AUTO'
                 exec sp_executesql @cmd
                 print @cmd
                 fetch next from dbname_cursor into @db;
            End;
       close dbname_cursor;
       deallocate dbname_cursor;
       Go

4.3.3 Mögliche Ursachen für Performanceprobleme (SQL Server)
   •    Memory: MaxLimit auf "normalen" Wert beschränken, keine 2 TB wie voreingestellt.

   •    Parallelism 0 (im Normalfall alle Kerne, auf keinen Fall nur 1)
Symbio Betrieb                                                                                    30

   •   Cost Threshold for Parallelism: 5 (ggfs. 30-40 eintragen, falls bspw. Importe scheitern)
   •   Fragmentierte MDF/LDF auf der Festplatte:
       Ggfs. hilft es auch, eine Datenbank komplett aus einer BAK-Datei in eine neue
       Datenbank zurückzuspielen, damit die MDF/LDF-Dateien nicht auf der Festplatte
       vereinzelt fragmentiert liegen.
   •   Microsoft empfiehlt für die TempDB pro Kern bzw. Sockel eine separate Datei:

       Bei der Installation von SQL Server 2017 werden bereits automatisch mehrere erstellt.
       Auch in der Cloud bei Microsoft Azure werden bspw. 12 TempDB-Dateien für
       Premium-Datenbanken eingesetzt:
       https://docs.microsoft.com/de-de/sql/relational-databases/databases/tempdb-
       database?view=sql-server-2017
Symbio Betrieb                                                                             31

4.4 Backup und Restore

4.4.1 Backup
   1. Anwendungspool der Symbio-Instanz stoppen
   2. SQL Server Management Studio öffnen
   3. Zu kopierende Datenbank auswählen und Backup erstellen.
      Wichtig ist, dass die Datenbank im Copy-only-Backup (Kopie-Sicherung) gesichert
      wird, damit die normale Sicherung auch alles seit dem letzten automatisiertem
      Backup sichert und nicht nur das Differentialbackup, das durch das manuelle Backup
      entstünde, wenn Copy-only-Backup deaktviert ist.

4.4.2 Restore
   1. Anwendungspool der Symbio-Instanz stoppen
   2. SQL Server Management Studio öffnen
   3. Wiederherzustellende Datenbank auswählen
   4. Ziel-Datenbank auswählen
   5. Auf der Optionen-Seite Häkchen setzen, um die Datenbank zu überschreiben

   6. Bei erfolgreicher Rücksicherung Anwendungspool der Symbio-Instanz starten
Symbio Betrieb                                                                                32

4.4.3 Restore mit Datenbank Pools
   1.    Einen neuen Datenbankpool erstellen
   2.    Storage in diesem Pool erstellen
   3.    Application Pool für die Symbio Insanz stopppen.
   4.    Origin Key des Storages in der Tenant Tabelle merken oder per Strg+Alt+D, bei
         markiertem Storage, in Symbio anzeigen lassen.
   5.    Datenbank per SQL Restore wiederherstellen und überschreiben.
   6.    Die symbio.renameTenant stored procedure ausführen.
   7.    2 Parameter übergeben, old und new tenant
   8.    Den notierten OriginKey als neuen Tenant übergeben und den existierenden als alten
         Tenant überschreiben.
   9.    Application Pool für Symbio Instanz wieder starten.
   10.   Konfiguration auf dem Storage austauschen und in Datenbank navigieren.

4.5 Update/Upgrade auf neue Version

4.5.1 Version überprüfen

4.5.1.1 Datei-Eigenschaften im Anwendungsverzeichnis
Im bin-Verzeichnis rufen Sie die Datei-Eigenschaften der Symbio.Base.Framework.dll auf.

4.5.1.2 Versions-Info in der Anwendung überprüfen
In Symbio lässt sich die Version in der Systemsteuerung vom Symbio-Admin am Ende der
Seite überprüfen.
Symbio Betrieb                                                                                   33

4.5.2 Maßnahmen vor Update/Upgrade
Bevor Sie mit einem Update/Upgrade starten, sollten Sie sich vergewissern, dass Symbio
reibungslos läuft:
    1. Die Symbio Server-Log-Dateien der letzten Woche sollten keine Fehler beinhalten.
       Falls Fehler aufgezeichnet worden sind, sollten diese analysiert und vor dem
       Update/Upgrade behoben werden. Hierzu senden Sie uns diese, indem Sie ein Ticket
       über http://support.symbioworld.com/hc/de öffnen.
    2. Zustand der Datenbank überprüfen über SQL-Abfrage
       select * from symbio.SearchData where OriginKey in (
       select sd.AttributeValue
       from symbio.SearchData sd
       join symbio.Entity e on sd.AttributeValue = e.OriginKey
       join symbio.ItemRelation ir1 on e.EntityKey = ir1.TargetKey
       join symbio.Item ri on ir1.SourceKey = ri.EntityKey
       join symbio.ItemRelation ir2 on ri.EntityKey = ir2.TargetKey
       where ri.Type = 'CTX_CONTAINS'
       and sd.AttributeType = 'application/x-attribute.release-cycle.latest-version-
       originkey-editor'
       and ir2.SourceKey  sd.EntityKey
       )
       and AttributeType = 'AT_NAME' and AttributeLCID = '1031'
       and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted
       order by Type, AttributeValue

       Sollte diese Abfrage kein leeres Resultset ausgeben, so liegen Fehler vor.

   3. Tabellenindices der Datenbanken defragmentieren,
      siehe Tabellenindices defragmentieren

4.5.3 Wartungsmodus
Es ist sinnvoll, bei Updates und speziell bei Upgrades und langlaufenden
Automatisierungstasks wie bspw. Neugenerierung von Handbüchern und Reparaturaufgaben
die Symbio-Instanz(en) im IIS umzukonfigurieren und während der Wartung auf eine andere
WebSite zu leiten.

4.5.3.1 Vorbereitungen
Für den Wartungsmodus wird eine eigene WebSite im IIS benötigt, die nur eine HTM(L)-
Datei enthalten muss.
    1. Konfigurieren Sie die Default Web Site um oder erstellen Sie eine neue Website und
       zeigen Sie auf das Verzeichnis, z. B. „D:\Symbio\_Maintenance“. Siehe Erstinstallation.
    2. Kopieren Sie die Datei „_app_offline.htm“ aus dem Wurzelverzeichnis von Symbio
       (seit 1803 verfügbar) in dieses neue Verzeichnis.
    3. Benennen Sie diese Datei nach „app_offline.htm“ um, indem Sie den vorangestellten
       Unterstrich einfach entfernen. Hintergrund ist, dass der IIS standardmäßig Dateien mit
       vorangestelltem Unterstrich ignoriert. Nach Umbennung lädt er die erstbeste HTM(L)-
       Seite. Hier können Sie auch eine benutzerdefinierte HTM(L)-Seite benutzen, die Ihrer
       Corporate Identity entspricht.
    4. Die Bindungen sollten den vorhandenen Symbio-Instanzen entsprechen, wobei Sie
       aber zwingend einen anderen Port benutzen, z. B. 4431, müssen.
Symbio Betrieb                                                                                 34

   5. Starten Sie den Application Pool von Default Web Site bzw. Ihre Wartungs-WebSite.

4.5.3.2 Vorgehensweise bei Update/Upgrade/Wartung
Temporär soll statt der Symbio-WebSite eine Wartungsseite während Updates, Upgrades,
oder Wartungen angezeigt werden.
   1. Ändern Sie die Bindungen der zu wartenden Instanz, indem Sie den Port 443 auf Port
      4430 ändern. Hier wird die WebSite neu (!) gestartet und ist für Symbio-Benutzer
      nicht mehr erreichbar.
   2. Ändern Sie die Bindungen der Default Web Site bzw. Ihrer Wartungs-WebSite für die
      zu wartende Instanz auf Port 443, sodass Benutzer bei Aufruf von Symbio informiert
      werden, dass die Instanz vorübergehend nicht erreichbar ist und gewartet wird.
   3. Starten Sie den Application Pool der zu wartenden Instanz neu.
   4. Führen Sie ein Upgrade/Update bzw. eine Wartung durch, indem Sie Symbio mit Port
      4430 aufrufen, z. B. https://test.symbioweb.com:4430/_sysadmin/_admin. Bitte
      beachten Sie, dass der Port 4430 in der Firewall temporär zugelassen werden muss.
   5. Nach Upgrade/Update/Wartung ändern Sie die Bindungen der Default Web Site
      bzw. Ihrer Wartungs-WebSite wieder auf Port 4431 zurück, sodass für eine sehr kurze
      Umstellungszeit eine Downtime vorliegt.
   6. Stellen Sie nun die Bindungen der gewarteten Symbio-Instanz auf Port 443 zurück.
      Der Application Pool startet automatisch neu.

4.5.4 Update
Bevor Sie das Update starten, sollten die Voraussetzungen für ein Update gegeben sein, siehe
obiges Kapitel und eine Sicherung aller Datenbanken erfolgt sein. Im folgenden Kapitel wird
das Einspielen von Patches beschrieben. Hierbei handelt es sich um Aktualisierungen
innerhalb der gleichen Hauptversionsnummer (z. B. 5.8.x -> 5.8.y).

   1. Stoppen Sie den Anwendungspool der Symbio-Instanz
   2. Führen Sie eine Sicherung der Datenbanken durch
      Hinweis:
      Vor jedem Update sollten Sie eine komplette Sicherung der Datenbank durchführen.
   3. Führen Sie eine Sicherung des Applikationsordners durch
   4. Austauschen der Installation
         a. Alle Ordner und Dateien löschen (Ausnahme: „log“ Ordner und „Web.config“)
         b. Kopieren Sie die Installationsdaten in das Applikationsverzeichnis (ohne „log“
             Ordner und „Web.config“)
Symbio Betrieb                                                                                   35

   5. Starten Sie den Anwendungspool der Symbio-Instanz
   6. Starten Sie die Applikation über den Webbrowser

4.5.5 Upgrade
Bevor Sie das Upgrade starten, sollten die Voraussetzungen für ein Upgrade gegeben sein,
siehe obiges Kapitel und eine Sicherung aller Datenbanken erfolgt sein.
Im folgenden Kapitel wird das Einspielen von Upgrades beschrieben. Hierbei handelt es sich
um eine Aktualisierung der Hauptversion von z. B. 5.8 -> 5.9.

Bitte führen Sie die folgenden Schritte für eine sogenannte In-Place-Aktualisierung aus:
    1. Stoppen Sie den Anwendungspool der Symbio-Instanz
    2. Sichern Sie alle Datenbanken der Symbio-Instanz und sichern Sie den
        Applikationsordner.
    3. Installieren Sie die neue Applikation, und passen Sie die neue Web.config an, wie z. B.
        typische Änderungen wie Datenbank-Server-Einstellungen in:

   4. Symbio database pools is a feature from version 1808. This mode will be activated by
      default.

Hinweis:
Wenn Sie keine Datenbankpools verwenden möchten, deaktivieren Sie diese bitte in der
Datei Web.config, wie im folgenden Screenshot zu sehen ist, und überspringen Sie die
Schritte 4.a und 4.b:

           a. Passen Sie die Web.config an, indem Sie den zuvor betriebenen
              Datenbankmodus angeben, aus dem konvertiert werden soll, wie im
              folgenden Beispiel gezeigt:

           b. Stellen Sie sicher, dass Sie auf der SysAdmin Ebene
              (https://sample.symbioweb.com/_sysadmin/_admin) einsteigen und nur von
Symbio Betrieb                                                                               36

                dort aus in die Storage Collection navigieren. Für jeden zuvor vorhandenen
                Storage in der anschließend konvertierten Storage Collection werden neue
                Datenbankpools angelegt.

                Hinweis: Bitte beachten Sie, dass die Konvertierung einige Zeit in
                Anspruch nehmen wird. Möglicherweise wird ein Anmeldebildschirm
                angezeigt, aber Sie können sich erst anmelden, wenn die Konvertierung
                abgeschlossen ist.

Hinweis:
Die Schritte 5 und 6 sind nur dann durchzuführen, wenn in der Web.config ein neues
Datenbank-Präfix konfiguriert wurde.

   5. Legen Sie eine Symbio-Datenbank in neuer Symbio-Version mit Zielkonfiguration an
   6. Stellen Sie das Datenbankbackup aus Punkt 2 in die bei Punkt 4 angelegte SQL-
      Datenbank wieder her (ggf. für weitere DB-Backups wiederholen)
   7. Das Aktualisieren kann (je nach Größe der Datenbank) etwas länger dauern.
      Folgende Empfehlungen sind zu überprüfen bzw. anzupassen.
          a. Überprüfen Sie die Dateigrößeneinstellungen der Datenbank im SQL Server
              Management Studio und passen sie ggfs. die Werte für das Vergrößern der
              Datenbank an:

             b. Defragmentieren Sie die Tabellenindices, siehe Tabellenindices
                defragmentieren
             c. Darüber hinaus bietet es sich ggf. an, in der Web.config den Wert für
                „executionTimeout“ hoch zu setzen. (Z. B. auf 1000 ≈ 17 Minuten)
   8.    Starten Sie den Anwendungspool der Symbio-Instanz
   9.    WECHSELN SIE NICHT SOFORT IN DIE DATENBANK
   10.   BENUTZEN SIE NICHT DEN INTERNET EXPLORER
   11.   Melden Sie sich in der Datenbank-Sammlung an, und wechseln Sie zur Facette
         „Datenbanken“
Symbio Betrieb                                                                                 37

   12. Wählen Sie die (ggf. in Schritt 5 neu angelegte) Datenbank aus, und klicken Sie im
       Detailbereich unter „Konfigurationsvorlage“ auf „Austauschen“.

   13. Im sich öffnenden Dialog wählen Sie die Zielkonfiguration aus und klicken Sie auf OK.
       Das Aktualisieren kann (je nach Größe der Datenbank) etwas länger dauern. (Siehe
       Schritt 7.)
   14. Nach erfolgreichem Austauschen der Konfiguration navigieren Sie auf die Startseite
       der Datenbank-Sammlung, und öffnen Sie die Datenbank.

4.5.6 Manuelle Umwandlung zu Datenbank Pools
Sollen in Symbio Datenbank Pools nachträglich verwenden werden, so kann dies durch die
Ausführung zweier Automatisierungstasks erreicht werden.
Zunächst muss die WebConfig wie hier beschrieben angepasst werden. Dazu muss ein
Automatisierungstask auf Admin Ebene erstellt und die Datei CreatePoolsInSysAdmin.xml
eingebunden werden.
Die benötigten Dateien werden mit Symbio ab Version 1808 ausgeliefert und befinden sich
im AppData Verzeichnis der Applikation. Auch erreichbar über den Upload Dialog im "Data"
Tab. Bei erfolgreichem Abschluss des Tasks kann in eine Collection navigiert werden.
Ein neuer Automatisierungstask muss erstellt werden mit der angehängten Datei
CreatePoolsInStorageCollection.xml. Nach erfolgreichem Abschluss der
Automatisierungstasks operiert Symbio im DatenbankPools Modus.

4.6 Relocate/Datenbank-Operationen

4.6.1 Datenbanken verschieben
MDF/LDF-Dateinamen ändern
Symbio Betrieb                                                                                   38

4.6.2 Datenbank-Downgrade: SQL Server 2012 nach SQL Server 2008 R2 (englisch)
In many situations for evaluation installations a higher SQL Server Version was used as in the
production environment. You receive the following error message, when you attempt to
restore the database:

This error message is generated because SQL Server automatically upgrades the database,
when you restore or attach the database from lower version to higher version. SQL Server
does not allow you to restore or attach a database from a higher version of SQL Server to a
lower version of SQL Server. In this tip, we will look at a one time procedure which we can
follow to downgrade the database from a higher version (SQL Server 2012) of SQL Server to a
lower version (SQL Server 2008 R2) of SQL Server.
Solution 1: Export Data
To copy the database from SQL Server 2014 to SQL Server 2012 you need access between
the two instances. Open the SQL Server Management Studio, connect to the SQL Server 2014
instance and right-click on the database, open Tasks menu and select Export Data.
Symbio Betrieb   39
Symbio Betrieb                                                                       40

The SQL Server Import and Export Wizard Welcome Page opens. Click Next to proceed.
Symbio Betrieb                                                                                  41

On the next page you have to configure the source of the data export. In our case this is the
SQL Server 2014 instance. Select SQL Server Native Client 11.0 on Data source dropdown,
enter the server name and choose the source database. Click Next to proceed.
Symbio Betrieb                                                                                   42

On the next page you have to configure the destination of the data export. In our case this is
the SQL Server 2012 instance. Select SQL Server Native Client 11.0 on Destination dropdown,
enter the server name and choose the source database. Click Next to proceed.
Symbio Betrieb                                                                        43

On the page Specify Table Copy or Query you can decide which data should be copied.
Select Copy data from one or more tables or views and click Next to proceed.
Symbio Betrieb                                                                               44

On the Select Source Tables and Views select all tables and views from the source database
and click Next to proceed.
Symbio Betrieb                                                                   45

On the next page select Run immediately and click Next to review the settings.
Symbio Betrieb                      46

Click Finish to start the export.
Symbio Betrieb                                                                                   47

After the export, you should see the page The execution was successful. Click on Close to exit
the wizard.

In a last step you have to execute the following statement on target database:
delete from symbio.Info where [Key] = 'Version'
This is required because Symbio updates the schema (missing stored procedures or other
objects) on the next access.

Solution 2: Generate Scripts
The error message in the problem statement occurs because the SQL Server database files
(*.mdf, *.ndf and *.ldf) and backups are not backward compatible. Backward compatibility is
why we cannot restore or attach a database created from a higher version of SQL Server to a
lower version SQL Server. However, there is a solution by performing the following steps
(e. g. from SQL Server 2014 to SQL Server 2012):

   1. Script database
      Script the schema of the evaluation database on the SQL Server 2014 instance using
      the Generate Scripts wizard of the SQL Server Management Studio interface.
Symbio Betrieb                                                                                48

      In Object Explorer connect to the SQL Server 2014 instance, right-click the database,
      expand Tasks and choose Generate Scripts...
Symbio Betrieb                                                                                  49

   2. This launches Generate and Publish Scripts wizard. Click Next, to skip the Introduction
      screen and proceed to the Choose Objects page.

   3. On the Choose Objects page, choose option Script entire database and all database
      objects, and then click Next to proceed to Set Scripting Options page.
Symbio Betrieb   50
Symbio Betrieb                                                                               51

   4. On the Set Scripting Options page, specify the location where you want to save the
      script file, and then choose the Advanced button.

   5. In Advanced Scripting Options dialog box, set Script Triggers, Indexes and Primary
      Key options to True, Script for Server Version to SQL Server 2012, and Types of data
      to script to Schema and Data. This last option is key because this is what generates
Symbio Betrieb                                                                               52

      the data per table.

   6. Once done, click OK, to close Advanced Scripting Options dialog box and return to
      Set Scripting Options page. In Set Scripting Options page, click Next to continue to
Symbio Betrieb        53

      Summary page.
Symbio Betrieb                                                                          54

   7. Once scripts are generated successfully, choose the Finish button to close the
      Generate and Publish Scripts wizard.

   8. Execute the script
      Connect to the SQL Server 2012 instance, and then run the SQL scripts that were
      generated in Step-1, to create the database schema and copy its data.
      In Object Explorer connect to SQL Server 2012, then in SQL Server Management
      Studio, open the SQL Server script you saved in Step 1.
Symbio Betrieb                                                                                   55

       Modify the script, to specify the correct location for the database data and log files.
       Once done, run the script to create the database on SQL Server 2012 instance.

       Upon successful execution, refresh the Database folder in Object Explorer. As you can
       see in the database has been successfully downgraded.

4.6.3 Datenbank- und Tabellen-Collation ändern
Sollte es unterschiedlichen Collations in Symbio-Datenbank und Sql-Server geben, so kann es
zu Problemen bei der Verwendung dieser Datenbank kommen. In diesem Fall muss die
Collation der Datenbank geändert werden. Bitte führen Sie dazu folgende Befehle
nacheinander und einzeln aus. Wichtig ist zu beachten den Application Pool der Instanz für
diesen Vorgang zu stoppen.

       1. Default Collation der Datenbank umstellen auf den neuen Standard

          ALTER DATABASE [MyDatabase]
          COLLATE SQL_Latin1_General_CP1_CI_AS;

       2. Den Inhalt der symbio.Info Tabelle löschen

          delete from symbio.Info
Sie können auch lesen