O processador de linha de comando do Windows suporta a instrução for , para que você possa criar um arquivo .cmd
com algo parecido com isso:
for %%f in (*.sql) do osql -U<User> -P<Pass> -S<Server> -d<Database> -i%%f
Isso processará todos os arquivos .sq
l da pasta atual seqüencialmente (você também pode usar sqlcmd como sugerido em outra resposta).
Referência: Microsoft Windows XP - Para
Além disso, você pode especificar o banco de dados diretamente no script usando no começo:
use DatabaseName
go
O go
é importante porque algumas instruções como CREATE VIEW
ou CREATE PROCEDURE
precisam estar no início de um lote de comandos SQL.