SQL Server & ASP .NET Blog

Interessantes und Wissenswertes

SQL Server Database Copy Tool auf Japanisch

Hmm…interessanterweise ist diese Seite hier http://www.atmarkit.co.jp/fdotnet/dotnettips/859dbcopytool/dbcopytool.html die Seite, die die meisten Visits auf der Seite vom SQL Server Database Copy Tool generiert. Würde gern mal wissen, was da genau steht, kann aber leider kein Japanisch :-( und einen Übersetzer finde ich auch nicht.

Google kann das Ganze natürlich übersetzen :-) siehe hier http://translate.google.com/translate?prev=hp&hl=de&js=y&u=http%3A%2F%2Fwww.atmarkit.co.jp%2Ffdotnet%2Fdotnettips%2F859dbcopytool%2Fdbcopytool.html&sl=ja&tl=de&history_state0=

SQL Server Database Copy Tool – Beta

Habe soeben eine neue Version des SQL Server Database Copy Tool auf Codeplex veröffentlicht: http://dbcopytool.codeplex.com

Habe es jetzt schon öfter eingesetzt um Datenbanken erfolgreich (:-) ) von einem auf den anderen Server zu kopieren und umgehe damit die Methode per Copy Database Task aus dem SSMS. Wer trotzdem wissen möchte, wie das geht findet hier eine Beschreibung: [Copy Database Beschreibung]

Achja, das Tool hat nun auch ein “hübsches” Logo :-)

logo

SQL Server Database Copy Tool – Start per Kommandozeile

Heute habe ich dem SQL Server Database Copy Tool noch eine, meiner Meinung nach, wichtige Funktion hinzugefügt. Jetzt kann eine SQL Server Datenbank auch per Kommandozeile kopiert werden. Nützlich wenn man Datenbanken öfter kopieren möchte (bspw. eine “frische” Version auf den Testserver) oder mehrere Datenbanken per Batch kopiert.

So sieht das dann aus:

db_copy_tool_cmd

Gestartet wird das Tool über die Kommandozeile per: dbcopytool FROM_SERVER TO_SERVER FROM_DB TO_DB. (startet man das Tool ohne Parameter wird es wie "normal", also mit Form gestartet)

Hierbei ist wichtig, dass die angegebenen Server mit genau dem Namen in der Konfiguration enthalten sind, da das Tool die Verzeichnisse für Backup und Restore daraus erhält.

SQL Server Database Copy Tool – neue Version auf CodePlex

Ich habe soeben eine neue Version des Database Copy Tool for SQL Server auf [Codeplex] hochgeladen. Was hat sich geändert:

  1. Ich habe es mit dem SQL Server 2005 und dem SQL Server 2008 getestet
  2. Kopieren von Dateien wird nun nicht mehr mit der Methode Microsoft.VisualBasic.FileIO.FileSystem.CopyFile durchgeführt. Stattdessen verwende ich einen Aufruf der CopyFileEx aus der Kernel32.dll. Praktisch: Damit kann ich den Fortschritt des Kopierens in meiner eigenen Form anzeigen, statt den Standard-Windows-Kopierdialog zu verwenden
  3. Ein wenig im Code aufgeräumt (aber nur ein Wenig :-))
  4. Ein neuer Dialog um einen Server in der Konfiguration hinzuzufügen (statt der Standard-InputBox)

Hier nochmal ein paar Screenshots

02_settings

03_addserver

Wie ich schon zwei Mal geschrieben hab – Was fehlt noch?

  • Anzeige des Fortschritts des BACKUP und des RESTORE – muss also irgendwie an die Meldungen, die sonst im Management Studio zu sehen sind rankommen
  • Kommentare im Code…;-)

Weiteres dazu in meinen vorherigen Posts [hier]und [hier]

DB Copy Tool für SQL Server – auf Codeplex

Das im Letzten Post erwähnte DB Copy Tool ist nun auch auf Codeplex zu haben: Link zu Codeplex.

Inzwischen hat sich hier auch noch einiges getan:

db_copy_tool_1

Die zu verwaltenden Server können nun über den Servers-Tab verwaltet werden.

db_copy_tool_2

Hier können Server manuell hinzugefügt werden, oder automatisch aus dem Netzwerk erkannt werden (Danke an volleyknallerfür die Tipps). Für den ausgewählten Server kann hier auch das eingestellte Datenverzeichnis und das Backupverzeichnis ausgelesen oder manuell gespeichert werden. Der Button "Add servers from network" fügt alle automatisch erkannten SQL Server im Netzwerk hinzu (ohne User und Passwort). Das funktioniert (und dauert auch so lange) wie im SQL Server Management Studio :-)

Was fehlt jetzt noch:

  • einiges Exception-Handling
  • Support für Server mit mehreren SQL-Server Instanzen
  • Test mit dem SQL Server 2005
  • eine Menge Kommentare und Verschönerungen im Code :-)

DB Copy Tool – Datenbanken kopieren (von einem SQLServer zum anderen)

Wie [hier]beschrieben nervt es mich Datenbanken von einen auf den anderen Server zu kopieren. Daher habe ich hier ein kleines Tool gebastelt, was mir diese lästige Aufgabe abnimmt.

database_copy_tool

Die Funktionsweise ist recht simpel. Das Tool erstellt ein Backup der Quelldatenbank auf dem Quellserver, kopiert die Datei auf den Zielserver und stellt dort die Datenbank wieder her. Funktioniert soweit ganz gut und wird mir in Zukunft Stunden sparen ;-)

Voraussetzungen

  • der User muss vom lokalen Rechner Zugriff auf beide Verzeichnisse (Quelle und Ziel) haben um die Datei zu kopieren

Was fehlt noch?

  • Auslesen des Standard-Backup-Ordners des Quellservers
  • Auslesen des Standard-Daten-Ordners des Zielservers
  • Auslesen aller bekannten SQL Server
  • Speichern der Einstellungen (bspw. wenn man öfter die gleiche Datenbank kopiert)
  • Integrierte Authentifizierung am SQL Server (ist zwar dabei aber noch ungetestet)
  • Exception-Handling ;-)

Wenn diese Punkte alle erledigt sind, werde ich das Tool auch hier zum Download anbieten :-)