Benutzer mit den meisten Antworten
Datenbanken zusammenfügen

Frage
Antworten
-
Hi,
ist das nur eine einmalige Sache oder brauchst Du das öfters?
Wenn öfters, wäre ggfs. Red Gate SQL Compare was für dich.
Wenn es nur einmalig oder zumindest nicht allzu oft sein soll, kannst Du auch das SQL Server Management Studio nehmen.
Datenbank
-> Tasks
-> Skripts generieren
-> ...Das führst Du dann für jede Datenbank aus, aus der Du Objekte übernehmen willst. Die generierten Skripte kannst Du dann in der neuen Datenbank ausführen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Donnerstag, 5. April 2012 10:50
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 17. April 2012 12:19
-
D.h. aus 12 lokalen Kundendatenbanken soll ein 1 Kundendatenbank in der Wolke werden? Warum denn? Wenn die Gründe die für zwölf Datenbanken sprechen noch exisiteren, solltest du sie so in der Wolke anlegen.
Ansonsten wirst du um manuelles Bearbeiten der Erstellungsskripten nicht rumkommen und entsprechend wird auch der Aufwand beim Kopieren der Daten sein. Ich würde über einen Mandantenansatz nachdenken, bzw. den Missbrauch von Schemata. D.h. aus Schema DB1.Schema1 wird DB1_Schema1 in der neuen Datenbank. Das lässt sich auch leicht mit Suchen und Ersetzen in Skripten machen.
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 17. April 2012 12:19
-
Hallo Stefan,
die Aufteilung der Datenbanken machte bei dieser Softwarelösung und Größe schon Sinn. Es wurden Globale Datenbank für Daten angelegt die übergreifend sind und je Modul eigene Datenbanken. So mussten wir dem Kunden auch nur die SQL-Strukturen geben die er braucht und bezahlt hat, ohne unser ganzes Schema zu verbreiten.
Ich habe mir jetzt eigene Scripts zur Erstellung der Datenstruktur erstellt.
Ich danke für die Antworten
Gruß
Frank
- Als Antwort markiert Robert BreitenhoferModerator Montag, 16. Juli 2012 12:12
Alle Antworten
-
Hi,
ist das nur eine einmalige Sache oder brauchst Du das öfters?
Wenn öfters, wäre ggfs. Red Gate SQL Compare was für dich.
Wenn es nur einmalig oder zumindest nicht allzu oft sein soll, kannst Du auch das SQL Server Management Studio nehmen.
Datenbank
-> Tasks
-> Skripts generieren
-> ...Das führst Du dann für jede Datenbank aus, aus der Du Objekte übernehmen willst. Die generierten Skripte kannst Du dann in der neuen Datenbank ausführen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Donnerstag, 5. April 2012 10:50
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 17. April 2012 12:19
-
Hi,
ich müsste nicht nur das Schema sondern auch die Daten der Tabellen übernehmen. Ich habe pro Server 12 Datenbanken die in 1 neue kopiert werden soll. Diesen Vorgang muß ich bei mehr als 10 Kunden wiederholen, um später dann diese neue Datenbanken für SQL Azur vorzubereiten.
Den Vorgang mit den Scripten nutze ich für meine Updates, damit kann ich aber nur mit großem Aufwand die Daten verschieben. Gibt es keine sys Tabelle wo die Beziehung der Objekte zur Datenbank verändert werden kann ?
-
Hi,
ich müsste nicht nur das Schema sondern auch die Daten der Tabellen übernehmen. Ich habe pro Server 12 Datenbanken die in 1 neue kopiert werden soll.
Ganz ehrlich? Dein Datenbank"design" dürfte doch erheblich überarbeitungsbedürftig sein.
Diesen Vorgang muß ich bei mehr als 10 Kunden wiederholen, um später dann diese neue Datenbanken für SQL Azur vorzubereiten.
Dann bietet sich IMHO Red Gate SQL Compare, in deinem Fall zusammen mit SQL Data Compare an. Damit kannst Du das größtenteils automatisieren. Falls Du mit .NET Entwicklung vertraut bist, bietet Red Gate auch eine Library an, mit der man das komplett selbst problemlos an seine Bedürfnisse anpassen kann.
Gibt es keine sys Tabelle wo die Beziehung der Objekte zur Datenbank verändert werden kann ?
Nö? Das wär auch ziemlich schlecht, wenn es sowas geben würde. Da hängt noch viel mehr dran als nur das einzelne Objekt.
Nur zur Klarstellung: Es gibt solche Tabellen schon. Die kannst Du aber aus gutem Grund nicht einfach so ändern. Denn wenn Du es könntest, kannst Du dir ziemlich sicher sein, dass hinterher überhaupt nichts mehr funktioniert.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Stefan
Stefan Falz [MVP] wrote:
Nur zur Klarstellung: Es gibt solche Tabellen schon. Die kannst Du aber
aus gutem Grund nicht einfach so ändern. Denn wenn Du es könntest, kannst
Du dir ziemlich sicher sein, dass hinterher überhaupt nichts mehr
funktioniert.Wenn ich mich richtig erinnere, war das in SQL2000 sogar noch möglich (aktivierbar über ein einfaches Häkchen) und wurde dann in späteren Versionen unterbunden. Gut so.
Gruss
Henry -
D.h. aus 12 lokalen Kundendatenbanken soll ein 1 Kundendatenbank in der Wolke werden? Warum denn? Wenn die Gründe die für zwölf Datenbanken sprechen noch exisiteren, solltest du sie so in der Wolke anlegen.
Ansonsten wirst du um manuelles Bearbeiten der Erstellungsskripten nicht rumkommen und entsprechend wird auch der Aufwand beim Kopieren der Daten sein. Ich würde über einen Mandantenansatz nachdenken, bzw. den Missbrauch von Schemata. D.h. aus Schema DB1.Schema1 wird DB1_Schema1 in der neuen Datenbank. Das lässt sich auch leicht mit Suchen und Ersetzen in Skripten machen.
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 17. April 2012 12:19
-
Hallo Frankseins,
Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo Stefan,
die Aufteilung der Datenbanken machte bei dieser Softwarelösung und Größe schon Sinn. Es wurden Globale Datenbank für Daten angelegt die übergreifend sind und je Modul eigene Datenbanken. So mussten wir dem Kunden auch nur die SQL-Strukturen geben die er braucht und bezahlt hat, ohne unser ganzes Schema zu verbreiten.
Ich habe mir jetzt eigene Scripts zur Erstellung der Datenstruktur erstellt.
Ich danke für die Antworten
Gruß
Frank
- Als Antwort markiert Robert BreitenhoferModerator Montag, 16. Juli 2012 12:12