SQL Practice Blog – SQL Server, BizTalk und .NET Erfahrungen

Generieren von DML und DDL Skripten aus einer bestehenden Datenbank

leave a comment »

Häufig begegnet einem in einen Entwicklungsprozess von Software der Vorgang das man Datenbank mit Test- oder Initialdaten von einem SQL Server auf verschiedene andere SQL Server verteilen möchte.

Hierfür stellt Microsoft verschiedene Wege zur Verfügung, welche aber alle in der einen oder anderen Weise an eine Technologie gekoppelt sind. Hier wären als Beispiel die SQL Server Integration Services (SSIS) aufzuzählen. Diese erzeugen ein SSIS Packet, welches wiederum durch das installierte Feature SSIS Daten auf verschiedene andere Datenbanken verteilen kann.
Eine andere Möglichkeit besteht darin, T-SQL Skripte mit dem SQL Server Management Studio zu erzeugen. Diese Skripte beinhalten jedoch nur DDL Befehle, welche zum erzeugen von Datenbanken, Tabellen, Stored Procedures etc. benötigt werden. Jedoch werden keine DML Befehle inkludiert welche für das Erzeugen und Bearbeiten von Datensätzen zuständig sind.

Der einzige Weg, den Microsoft anbietet, führt über Visual Studio. Im Visual Studio öffnet man den Server-Explorer und verbindet sich mit der Datenbank in der sich die Tabelle befindet, von der ein T-SQL Skript erzeugt werden soll. Für die gewünschte Tabelle öffnet man das Kontextmenu und wählt den Eintrag Publish to provider aus.

image

Daraufhin startet ein Assistent der durch den Vorgang führt. Als ersten Schritt muss man hier nochmals die gewünscht Datenbank auswählen. Als nächsten Schritt entscheidet man sich für ein Ziel. Hier stehen die Möglichkeiten Script to file und Publish to shared provider zur Auswahl. Die erste Auswahlmöglichkeit dürfte klar sein, die zweit erlaubt das Ausführen des Skripts auf einem gehosteten SQL Server.

image

Im nächsten Schritt des Assistenten können nun verschiedene Generierungseinstellungen für das T-SQL Skript definiert werden:

  • Drop existing objects in script
    Wird diese Eigenschaft auf True gesetzt, so wird als erstes in dem T-SQL Skript ein DROP Befehl für alle bestehenden Objekte definiert.
  • Schema qualify
    Ist diese Eigenschaft auf True gesetzt, so werden die Objekt mit dem jeweiligen Schema erzeugt. Setzt man diese Eigenschaft jedoch auf False, werden nur die Objekte ohne Schemainformation erzeugt. Man sollte diese Eigenschaft auf True lassen.
  • Script for target database
    Hier kann man die Version der Zieldatenbank definieren. Zur Auswahl stehen SQL Server 2000, 2005 und 2008.
  • Types of data to publish
    Nicht immer möchte man die Daten und das Schema zusammenerstellen. Hier hat man die Auswahl für was das T-SQL Skript generiert werden soll. Für das Schema und die Daten (DDL + DML), nur das Schema (DDL) oder nur für die Daten (DML).

image
Als letzter Schritt zeigt der Assistent noch eine Zusammenfassung aller Einstellungen an. Danach wird das T-SQL Skript generiert.

Dies ist eine einfach Möglichkeit, mit der man schnell eine Datenbank von einem SQL Server auf einen anderen SQL Server übertragen kann wenn man keine direkte Verbindung zwischen den Servern aufbauen kann.

Written by Robert Meyer

November 2, 2010 um 10:34

Veröffentlicht in SQL Server

Tagged with , , , ,

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: