marcimarc85
Goto Top

Mehrere SQL-Scripte per Powershell ausführen

Hallo zusammen,

Ich möchte in einem Powershell mehrere SQL-Scripte für eine Datenbank ausführen.

Ich habe die Scripte mit

01_irgendwas.sql
02_irgendwas.sql
etc.

benannt, damit sie in entsprechendener Reihenfolge abgearbeitet werden. die Scripte liegen in einem eigenen Unterordner "sql_scripte"

Wie lass ich da jetzt am Besten eine for-Schleife drüber Laufen, die die Scripte in der richtigen Reihenfolge abarbeitet?

Ich kenne jetzt spontan nur den Befehl aus der cmd um ein Script anzuwenden?

 mysql -u dbadmin -p$password -D mydatabase< 01_irgendwas.sql

Kann ich den in Powershell genauso ausführen?

Beste Grüße

Content-Key: 13616521697

Url: https://administrator.de/contentid/13616521697

Printed on: April 28, 2024 at 16:04 o'clock

Mitglied: 8030021182
8030021182 Dec 11, 2023 updated at 14:09:06 (UTC)
Goto Top
$files = Get-ChildItem "d:\pfad\swl_scripte" -File -Filter *.SQL | sort Name  
foreach($file in $files){
    Invoke-SQLCmd -Inputfile $file.Fullname -username "dbadmin" -password "BlaBlub" -ServerInstance "MyComputer\MyInstance"  
}
foreach
Invoke-SqlCmd
Sort-Object

Für MYSQL statt SQLServer
https://www.virtualizationhowto.com/2019/07/how-to-query-a-mysql-databas ...

Gruß Katrin
Member: ukulele-7
ukulele-7 Dec 11, 2023 at 14:04:08 (UTC)
Goto Top
Was haben die denn jeweils für eine Laufzeit? Keine Ahnung wie Powershell auf lange Laufzeiten oder unerwartete Fehler reagiert.

Alternativ klingt das eher so als solltest du dir eine stored procedure bauen, oder auch mehrere, und das einfach einmalig aufrufen.
Member: MarciMarc85
MarciMarc85 Dec 12, 2023 at 05:41:28 (UTC)
Goto Top
Immer nur einige Sekunden