Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Wie kann ich ein SQL-Script mit den jetzigen Inhalten der DAtenbank erstellen? Verwendet wird ein SQL-Server 7. Das Script soll später als SQL-Statement ausgeführt werden (ADO.NET + C#). Geht das überhaupt?
ja. Am einfachsten geht das in <i>Microsoft Visual Studio .NET</i>: <br>
1. Neues Datenbankprojekt für diese Datenbank anlegen <br>
2. Server Explorer: Datenbank auswählen | rechter Mausklick | <b>Generator Create Script </b><br>
3. Server Explorer: Datenbank auswählen | rechter Mausklick | <b>Export Data...</b> <br>
4. Solution Explorer: Datenbankprojekt auswählen | rechter Mausklick | <b>Create Command File</b> <br>
Ergebnis: Man hat eine Script-Datei sowie eine Handvoll von Datendateien, um die Datenbank auf einem anderen Rechner aufbauen zu können. Die automatisch generierte so genannte Command-Scriptdatei sieht dabei zum Beispiel folgendermaßen aus:
<pre>
@echo off
REM: Command File Created by Microsoft Visual Database Tools
REM: Date Generated: 09.10.2002
REM: Authentication type: Windows NT
REM: Usage: CommandFilename [Server] [Database]
if '%1' == '' goto usage
if '%2' == '' goto usage
if '%1' == '/?' goto usage
if '%1' == '-?' goto usage
if '%1' == '?' goto usage
if '%1' == '/help' goto usage
REM: How to use screen
:usage
echo.
echo Usage: MyScript Server Database
echo Server: the name of the target SQL Server
echo Database: the name of the target database
echo.
echo Example: MyScript.cmd MainServer MainDatabase
echo.
echo.
goto done
REM: error handler
:errors
echo.
echo WARNING! Error(s) were detected!
echo --------------------------------
echo Please evaluate the situation and, if needed,
echo restart this command file. You may need to
echo supply command parameters when executing
echo this command file.
echo.
pause
goto done
REM: finished execution
:finish
echo.
echo Script execution is complete!
:done
@echo on
</pre>
Wenn Visual Studio .NET nicht zur Verfügung steht, muss man die einzelnen Schritte von Hand über den <i>Enterprise Manager</i> des SQL Servers bzw. über bcp abarbeiten.
Alternativ dazu kann das eigene Programm über den Zugriff auf die COM-Objekte von <i>SQLDMO</i> (Distributed Management Object) auch den SQL Server auf dem Automation-Weg fernbedienen, um dort alle benötigten Sachen neu anzulegen.
Ich benutze zwar die IDE, aber der Server ist woanders installiert. Deshalb stehen mir die Clienttools nicht zur Verfügung. Was muss ich machen, um eine solche Datei mit dem Enterprise-Manager zu erstellen?
<br>--------------<br>
Eine normale SQL-Datei wäre noch besser. Ich lese die Datei nämlich über ein Setup-Tool ein und verarbeite sie mittels Commandobjekt
was bedeutet "Ich benutze zwar die IDE,..?". Wenn VS.NET zur Verfügung steht, kann man dort im <i>Server Explorer</i> doch eine Verbindung zu jedem im Netzwerk verfügbaren SQL Server herstellen.
Im Enterprise Manager des MS SQL Server 7/2000 sind folgende Schritte notwendig: <br>
1. Datenbank auswählen <br>
2. Rechter Mausklick | Alle Tasks | <B>SQL-Script generieren...</b>
3. Button <b>Alle Anzeigen</b> anklicken <br>
4. Checkbox <b>Scripterstellung für alle Objekte</b> ankreuzen <br>
5. Registerseite <b>Optionen</b>: Je nach Wunsch Optionen wählen<br>
6. Dateinamen angeben und speichern
Um die Daten der Tabellen selbst zu exportieren, sind die ersten Schritte die selben: <br>
1. Datenbank auswählen <br>
2. Tabelle auswählen <br>
3. Rechter Mausklick | Alle Tasks | <B>Daten exportieren...</b><br>
4. usw
Comment