博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SQL Server]一次执行资料夹内的.sql 指令码
阅读量:6629 次
发布时间:2019-06-25

本文共 1262 字,大约阅读时间需要 4 分钟。

原文:

初始资料库时,我们Developers们会准备很多.sql指令码来建立资料表、检视甚至初始资料,那麽要怎麽一次执行资料夹内的*.sql或是指定的几个.sql指令码?

来节省一点点初始化资料库的作业时间。

 

好在我们有MSDN使用sqlcmd 执行指令码的范例:

sqlcmd -S myServer\instanceName -i C:\myScript.sql

如果只有几个,串成bat档或是powershell也很方便,但如果很多个,

一来要重复写很多次,二来也没办法Handle到指定资料夹内的.sql都要执行的需求

 

很快的从网路找到答案,然後我们改写了语法,并且把执行的log写到指定的Log档名中。

1.执行指定资料夹内的.sql

@echo offrem 资料库IP\资料库执行个体名称set dbIp=stanley\SQL2014rem 资料库名称set dbName=TSQL2014rem 登入帐号set dbUsrAcc=ImDeveloperrem 使用者密码set dbUsrPwd=Passw0rdrem 整理完毕的SQL指令集资料夹位置set batchFilePath="C:\TestDB\db_script\folder"rem 程式开始执行cd %batchFilePath%FOR /f %%i IN ('DIR *.Sql /B') do call :RunScript %%iGOTO :END:RunScriptEcho Executing %1sqlcmd -S %dbIp% -d %dbName% -U %dbUsrAcc% -P %dbUsrPwd% -i %1 >>view.logEcho Completed %1:END

2.透过清单.sql档案执行

list.sql 清单(sql01~06和bat档同目录)

:r .\sql01.sql :r .\sql02.sql :r .\sql03.sql :r .\sql04.sql :r .\sql05.sql :r C:\testDB\db_script\sql06.sql

批次档内容

@echo offrem 资料库IP\资料库执行个体名称set dbIp=stanley\SQL2014rem 资料库名称set dbName=TSQL2014rem 登入帐号set dbUsrAcc=ImDeveloperrem 使用者密码set dbUsrPwd=Passw0rdrem 清单.SQL档放置路径set dbSqlFilePath="C:\test\db_script\list.sql"rem 程式开始执行cd %batchFilePath%sqlcmd -S %dbIp% -d %dbName% -U %dbUsrAcc% -P %dbUsrPwd% -i %dbSqlFilePath% >view.logPAUSE@echo on

 

今天同事来问,一整个忘记当初怎麽串的,快笔记下来。

 

参考:

 

转载地址:http://zjwvo.baihongyu.com/

你可能感兴趣的文章
java-JDBC
查看>>
对.NET跨平台的随想
查看>>
Nginx Rewrite规则初探(转)
查看>>
黑魔法NSURLProtocol 可拦截网络加载
查看>>
Integration Services创建ETL包
查看>>
IE浏览器开发中遇到的问题
查看>>
php实现按utf8编码对字符串进行分割
查看>>
Ftp的断点下载实现
查看>>
[转载] ubuntu Authentication failure
查看>>
Ring0 - 链表
查看>>
修改数组之----splice
查看>>
a版本冲刺第五天
查看>>
Arduino示例教程超声波测距实验
查看>>
Linux中chkconfig使用介绍
查看>>
二进制方式快速安装MySQL数据库
查看>>
查询指定库中所有表
查看>>
Flash AS3 Loader的一些总结
查看>>
45个纯 CSS 实现的精美边框效果【附在线演示和源码】【下篇】
查看>>
js的逻辑 OR 运算符- ||
查看>>
[SQL Server]一次执行资料夹内的.sql 指令码
查看>>