Symbio Operation Release 5 ff.

 
WEITER LESEN
Symbio Operation Release 5 ff.
Symbio Operation

Release 5 ff.

                   ©2020 Ploetz + Zeller GmbH
Symbio Operation Release 5 ff.
Symbio Operation                                                         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                        11
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            15
3.1.5     Beschränkung des Zugriffs per SAML (ab Symbio v1803)     18
3.1.6     Bekannte Einschränkungen                                 18
3.1.7     Potentielle SAML-Fehlermeldungen                         19
3.1.8     Tools zur SAML-Analyse                                   20
3.2       Notfall-Benutzer                                         20
3.2.1     Passwort von (Sys-)Admin zurücksetzen                    20
3.2.2     Deaktivierten Symbio-Admin-Benutzer reaktivieren         21
3.2.3     Symbio-Admin re-importieren                              21
3.2.4     SAML-Einstellungen löschen                               21

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

4.2.2.2 IIS                                                                         24

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

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

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

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

7         Impressum                                    70
Symbio Operation Release 5 ff.
Symbio Operation                     5

No table of figures entries found.
Symbio Operation Release 5 ff.
Symbio Operation                                                                            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 Operation Release 5 ff.
Symbio Operation                                                            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 Operation Release 5 ff.
Symbio Operation                                                                              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 Operation Release 5 ff.
Symbio Operation                                                                                                      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 Operation Release 5 ff.
Symbio Operation                                                                                                   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.
Zugriff auf Symbio Web nicht vorhanden
In diesem Fall muss die XML-Datei mit den Metadaten für Symbio wie folgt erstellt werden:

MIIFFTCCA/2gAwIBAgIMD4M0XYx9yvHdeWJkMA0GCSqGSIb3DQEBCwUAMFoxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTAwLgYDVQQDEydH
bG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gU0hBMjU2IC0gRzIwHhcNMTYwNjEw
MTIwOTA2WhcNMTgwNzEzMTQxMDEzWjCBjzELMAkGA1UEBhMCREUxDzANBgNVBAgT
BkJheWVybjERMA8GA1UEBxMIQXNjaGhlaW0xHTAbBgNVBAoTFFBsb2V0eiArIFpl
bGxlciBHbWJIMR0wGwYDVQQDExRQbG9ldHogKyBaZWxsZXIgR21iSDEeMBwGCSqG
SIb3DQEJARYPaW5mb0BwLXVuZC16LmRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAukQ+V/tNuElc0qWEaiMEedhTJmx7VsBs6/st74vnbhntK0XxW3oi
BMoPDGZkcXHKCiVAIBfNNQvxeSTcZpzUcwf5r1lor8lXoAQTrJNArxe69nLKkjva
2+3Ugfo0JgT+C9G197GuJFdqOYW58QMiO2i2TeenCVffotkNm1uPSLtISz3nYW3D
1W1hGpTn/90u89vRedT/mVNfB3kvS6HBRFbakA1UvFdEjlnGbN/AhjgEx97v5Lqu
ictZy+xUpQ2OuOF6f5ZYuCFa3t4vEfOMOSTNEqNQYrvbJp9Uh5mDlv1L2uRRIRhy
38XgN5824mSvVJMbzmLeA6MpQQ+YSC+hnwIDAQABo4IBozCCAZ8wDgYDVR0PAQH/
BAQDAgeAMIGQBggrBgEFBQcBAQSBgzCBgDBEBggrBgEFBQcwAoY4aHR0cDovL3Nl
Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Njb2Rlc2lnbnNoYTJnMi5jcnQw
OAYIKwYBBQUHMAGGLGh0dHA6Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9nc2NvZGVz
aWduc2hhMmcyMFYGA1UdIARPME0wQQYJKwYBBAGgMgEyMDQwMgYIKwYBBQUHAgEW
Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAgGBmeBDAEE
ATAJBgNVHRMEAjAAMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwuZ2xvYmFs
c2lnbi5jb20vZ3MvZ3Njb2Rlc2lnbnNoYTJnMi5jcmwwEwYDVR0lBAwwCgYIKwYB
BQUHAwMwHQYDVR0OBBYEFKE6dalLVKEktsj83r4Dw359M0d3MB8GA1UdIwQYMBaA
FBlKuFrkTTGlFOVe7C+jHPqAjDJrMA0GCSqGSIb3DQEBCwUAA4IBAQA7Tc3y8IcU
afCa8kH6ZRe3lqAuwFKX4AH16JKgobktIS8VOZMol0F6mLEyIjOcOOuZik3eeJm9
yhCNeBgWMujI5H0tXp7g4LfpY6PNUUs9naFL0HPeVtDb6ECRtj7PfhOIS9b3qsLF
Tf0Orx63Gl7zW4/H0NbaN4oyW0cydfuyfYVYk1l8SPuXFs+EJC2u9ilLNk8L7Z1y
NE7xEVQvYb1UPvUGP5InNf28/xL0WWIuNO7Ez22FF6ABKtsM7V5eAhLpJM6TWk3N
UpGshSmi/Ai4DHlJfHSxJl3xapTJ+w8VV5ZIWaqAQD5uapu1472FJy9HyvOPxzhP
tGTZtp7NWHrM
Symbio Operation                                                                               11

            Ploetz + Zeller GmbH
            Ploetz + Zeller
            GmbH
            http://www.p-und-z.de
      
            Ploetz + Zeller Administrator
            mailto:administrator@p-und-z.de
      
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.

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.

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.
Symbio Operation                                                                                    12

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

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
Symbio Operation                                                                               13

      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 Ploetz + Zeller-Seite ist es
      notwendig, ein weiteres HTTPS Binding für den Port 4430 einzurichten.
      Damit sollten im IIS folgende Bindings konfiguriert werden:
