[SQL Server]一次执行资料夹内的.sql 指令码

时间:2022-01-14 04:15:51

原文:[SQL Server]一次执行资料夹内的.sql 指令码

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

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

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

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

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

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

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

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

@echo off
rem 资料库IP\资料库执行个体名称
set dbIp=stanley\SQL2014
rem 资料库名称
set dbName=TSQL2014
rem 登入帐号
set dbUsrAcc=ImDeveloper
rem 使用者密码
set dbUsrPwd=Passw0rd
rem 整理完毕的SQL指令集资料夹位置
set batchFilePath="C:\TestDB\db_script\folder" rem 程式开始执行
cd %batchFilePath% FOR /f %%i IN ('DIR *.Sql /B') do call :RunScript %%i
GOTO :END :RunScript
Echo Executing %1
sqlcmd -S %dbIp% -d %dbName% -U %dbUsrAcc% -P %dbUsrPwd% -i %1 >>view.log
Echo 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 off
rem 资料库IP\资料库执行个体名称
set dbIp=stanley\SQL2014
rem 资料库名称
set dbName=TSQL2014
rem 登入帐号
set dbUsrAcc=ImDeveloper
rem 使用者密码
set dbUsrPwd=Passw0rd
rem 清单.SQL档放置路径
set dbSqlFilePath="C:\test\db_script\list.sql" rem 程式开始执行
cd %batchFilePath%
sqlcmd -S %dbIp% -d %dbName% -U %dbUsrAcc% -P %dbUsrPwd% -i %dbSqlFilePath% >view.log
PAUSE @echo on

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

参考:

使用 sqlcmd 连接至 Database Engine

使用 sqlcmd 执行 Transact-SQL 指令码档案

Run all SQL files in a directory

SQL Server – Executing Multiple Script Files Using SQLCMD

[SQL Server]一次执行资料夹内的.sql 指令码的更多相关文章

  1. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  2. SQL Server作业没有执行的解决方法

    SQL Server作业没有执行的解决方法  确保SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行    设置方法:  我的电脑--控制面板--管理工具--服务--右键 SQLSE ...

  3. SQL SERVER深入学习学习资料参考

    SQL SERVER深入学习学习资料参考 1.微软Webcast<sql server 2000完结篇>. 尽管微软Webcast出了很多关于Sql Server的系列课程,但是最为深入讲 ...

  4. 谈一谈SQL Server中的执行计划缓存(上)

    简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径.当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse).绑定(Bind).查询 ...

  5. SQL Server Profiler监控执行语句

    SQL Server Profiler监控执行语句,这个功能主要用在实时的监控对数据库执行了什么操作,从而及时有效的跟踪系统的运行. 常规配置选项,名称.模板.保存到文件(可以复用). 事件选择,可以 ...

  6. SQL Server Management Studio 执行超大脚本文件

    SQL Server Management Studio 执行超大脚本文件 启动cmd.exe , cd 到C:\Program Files (x86)\Microsoft SQL Server\11 ...

  7. 浅析SQL Server中的执行计划缓存&lpar;上&rpar;

    简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径.当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse).绑定(Bind).查询 ...

  8. SQL Server Agent作业执行CmdExec&lpar;bat&rpar;命令报权限问题

    写了一个bat命令,定期去清理一些SQL Server的Dump文件,然后配置成SQL Server作业,作业执行时报权限错误,具体错误信息如下所示: Message Executed as user ...

  9. 第十六周翻译-SQL Server复制的阶梯:第1级 - SQL Server复制简介

    SQL Server复制的阶梯:第1级 -  SQL Server复制简介 作者:Sebastian Meine,2012年12月26日 翻译:赖慧芳 译文: 该系列 本文是Stairway系列的一部 ...

随机推荐

  1. &lbrack;C&sol;C&plus;&plus;标准库&rsqb;&lowbar;&lbrack;0基础&rsqb;&lowbar;&lbrack;交集和补集&rsqb;

    场景: 1. 计算std::vector A和 std::vector B里的同样的元素, 用于保留不删除. 2. 计算std::vector A和 std::vector B里各自的补集, 用于删除 ...

  2. Jquery-uploadify多文件上传插件使用介绍

    Jquery-uploadify多文件上传插件使用起来非常的给力,在此记录一下使用方法. query-uploadify插件的属性设置 <script src="JS/jquery.m ...

  3. Visual Studio跨平台开发实战&lpar;5&rpar; - Xamarin Android多页面应用程式开发

    原文 Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发 前言 大部份的Andr​​oid 都具有实体或虚拟的Back键. 因此在处理多页面应用程式时 ...

  4. jsp pageEncoding属性详解

    Java pageEncoding原理详解 首先看下文章解释: 意思是jsp文件本身的编码 巨大的疑问:这里有一个很大的问题,既然你都已经从jsp中读到了这条属性,证明内容读取正确,那你还需要知道这条 ...

  5. 【BZOJ4417】&colon; &lbrack;Shoi2013&rsqb;超级跳马

    题目链接: 传送. 题解: 矩阵快速幂优化DP. 先考虑$nm^2$DP,设$f_{(i,j)}$表示从$1,1$到$i,j$的方案,显然这个方程和奇偶性有关,我们考虑某列的$i$同奇偶性的转移和奇偶 ...

  6. MyBatis初探

    首先下载MyBatis jar包, 可以去MyBatis中文官网下载 项目中导入MyBatis jar包和JDBC jar包(此处用的MySQL) 新建conf.xml 内容如下: <?xml ...

  7. hdu 6393 Traffic Network in Numazu (树链剖分&plus;线段树 基环树)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=6393 思路:n个点,n条边,也就是基环树..因为只有一个环,我们可以把这个环断开,建一个新的点n+1与之相 ...

  8. HTML第七章总结

    Getting started with CSS 前言 CSS 的 rule 作者做了一个非常形象的比喻,将 CSS 必做 renovate the house,在这里,CSS 包括了三个部分: Se ...

  9. Groovy 学习手册(4)

    6. 领域特定语言 Groovy 有许多特性,使它非常适合写DSL(领域特定语言).这些特性包活: 具有委托机制的闭包: 点号(.)和语句末尾的分号(;)是可选的: 运算符的重载(例如,加号,减号等) ...

  10. python&amp&semi;pandas 与mysql 连接

    1. python 与mysql 连接及操作,直接上代码,简单直接高效: import MySQLdb try: conn = MySQLdb.connect(host='localhost',use ...