Benutzer mit den meisten Antworten
.sql - Datei aus .sql-Datei starten?

Frage
Antworten
-
Hallo Michael,
Nein, anders herum. Man kann in einem SQL Script für SqlCmd weitere SQL Script zur Ausführung aufrufen; das war doch auch, wonach Du gefragt hattest, oder?
Das folgende Beispiel führt je ein einfaches SQL Statement aus und ruft dann über das :r Kommando eine andere SQL Script Datei auf und führt diese aus.
SELECT @@version;
:r D:\Test1.sql
SELECT GetDate();
:r D:\Test2.sql
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert mimuel Donnerstag, 9. Juni 2011 07:41
Alle Antworten
-
Hallo Michael,
auch wenn Du den SQL Server 2000 verwendest, SqlCmd kannst & darfst Du trotzdem verwenden und dort geht es, ander SQL Script Dateien aufzurufen.
Sonst ist mir keine andere Möglichkeit bekannt; ausser sich selbst etwas zu programmieren.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing -
Hallo Michael,
Nein, anders herum. Man kann in einem SQL Script für SqlCmd weitere SQL Script zur Ausführung aufrufen; das war doch auch, wonach Du gefragt hattest, oder?
Das folgende Beispiel führt je ein einfaches SQL Statement aus und ruft dann über das :r Kommando eine andere SQL Script Datei auf und führt diese aus.
SELECT @@version;
:r D:\Test1.sql
SELECT GetDate();
:r D:\Test2.sql
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert mimuel Donnerstag, 9. Juni 2011 07:41
-
Hallo Olaf,
jetzt ist die Verwirrung perfekt!
Ich befinde mich im SQL Server Management Studio. (SQL Server 2000)
Das Kommando :r ist nicht bekannt.
liegt das an SQL Server 2000, istdie Syntax falsch oder woran liegts?
Was ist der eigentliche Hintergrund?
Ich möchte nur SQL-Scripts in Abhängigkeit von Bedingungen starten.
Gruß Michael
-
Hallo mimuel,
was Du vermutlich suchst ist der Befehl xp_cmdshell. Mit diesem kannst Du dann aus einem Script heraus weiter Programme aufrufen. Z.B. auch sqlcmd mit dem dann entsprechenden Scripten.
http://msdn.microsoft.com/de-de/library/ms175046.aspx
Versuch es so einmal:
xp_cmdshell 'sqlcmd -U user -P password -S myServer\instanceName -i C:\myScript.sql'
Gruß Falk -
Hallo Michael,
wenn Du wirklich mit dem SSMS = SQL Server Management Studio arbeitest (bei 2000 ist der Query Analyzer Standard), dann kannst Du übers Menü "Abfrage" => "SQLCMD Modus" in den SqlCmd Modus umschalten; dann kennt SSMS auch das :r Kommando.
Ansonsten kannst Du das Script, das Du erstellt hast oder noch wirst auch von SqlCmd ausführen lassen; über den Startparameter -i kannst Du die Script Datei angeben, siehe http://msdn.microsoft.com/de-de/library/ms162773.aspx
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing -
Hallo mimuel,
bist Du Dir da sicher. Ich meine mich zu erinnern das dies auch unter SQL 2000 schon ging. Leider habe ich so ein Installation momentan nicht zur Verfügung um dies überprüfen zu konnen.
P.S.: Vermutlich hast Du dies verwechselt mit der ab SQL 2005 veränderten Sicherheitseinstellung. Ab dieser Version ist es so das dieser Befehl standardmäßig deaktiviert ist und erst expliziet aktiviert werden muss, um ihn nutzen zu können.
Gruß Falk- Bearbeitet Falk Krahl Dienstag, 31. Mai 2011 10:16
-
Hallo Falk,
Du hast recht. Das gibt's auch schon unter SQL Server 2000. Aus der MS-Knowledgebase:
"The xp_cmdshell extended stored procedure invokes a Windows command shell from within Microsoft SQL Server 2000"
How to enable non-sysadmin accounts to execute the "xp_cmdshell" extended stored procedure in SQL Server 2000
http://support.microsoft.com/kb/890775/en-usGruß
Marcel -
Schau mal, ob diese beiden Threads dir weiterhelfen:
http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/868c0548-5a55-4e21-8dbd-5a5846f82cd2/
http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/7908c4c7-68d0-4776-9953-78bd76e03dfc
-- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org