初始資料庫時,我們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>