MSSQL-Datenbank Anpassung
Die MSSQL-Datenbanken sind im Standard nicht optimal konfiguriert, so dass es bei vielen gleichzeitigen und lang andauernden Transaktionen, die z.B. automatisiert von Prozessen durchgeführt werden, auf der Datenbank zu Deadlocks kommen kann. Dies kann je nach Prozess häufiger auftreten. Deshalb ist die Anpassung der MSSQL-Datenbank bei älteren Portalen vorbeugend zu empfehlen.
Bei Prozessen mit sehr langer Ausführungszeit können bereits wenige Zugriffe auf die gleiche Datengruppe Fehler wegen Deadlocks auf der Datenbank verursachen. Mit der folgenden Anpassung können alle Deadlocks vermieden und der Prozess von mehreren Usern bzw. Aktionen gleichzeitig genutzt werden.
Bitte prüfen Sie grundsätzlich, ob Ihr Prozess zusätzlich optimiert werden kann.
Mit folgendem Schalter wird auf das Leseverhalten von Daten Einfluss genommen:
"Read operations under the read-committed isolation level are based on snapshot scans and do not acquire locks."
Prüfen Sie zunächst den aktuellen Status. Dazu kann der folgende SQL-Befehl abgesetzt werden:
select name, is_read_committed_snapshot_on, snapshot_isolation_state, snapshot_isolation_state_desc from sys.databases
Um die Einstellungen entsprechend zu aktivieren, setzen Sie den folgenden SQL-Befehl ab.
Befehl zur Anpassung:
ALTER DATABASE <DATENBANKNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DATENBANKNAME> SET READ_COMMITTED_SNAPSHOT ON
Bitte gehen Sie bei der Anpassung wie folgt vor:
-
Beenden Sie alle Intrexx-Portale die auf die Datenbank zugreifen.
-
Beenden Sie alle eventuellen Zugriffe von Fremdsystemen, die auf die Datenbank zugreifen.
-
Prüfen Sie im SQL Server (SQL Server Management Studio), ob es auf der Datenbank offene Verbindungen gibt. Diese müssen beendet werden.
-
Setzen Sie den Datenbankbefehl ab.
-
Prüfen Sie, ob der Datenbankbefehl übernommen wurde.
-
Starten Sie die Systeme.
Weitere Informationen
https://msdn.microsoft.com/de-de/library/tcbchxcb(v=vs.110).aspx