14

10+ を取得したケースがありSQL scriptます。

すべてのスクリプトを 1 つずつ実行したくありません。

ですべてのスクリプトを連続して実行できる方法はありますかSQL Management studio

この投稿を見つけました。バッチ ファイルを作成する方が簡単なようです。

必要なのはこれだけです:

@echo off
ECHO %USERNAME% started the batch process at %TIME%  >output.txt


for %%f in (*.sql) do (
 (
sqlcmd.exe  -S servername -E   -d databasename -i %%f >>output.txt
)


pause

サーバー名とデータベース名を置き換えていますが、機能していないようです。

何か案は?

4

7 に答える 7

9

そこには、一致しない括弧があります。試す

for %%f in (*.sql) do sqlcmd.exe -S servername -E -d databasename -i %%f >>output.txt

.cmd ファイルに保存したところ、動作しているようです。

于 2012-02-07T18:39:09.390 に答える
5

はい、可能です。の :r コマンドで実行できますSQLCMD

この記事を読んで、それを行うことを強くお勧めしますSQLCMD

http://www.mssqltips.com/sqlservertip/1543/using-sqlcmd-to-execute-multiple-sql-server-scripts/

于 2012-01-13T07:30:08.773 に答える
3

ストアド プロシージャを作成して、すべてのスクリプトを呼び出すことができます。スクリプトを自動的に実行するスケジュール計画を作成することもできます。

http://msdn.microsoft.com/en-us/library/aa174792(v=sql.80).aspx

于 2012-01-13T07:33:39.147 に答える
2

これは、ソース コードhttp://scriptzrunner.codeplex.com/を含むオープン ソース ユーティリティです。

このユーティリティは c# で記述されており、多くの sql ファイルをドラッグ アンド ドロップして、データベースに対して実行を開始できます。

于 2012-03-05T08:05:16.420 に答える
0

SMSS 用のバッチ コンパイラアドインを使用すると、一度に複数のスクリプトを実行したり、SQLCMD スクリプトを作成したり、それらを *.sql ファイルに統合したりできます。

于 2015-07-20T17:12:53.977 に答える
0

いくつかのバッチトリック

cd %~dp0 //use this if you use 'for xxx in', it solved most of my problems 

ECHO %USERNAME% started the batch process at %TIME%  >output.txt


for %%f in (*.sql) do (
(
sqlcmd.exe  -S servername -E -d databasename -i %%f >>output.txt
)
echo %errorlevel%
pause
于 2015-07-07T12:30:16.680 に答える