SQL Server-Datenbank kopieren

Wer f r einen Kunden Datenbanken auf Basis von SQL Server programmiert, tut gut daran, nicht am offenen Herzen zu operieren, sprich: nderungen an einer Datenbank erst an einer Kopie dieser Datenbank auszuprobieren. Wer seine eigenen Datenbanken auch auf dem SQL Server verwaltet, ger t da schon leichter in Versuchung, mal eben schnell eine nderung am laufenden Produktivsystem durchzuf hren. Auch wenn man meint, man w sste genau, was man tut, macht es doch Sinn, zumindest eine Sicherheitskopie der zu bearbeitenden Datenbank anzulegen. Nun bietet der SQL Server keine einfache L sung zum Herstellen einer Kopie á la Strg + C, Strg + V an. Allerdings wird man dennoch schnell f ndig, wenn man nach einer entsprechenden L sung sucht in diesem Fall allerdings nur in h heren SQL Server-Editionen, also nicht in der Express Edition. Logisch: Bevor man einem Kunden eine neue Version einer Datenbank bermittelt, wird diese erst einmal ordentlich getestet. Ohnehin werden nderungen ja meist weniger durch Kopieren der kompletten Datenbank bertragen, sondern durch Hinzuf gen der neuen Elemente und Entfernen oder ndern vorhandener Elemente durch Methoden wie einem SQL-Skript realisiert. Wenn man seine eigene Datenbank auf dem eigenen Rechner betreibt, kann es schon eher passieren, dass man mal eben schnell eine nderung durchf hrt. Ein neues Feld, eine neue Tabelle, eine neue Beziehung sind schnell angelegt. Was aber, wenn man eine nderung durchf hrt, die dazu f hrt, dass die Anwendung nicht mehr wie gewohnt funktioniert? Wenn man dann nicht regelm ig eine Sicherung angelegt hat, kann die Wiederherstellung der letzten funktionierenden Variante schon aufwendiger werden. Was man aber tun k nnte, ist das Anlegen einer Kopie der SQL Server-Datenbank, mit der man die geplanten nderungen erst einmal durchf hrt und diese dann nach erfolgreichem Test auf die Produktdatenbank bertr gt? Dazu fehlt nur noch eine einfache Methode, mal eben eine Kopie der Datenbank anzulegen. Diese Methode ist allerdings, wenn man das SQL Server Management Studio verwendet, gar nicht so weit weg. Wir brauchen dazu auch keine Sicherung anzulegen und diese unter einem neuen Namen wiederherzustellen, sondern wir k nnen einfach die eingebaute Funktion zum Kopieren einer Datenbank verwenden. Datenbank kopieren als Task Diese Methode finden wir, wenn wir das Kontextmen f r die zu kopierende Datenbank aufklappen und dort den Eintrag Tasks|Datenbank kopieren ausw hlen (siehe Bild 1). Bild 1: Kopieren einer SQL Server-Datenbank Ausw hlen des Quellservers Im n chsten Schritt aus Bild 2 w hlen wir den Quellserver aus, also den Datenbankserver, auf dem die zu kopierende Datenbank sich befindet. Hier legen wir au erdem die Authentifizierungsmethode fest und, falls die SQL Server-Authentifizierung verwendet werden soll, auch noch Benutzername und Kennwort (siehe Bild 3). Bild 2: Festlegen des Quellservers Bild 3: Erster Schritt im Assistenten zum Kopieren von Datenbanken Ausw hlen der bertragungsmethode Nun w hlen wir aus, wie die Datenbank kopiert werden soll. Es stehen zwei Methoden zur Auswahl. Bei der ersten muss die zu kopierende Datenbank zuvor getrennt werden und wird nach dem Kopieren wieder angef gt. Diese Option ist f r sehr gro e Datenbanken geeignet, aber es d rfen zum Zeitpunkt des Kopiervorgangs keine Benutzer auf die Datenbank zugreifen. Die andere Option (SMO) ist langsamer, aber die Datenbank kann weiter verwendet werden (siehe Bild 4). Bild 4: Ausw hlen der bertragungsmethode Datenbank ausw hlen Auch, wenn wir den Kontextmen befehl zum Kopieren der Datenbank f r die zu kopierende Datenbank aufgerufen haben, bekommen wir im n chsten Dialog nochmals Gelegenheit, die Datenbank auszuw hlen. Diese ist allerdings zumindest schon einmal vorselektiert, sodass wir nur noch auf Weiter klicken m ssen (siehe Bild 5). Bild 5: Ausw hlen der Quelldatenbank Zieldatenbank festlegen Das wir die Datenbank auch physisch kopieren, erkennen wir im folgenden Dialog aus Bild 6. Hier k nnen wir n mlich nicht nur den Namen der neuen Datenbank festlegen, sondern auch noch die Zieldateien. Au erdem k nnen wir hier angeben, ob eine eventuell bereits bestehende Datenbank berschrieben werden soll. Bild 6: Angabe des Namens f r die Zieldatenbank und der Zieldateien Sofort kopieren? Im bern chsten Schritt legen wir fest, ob wir den Kopiervorgang sofort ausf hren wollen oder nach einem bestimmten Zeitplan. Wir wollen hier direkt kopieren, also behalten wir die erste Option bei und klicken auf Weiter (siehe Bild 7). Bild 7: Festlegen, wann die Kopie erstellt werden soll Ergebnis des Kopiervorgangs Bevor der Kopiervorgang durchgef hrt wird, erhalten wir noch einmal eine Zusammenfassung der durchzuf hrenden Schritte. Schlie lich erhalten wir, wie in Bild 8 zu sehen, eine Zusammenfassung des Kopiervorgangs. Damit finden wir nach dem Aktualisieren des Objekt-Explorers im SQL Server Management Studio die Kopie der Datenbank vor. Bild 8: Ergebnisse des Kopiervorgangs Zusammenfassung und Ausblick Damit haben wir eine Kopie einer Datenbank im laufenden Betrieb erstellt, was eine h here Edition des SQL Servers erfordert mit der Express Edition gelingt dies durch den fehlenden SQL Server Agent nicht. Wir k nnen nun die gew nschten Tests an der Kopie durchf hren. Was aber, wenn wir die notwendigen nderungen durchgef hrt und getestet haben wie bekommen wir heraus, was wir nun genau ge ndert haben und wie wir diese nderungen in die Produktivdatenbank berf hren? Das erl utern wir im Beitrag SQL Server-Datenbank kopieren (www.access-im-unternehmen.de/1519). The post SQL Server-Datenbank kopieren appeared first on Access im Unternehmen.

