Im Laufe der Zeit sammeln sich als SQL-Administrator bei den verschiedensten Notfällen bzw. Situationen Skripte an, die danach nicht mehr so einfach gefunden und wieder verwendet werden können.
Aus diesem Grund ist in mir der Gedanke entstanden:
Wieso, wenn man so viele Skripte zur Lösung von Problemen erstellt, aber selten wieder verwendet werden kann, nicht eine separate SQL Server Datenbank erstellen, die eine Art Werkzeugkasten für
den SQL Administrator darstellt und die erstellten Skripte wiederverwertbar in dieser Datenbank zu verewigen?
Wenn man jedoch einige Server mehr verwaltet, stellt sich die Frage, wie kann ich diese Datenbank auf allen Systemen aktuell halten. Man muss die Datenbanken immer aktuell halten, so dass man
dafür eine Lösung finden muss:
- Die möglichen Antworten sind einfach:
-
Entweder kann über die "Registered Server" (es sollten dazu aber alle zu aktualisierenden Server als Verbindung angelegt sein) der Code immer aktuell
gehalten werden ... Rechtsklick auf die gesamte Servergruppe und "New Query" auswählen ... Die aktuell geänderte Prozedur in das Fenster kopieren und mit F5 ausführen und siehe da,
die Prozedur ist auf allen Servern verteilt.
-
Oder man verwendet ein Powershell-Skript, dass ausgewählte Skripte und/oder ausgewählte Server bedient und auf den entsprechenden Servern bestimmte
Skripte, also die jeweiligen CREATE bzw. ALTER-Skripte für Funktionen und Prozeduren ausführt.
-
Aber definitiv keine Lösung ist Backup-Restore dieser Datenbank, da sonst bei jeder kleinen Codeänderung ein neues Backup gemacht werden muss und im
Nachgang jeder Server durch einen neuen Restore Daten bekommt.
Kommentar schreiben