Symbio Operation                                                                             14

   3. Web.config - Basis-Konfiguration:
      Seit Symbio 5.5: Für den administrativen Zugriff von Ploetz + Zeller-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.

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.
Symbio Operation                                                                              15

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.

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

   3. Zertifikatserstellung (OpenSSL + Windows-eigene Zertifizierungsstelle
      Bitte passen Sie im folgenden die Dateinamen PuZ-Dev-Cert.* entsprechend Ihren
      Erfordernissen an.
      a) Erstellung eines Schlüssels und einer Zertifikatsanfrage
Symbio Operation                                                                                 16

         Der Schlüssel zum Zertifikat muss per RSA generiert werden und sollte mindestens
         2048 Bit lang sein. Dazu eignet sich bspw. OpenSSL (https://www.openssl.org/):

openssl req -newkey rsa:2048 -subj
"/C=DE/ST=NRW/L=Dortmund/O=Ploetz + Zeller GmbH/OU=Dev/CN=PuZ-Dev-
Cert/" -nodes -sha256 -keyout PuZ-Dev-Cert.key -out PuZ-Dev-
Cert.csr -reqexts v3_req

         Bitte ändern Sie das Subject "/C=DE/ST=NRW/L=Dortmund/O=Ploetz + Zeller
         GmbH/OU=Dev/CN=PuZ-Dev-Cert/" entsprechend den Daten Ihres
         Unternehmens:

         C= Country (2 Buchstaben-Länderkürzel)

         ST= State (Bundesland, kann auch ausgeschrieben werden)

         L= Location (Statdt, in der Ihr Unternehmen beheimatet ist)

         O= Organization (der Name Ihres Unternehmens)

         OU= Organizational Unit (der Bereich/die Abteilung, die Symbio technisch oder
         fachlich betreut, z.B. IT, PM oder QM)

         CN= Common Name (der Name des Zertifikats)

         Falls Sie für die erstellte *.KEY Datei ein Passwort vergeben, merken Sie sich dieses
         bitte gut, denn es wird später noch benötigt.

      b) Erstellung des Zertifikats
         Auf dem Windows-Server, der Ihre Zertifizierungsinstanz verwaltet, führen Sie
         bitte folgenden Befehl aus und folgen Sie der Anweisung des erscheinenden
         Dialogs:

certreq -submit -attrib "CertificateTemplate:User"

         Die im Dialog verlangte Zertifikatsanfragedatei ist die im vorherigen Schritt
         erstellte *.CSR Datei. Über das ausgewählte Template wird sichergestellt, dass das
         erstellte Zertifikat zum Signieren von Nachrichten verwendet werden darf.
         Falls Sie nach dem Format für das zu erstellende Zertifikat gefragt werden, wählen
         Sie bitte nicht Binary. Speichern Sie die Zertifikatsdatei als *.CER Datei ab.

      c) Erstellung der PFX-Datei
         Mithilfe von OpenSSL können Sie nun das gerade erstellte Zertifikat und den
         privaten Schlüssel aus dem ersten Schritt zu einer PFX-Datei zusammenfügen:

openssl pkcs12 -export -in PuZ-Dev-Cert.cer -inkey PuZ-Dev-Cert.key
-CSP "Microsoft Enhanced RSA and AES Cryptographic Provider" -out
PuZ-Dev-Cert.pfx
         Bitte vergeben Sie kein Passwort für die *.PFX Datei.
Symbio Operation                                                                             17

      d) Verwendung der erstellten Dateien
         Hinterlegen Sie nun das erstellte Zertifikat (*.CER Datei) in Ihrem SAML Identity
         Provider als Signierungszertifikat des Service Providers Symbio. Hier der
         entsprechende Eintrag im ADFS:

         Zum Schluss rufen Sie noch die SAML-Einstellungen Ihrer Symbio-Datenbank auf
         und laden die *.PFX Datei als "3. Optionales Zertifikat zur Anfragesignierung"
         hoch.

         Von jetzt an werden alle Anfragen an den IdP automatisch signiert.
Symbio Operation                                                                            18

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.

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.
Symbio Operation                                                                                  19

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
           o Öffnen Sie die neu erstellte Datei Zertifikatstest.cer und prüfen Sie den Inhalt:
                Das Zertifikat sollte so aussehen:
Symbio Operation                                                                               20

              Falls es ungültig ist, kann es so aussehen:

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'
Symbio Operation                                                                              21

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'
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',
Symbio Operation                                                                   22

'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 Operation                                                                              23

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 Operation                                                                              24

    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 Operation                                                                              25

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 Operation                                                                          26

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 Operation                                                                                 27

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 Operation                                                                               28

       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 Operation                                                                         29

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 Operation                                                                        30

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 Operation                                                                                 31

          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 Operation                                                                           32

                      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 Operation                                                                                  33

   •   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 Operation                                                                           34

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 Operation                                                                              35

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 Operation                                                                                 36

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 Operation                                                                               37

   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 Operation                                                                                 38

   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 Operation                                                                             39

                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 Operation                                                                               40

   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 Operation                                                                                 41

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.
Sie können auch lesen