# Saturday, May 26, 2007
« THG nervt | Main | Moritz Deger »

Meine bisherigen Gedanken zu diesem Tool: Visual Studio 2005 Team Edition for Database Professionals und VSTS Database Professional (2)

Jetzt gehe ich mal davon aus, dass wir mit dem Schema in dem SQL Projekt zufrieden sind. Jetzt soll das Ganze aber wieder in eine Datenbank kommen. Dazu definiert man bei den Build Eigenschaften des Projektes, welche Verbindung und welche Datenbank das Ziel sein soll. Die Datenbank muss dabei noch nicht existieren.

Die für mich wichtigste Option bei den Einstellung ist dabei Always re-create database. Falls diese Option aktiviert ist, wird bei jedem Deployment tatsächlich die vorhandene Datenbank entfernt und komplett neu aufgebaut. Man kann sich dann also sicher sein, dass in der neuen Datenbank nichts enthalten ist, was nicht über das SQL Projekt definiert wurde. Bei deaktiviert Option, werden nur die Änderungen durchgeführt.

Das eigentlich Deployment geht dann denkbar einfach. Rechte Maustaste auf dem Projekt und deploy gewählt.

Das funktioniert natürlich nur während der Entwicklung so einfach. Das ist der SQL Server typischerweise auf dem gleichen Rechner, in jedem Fall ist er aber direkt erreichbar. Der produktive SQL Server ist aus Sicherheitsgründen meist nicht über den SQL Port ansprechbar. Also geht man den Umweg über ein T-SQL Skript. Bei einem Build des SQL Projektes mit der Always re-create database Option wird die komplette Datenbank in einem T-SQL Skript erzeugt. Diese Skript bringt man auf den Ziel SQL Server und führt es dort aus.

Falls man auch Daten in den Skripten erzeugt, muss man mit den Sonderzeichen aufpassen. Zum Import bietet sich nämlich der sqlcmd Kommandozeilen-Befehl an. Mit "sqlcmd -i inputfile" könnte man die Datenbank ganz schnell erzeugen. Nur sqlcmd spricht den SQL Server über ODBC an. Dabei passieren aber alle möglichen lustigen Dinge mit Sonderzeichen. Deswegen habe ich davon die Finger gelassen. Besser geht es mit dem SQL Server Management Studio  im SQLCMD Mode:

Einfach über "File - Open" das Skript auswählen und im SQLCMD Mode ausführen. Dabei sind mir bisher noch keine Sonderzeichen verloren gegangen.

Saturday, May 26, 2007 1:38:39 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
Comments are closed.