zum Artikel gehen

JTL Datenbank mit Filestream umziehen

In diesem Beitrag erkläre ich die Vorgehensweise beim Umzug der JTL-Wawi Datenbank auf einen neuen SQL Server. Wer die Wawi schon lange nutzt, kennt das Problem wahrscheinlich. Der Server für die JTL-Wawi ist bereits in die Jahre gekommen, oder der SQL-Se

zum Artikel gehen

Lokalen Server vs. Cloud Server für JTL

In diesem Beitrag stellen wir die Vor- und Nachteil bei Nutzung eines lokalen Servers für JTL gegenüber eine Cloud Server gegenüber. Die JTL-Wawi ist eine Warenwirtschaft, die für ihren Betrieb einen Microsoft Datenbank Server (MS-SQL-Server) benötigt. Di

zum Artikel gehen

Kopieren mit Prozeduren

Dieser Blog beschreibt, wie man die Übertragung von Daten einer produktiven Datenbank auf eine Testdatenbank mit Hilfe von Prozeduren schnell und unkompliziert gestaltet. Der Beitrag Kopieren mit Prozeduren erschien zuerst auf Bissantz & Company.

zum Artikel gehen

SQL-Server Express mit über 10 GB Daten verwenden

Der SQL Server Express hat die Beschränkung, dass die Datenbank maximal 10 GB groß werden kann. Mit der Funktion Filestream hat man die Möglichkeit auch deutlich größere Datenmengen zu verwalten. Der ein oder andere Kunde hat das Problem, dass die Größe s

zum Artikel gehen

Veranstaltung: Visual Studio als Entwicklungstool für SQL Server basierte Datenbanken

Visual Studio bietet fr SQL Server basierte Entwicklung mehr als mach ein Entwickler auf den ersten Blick erkennt: neben Git/SVN fhigen Datenbank Projekten, knnen leicht nderungen zwischen Datenbank aufgesprt und geskriptet werden, es knnen Unit Tests fr

zum Artikel gehen