Hier wird kurz beschrieben wie man mit SchemaSpy Erfolgreich eine MSSQL-Datenbank auslesen kann. Das geht zwar grundsätzlich, aber wenn man auf Probleme stößt, weil entweder das Zertifikat nicht akzeptiert wird oder irgendwelche Parameter nicht stimmen, kann sich das Tool sehr sperrig anstellen.
Hier also eine Anleitung, die VORSICHT! davon ausgeht, dass man hier nur eine einmalige und temporäre Export vornimmt. Hier werden die Sicherheitsmechanismen ausgehebelt.
Wenn du SchemaSpy regelmäßig für diesen Zweck einsetzt, solltest du das Zertifikat für die Verbindung auf deinen SQL-Server auch auf dem SchemaSpy System importieren und hinterlegen, damit es erkannt und akzeptiert wird.
Da ich mir hier wirklich fast einen abgebrochen hab um das ans laufen zu bekommen hier die funktionierende Config für Schemaspy mit MSSQL.
sudo mkdir /opt/schemaspy
sudo mkdir /opt/schemaspy/drivers
cd /opt/schemaspy/drivers
sudo wget https://go.microsoft.com/fwlink/?linkid=2338543
cd /opt/schemaspy
sudo nano schemaspy.properties
# ---- DB-Typ ----
schemaspy.t=mssql08
# ---- Treiber ----
schemaspy.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#Change FileName if necessary !
schemaspy.dp=/opt/schemaspy/drivers/mssql-jdbc-13.2.1.jre11.jar
# ---- Verbindung ----
schemaspy.host=192.168.??.??
schemaspy.port=1433
schemaspy.db=mydbname
schemaspy.u=<mymssqlUser>
schemaspy.p=<mymssqlPassword>
# ---- Scope ----
schemaspy.s=dbo
schemaspy.all=true
sudo nano sqlserver.properties
encrypt=false
trustServerCertificate=true
docker run --rm \
-u $(id -u):$(id -g) \
-v /opt/schemaspy:/opt/schemaspy \
-v /opt/schemaspy/output:/output \
-w /opt/schemaspy \
schemaspy/schemaspy:latest \
-dp /opt/schemaspy/drivers \
-configFile /opt/schemaspy/schemaspy.properties \
-connprops /opt/schemaspy/sqlserver.properties \
-o /output \
-debug