Blog Home  Home Feed your aggregator (RSS 2.0)  
artiso Blog - SQL Snapshot Tool
Neues rund um's Thema .Net
 
 Friday, May 16, 2008

Für manuelle Tests muss man einen definierten Ausgangszustand schaffen um diese sinnvoll durchführen zu können. Dieser Ausgangszustand bezieht sich meist auf eine Datenbank. Um diesen Vorgang nun zu vereinfachen haben wir ein kleines Tool erstellt. Damit können Snapshots von Datenbanken erstellt und wiederhergestellt werden.

image

Das Tool erstellt dazu einfach ein Backup der Datenbank und kann dieses Backup auch wiederherstellen. Das ist sicher nicht extrem elegant, aber sehr einfach und praktikabel. Damit das Tool funktioniert, muss man zunächst ein parr Einstellungen in der config vornehmen:

   1: <?xml version="1.0" encoding="utf-8" ?>
   2: <configuration>
   3:     <configSections>
   4:         <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089"
>
   5:             <section name="SQLSnapshotTool.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false" />
   6:         </sectionGroup>
   7:     </configSections>
   8:     <applicationSettings>
   9:         <SQLSnapshotTool.Properties.Settings>
  10:             <setting name="Password" serializeAs="String">
  11:                 <value />
  12:             </setting>
  13:             <setting name="IntegratedSecurity" serializeAs="String">
  14:                 <value>True</value>
  15:             </setting>
  16:             <setting name="Database" serializeAs="String">
  17:                 <value>Zeiterfassung</value>
  18:             </setting>
  19:             <setting name="User" serializeAs="String">
  20:                 <value />
  21:             </setting>
  22:             <setting name="LocalBackupPath" serializeAs="String">
  23:                 <value>C:\Temp\DBSnapshots</value>
  24:             </setting>
  25:             <setting name="Server" serializeAs="String">
  26:                 <value>MyServer</value>
  27:             </setting>
  28:             <setting name="UNCBackupPath" serializeAs="String">
  29:                 <value>\\MyServer\DBSnapshots</value>
  30:             </setting>
  31:         </SQLSnapshotTool.Properties.Settings>
  32:     </applicationSettings>
  33: </configuration>

 

Die wichtigsten Einstellungen hier kurz beschrieben:

Zeile 11 : Das Kennwort für den Datenbankzugriff (kann leer sein, wenn integrated Security verwendet wird)
Zeile 14 : Angabe ob integrated Security verwendt werden soll.
Zeile 17 : Name der Datenbank
Zeile 20 : Name des Users (kann leer sein, wenn integrated Security verwendet wird)
Zeile 23 : Der lokale Pfad auf dem DB-Server in den die Snapshots geschrieben werden sollen
Zeile 26 : Der Name des DB-Servers
Zeile 29 : Der UNC-Pfad über den auf das Sbnapshot-Verzeichnis auf dem DB-Server vom Client aus zugegriffen werden kann.

Die Bedienung ist denkbar einfach. Man gibt einfach den Namen des gewünschten Snapshots an und klickt auf "Create Snapshot". Damit wird eine Backup-Datei in das Snapshot-Verzeichnis auf dem Server geschrieben. In der Liste sieht man alle BAK-Dateien aus dem Verzeichnis und kann eine auswählen um diese dann wiederherzustellen. Das ganze ist so einfach, dass sogar Anwender damit klarkommen.

Eine Einschränkung gibt es, das Tool läuft nur mit dem SQL-Server.

Wenn jemand das Tool nützlich findet, würde ich mich über ein kurzes Feedback freuen.

Friday, May 16, 2008 3:12:05 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
Copyright © 2008 Thomas. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: