115122
Goto Top

MSSQL Management Studio Generiere Skript automatisieren

Hallo,

gibt es eine Möglichkeit, das Generieren eines Skripts aus dem Management Studio heraus zu automatisieren? HIntergrund ist, dass es bei einem Projekt eine zentrale Datenbank und lokale "Ableger" dieser Datenbank gibt (fragt mich nicht warum, anscheinend Geschwindigkeitsprobleme bei demjenigen und dessen Netz...).

Jetzt wurde überlegt, ob man sich aus der lokalen Datenbankanwendung per generiertem Skript die aktuellen Daten bei Bedarf ziehen und auf dem lokalen SQL Server importieren kann, in etwa so:
- Benutzer klickt in seiner lokalen Datenbankanwendung auf den Button XY ODER Benutzer klickt script.sql an ... wie es gestartet wird ist eigentlich erstmal egal
- Beim Klick auf den Button XY wird zum Hauptserver eine Verbindung hergestellt
- ein Skript zum Erstellen der Haupt-DB (Schema + Daten) wird generiert
- Anschließend wird die lokale Version der DB gelöscht und das Skript von Hauptserver auf dem lokalen SQL Server des Nutzers ausgeführt und importiert Schema und Daten der Haupt-DB

Ist das praktikabel oder schwachsinnig? Gibt es für so etwas bessere Lösungswege? Im Prinzip soll einfach der Stand der Haupt-DB auf Wunsch jederzeit auf die Lokale DB abgebildet werden.

Mit BAK Files können wir leider nicht arbeiten, da der zentrale Server ein 2016er ist und die lokalen Server 2014er Express (beide MSSQL Server). Da meckert er dann rum weil kein "Downgrade" möglich ist. Auf die Serverversionen haben wir auch keinen Einfluss, dh man muss sich mit dem begnügen, was man vorgesetzt bekommt.

Hoffe jemand kann mir hier ein paar hilfreiche Tipps geben.

Grüße

Content-Key: 332087

Url: https://administrator.de/contentid/332087

Ausgedruckt am: 29.03.2024 um 13:03 Uhr

Mitglied: em-pie
em-pie 14.03.2017 aktualisiert um 13:37:03 Uhr
Goto Top
Moin,

sollte eigentlich kein Problem sein...

WIe du selbst angemerkt hast, ist es in der Tat Mist, solch ein konstrukt zu haben, aber auch du hast dir das ja nicht ausgesucht ...

Also folgendes:
Du kannst (zumindets unter SQL 2008 und 2012) eine Verbindung zu anderen DBs einrichten und diese dann ganz normal in einem SQL-Statement ansprechen.

Schaue dir mal im Management-Studio den Punkt Serverobjekte-> Verbindungsserveran.
Dort kannst du dann eine Connection zu deinem lokalen bzw. zentralen SQL-Server einrichten.

Und wenn die konfiguriert ist, kannst du in einem SQL-Script ganz normal mit den Insert Into Statements arbeiten und die Daten rüberschaufeln.

Alternativ ginge noch der Bereich Serverobjekte-> Replikation

Schreiben die Jungs (und vermutlich auch Mädels) Daten zurück in die lokale DB?
Wenn ja, wird es amüsant auch diese Daten synchron zu bekommen, denn wer garantiert denn, dass jemand aus einer anderen Niederlassung nicht bereits erzeugte PK/ FK verwendet hat?

Du musst aber prüfen, welche SQL-Versionen (Express, Standard, Enterprise, Devolper) erforderlich sind, damit das klappt.

Gruß
em-pie
Mitglied: sabines
sabines 14.03.2017 um 14:15:49 Uhr
Goto Top
Moin,

wenn der Grund für dieses Konstrukt Geschwindigkeitsprobleme sind, da kommt er mit einem Verbindungsserver wahrscheinlich auch nicht weiter. Ich hab' die Erfahrung gemacht, dass die empfindlich sind, wenn das Netz bspw. mal kurze Aussetzer hat.

Vielleicht wäre es am besten, erst Mal den Grund für das Konstrukt zu erforschen und dann weiterzusehen?

Gruss