要注意的一件事是您需要按依赖顺序创建对象。所以你不能简单地迭代文件。
我们最终得到了一个批处理文件,该文件将按依赖顺序列出所有对象
实际上我们有 2 个批处理文件,其中一个叫做 createDBObject.bat:
:: 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 是否有“穷人的”替代方案来编写整个数据库模式的脚本?