初始资料库时,我们Developers们会准备很多.sql指令码来建立资料表、检视甚至初始资料,那麽要怎麽一次执行资料夹内的*.sql或是指定的几个.sql指令码?
来节省一点点初始化资料库的作业时间。
好在我们有MSDN使用sqlcmd 执行指令码的范例:
sqlcmd -S myServer\instanceName -i C:\myScript.sql
如果只有几个,串成bat档或是powershell也很方便,但如果很多个,
一来要重复写很多次,二来也没办法Handle到指定资料夹内的.sql都要执行的需求
很快的从网路找到答案,然後我们改写了语法,并且把执行的log写到指定的Log档名中。
1.执行指定资料夹内的.sql
2.透过清单.sql档案执行
list.sql 清单(sql01~06和bat档同目录)
批次档内容
今天同事来问,一整个忘记当初怎麽串的,快笔记下来。
参考:
<a href="https://msdn.microsoft.com/zh-tw/library/ms188247(v=sql.120).aspx">使用 sqlcmd 连接至 Database Engine</a>
<a href="https://msdn.microsoft.com/zh-tw/library/ms170572(v=sql.120).aspx">使用 sqlcmd 执行 Transact-SQL 指令码档案</a>
<a href="http://stackoverflow.com/questions/2583517/run-all-sql-files-in-a-directory">Run all SQL files in a directory</a>
<a href="http://sqlandme.com/2013/03/25/sql-server-executing-multiple-script-files-using-sqlcmd/">SQL Server – Executing Multiple Script Files Using SQLCMD</a>