【问题标题】:How to check for databases on a SQL Server using NANT and executing a file on each如何使用 NANT 检查 SQL Server 上的数据库并在每个数据库上执行文件
【发布时间】:2014-03-31 03:12:33
【问题描述】:
我想在 nAnt 中创建一个任务,它遍历服务器中数据库的名称,并在找到它们时在每个数据库上运行一个 sql 脚本"
例如
Databases
Test_0001
Test_0002
Test_0003
我有一个 SQL 脚本,可以在任何这些数据库中将一列添加到名为 Customers 的表中。我遇到的问题是我似乎没有找到可以遍历服务器上的每个数据库然后执行任务的示例。
我找到了如何遍历 SQL 文件夹并执行它,但不确定读取服务器中的数据库实例。
【问题讨论】:
标签:
sql
sql-server
continuous-integration
nant
【解决方案1】:
使用您的服务器实例和数据库名称定义一个属性。
<property name="SQLInstance" value="MySQLServer">
<property name="databases" value="Test_0001,Test_0003,Test_0003" />
<foreach item="String" in="${databases}" delim="," property="Database">
<echo message="Running my scripts on the databases..." />
<exec program="sqlcmd" commandline="-b -s ${SQLInstance}" -o ${Database}.log -d ${Database}
</foreach>
这将是最好的方法。