注意すべきことの 1 つは、依存関係の順序でオブジェクトを作成する必要があることです。したがって、ファイルを単純に反復することはできません。
最終的に、すべてのオブジェクトを依存関係の順にリストするバッチ ファイルが作成されました。
実際には、createDBObject.bat と呼ばれる 2 つのバッチ ファイルがありました。
:: Parameters Required:
:: %1 UserID
:: %2 Password
:: %3 Server
:: %4 Database
:: %5 file with scripted object
::
echo. >> CreateDBObjectsLog.txt
echo %5 >> CreateDBObjectsLog.txt
osql -U%1 -P%2 -S%3 -i%5 -d%4 -n >> CreateDBObjectsLog.txt
echo * %5
次に、すべての db オブジェクトのリストを含むもう一方:
:: Parameters Required:
:: %1 UserID
:: %2 Password
:: %3 Server
:: %4 Database
::
echo object in %4 database on %3 server
echo Please Wait ...
if exist CreateDBObjectsLog.txt del CreateDBObjectsLog.txt
call createDBObject.bat %1, %2, %3, %4, ScriptedTable1
call createDBObject.bat %1, %2, %3, %4, ScriptedTable2
...
call createDBObject.bat %1, %2, %3, %4, ScriptedTableN
call createDBObject.bat %1, %2, %3, %4, ScriptedView1
call createDBObject.bat %1, %2, %3, %4, ScriptedSP1
etc
現在、これらすべてのタスクを自動化するSQL Compare Proを使用しています。
関連する質問を確認することもできます:データベース スキーマ全体をスクリプト化するための、RedGate に代わる「貧乏人の」代替手段はありますか?