Skip to main content

MSSQL

Allgemein

  • Installation per Ansible-Playbook
  • läuft als Docker auf srv3306.lej.eis.network
  • MSSQL 2022 ist lizenzpflichtig
  • 2019 kann als Developer-Version kostenlos genutzt werden
  •  Microsoft hat eine eigene Docker-Registry mcr.microsoft.com, die im nexus3-docker.lej.eis.network als Repo angelegt ist
    - der Prefix mcr.microsoft.com kann entfallen
    also docker pull mssql/server:2019-latest
  • MSSQL-Agent ist in der Rolle explizit eingeschaltet und ermöglicht Services wie z.B. regelmäßige Dumps durch den Benutzer zu aktivieren

DB-Schemen

  • BGM_Live
  • BGM_Test
  • BGM_UAT
  • OneA_Test
  • PPDB

Backup

Pfad zu den Dumps:

/srv/exx/z_backups/mssql

erfolgt per Dupliati. Vor dem Backup der Daten wird ein Dump per Script gestartet.

  • /srv/mssql/duplicati-mssql-BGM_Live-dump-before-backup.sh
  • /srv/mssql/duplicati-mssql-BGM_Test-dump-before-backup.sh
  • /srv/mssql/duplicati-mssql-BGM_UAT-dump-before-backup.sh
  • /srv/mssql/duplicati-mssql-OneA_Test-dump-before-backup.sh
  • /srv/mssql/duplicati-mssql-PPDB-dump-before-backup.sh

Dump

Beispiel

docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S "localhost" -U SA -P XXXXXXXX -d master -Q "BACKUP DATABASE [BGM_Live] TO DISK = N'/var/opt/mssql/backup/BGM_Live.bak' WITH NOFORMAT, NOINIT, NAME = N'BGM_Live-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Wiederherstellung

Dump-File ggf. per duplicati wiederherstellen

Dann

Beispiel

docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S "localhost" -U SA -P XXXXXXXX -d master -Q "RESTORE DATABASE [BGM_Live] FROM DISK = N'/var/opt/mssql/backup/BGM_Live.bak' WITH FILE = 1, MOVE N'BGM_Live' TO N'/var/opt/mssql/data/BGM_Live.mdf', MOVE N'BGM_Live_log' TO N'/var/opt/mssql/data/BGM_Live_log.ldf', NOUNLOAD, STATS = 5"