2016年3月1号,北京出差,documentbrowser系统改善上线。

其中有一个数据库表需要每天进行同步,原计划使用SQLServer的作业来执行又方便又快捷,但是客户的数据库是05的express版没有数据库作业。客户系统已经使用多年,如果升级数据库正式版会存在一定的风险,一担升级失败,客户的生产环境瘫痪,耽误了客户那就不好了。该怎么办呢?首先想到是用Windows服务,在系统启动时自动执行服务,在服务中每天定时执行数据库同步任务,但是需要编写程序并制作成.exe安装程序,有点麻烦,不适合现在的情况。

后来想了想,用windows自己的计划任务,每天定时执行.bat文件,在bat文件中执行数据库同步脚本,又方便又快捷还安全。下面就把步骤写一下,作为备忘。

一.windows计划任务执行数据库脚本手顺

1.  将updateExtend08Extend09.bat和mysql.sql拷贝到c盘后,如下图

2.  在Windows的控制面板找到“计划任务”,并双击进入设置

3.  点击“添加任务计划”创建一个新的计划任务

4.下一步

5.选择“浏览。。。”

6.选择c盘下的“updateExtend08Extend09.bat”点击“打开”

7.选择“每天”执行任务,下一步:

8.设置执行时间和起始日期,点击;下一步

9.输入本机的登录名和密码,点击下一步

10.点击完成设置完毕。

二.在数据库中执行“数据库脚本.txt”创建存储过程

 CREATE PROCEDURE [dbo].[SP_UpdateUserExtend08andExtend09]

 AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; --员工(包括专家)审批人为上级经理
update AddressTBL
set Extend08=b.mgr_code,
Extend09=b.mgr_name
from (
select uid, mgr_code,mgr_name from View_ApprovalLine
) as b
where AddressTBL.UserID=b.uid collate Chinese_PRC_CI_AI_WS
and AddressTBL.Extend03='ECC'
and AddressTBL.Extend02 in('特殊雇员','业务经理','主管','助理','专家','专员') --经理(包括高级专家)审批人为上级部门经理 update AddressTBL
set Extend08=b.dm_code,
Extend09=b.dm_name
from (
select uid, dm_code,dm_name from View_ApprovalLine
) as b
where AddressTBL.UserID=b.uid collate Chinese_PRC_CI_AI_WS
and AddressTBL.Extend03='ECC'
and AddressTBL.Extend02 in('经理') --部门经理及以上同步为法务窗口
update AddressTBL
set Extend08='ecclegal',
Extend09='法务窗口'
where AddressTBL.Extend03='ECC'
and AddressTBL.Extend02 in ('部门经理','董事长','副总经理','高级总监','总监','总经理','其他') END

脚本运行后会在dbrowser_address库中创建一个新的存储过程。

三.修改批处理文件,设置数据库链接地址和数据库用户,数据库密码

找到C:\updateExtend08Extend09.bat右键选择编辑

将红框中的数据库地址,用户名和密码替换成本机的即可。

sqlcmd -?查看命令参数

mysql.sql代码:

 use dbrowser_address
go
exec SP_UpdateUserExtend08andExtend09
go

这个例子把批处理文件和my.sql脚本放到了c盘,只是为了举例说明,可以按照实际情况将两个文件放到任意位置(路径中最好不要有中文),然后在设置计划任务时指定.bat即可。

windows计划任务执行SQLserver脚本的更多相关文章

  1. windows 计划任务执行python脚本

    1.  查找并打开Windows计划任务 2. 创建任务 3. 输入名称 4. 通过触发器设置运行时间或周期 5. 通过操作,设置运行的脚本 a. 操作选择'启动程序' b. 程序或脚本选择 pyth ...

  2. linux下设置计划任务执行python脚本

    linux下设置计划任务执行python脚本 简介 crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自 ...

  3. win7计划任务执行php脚本方法

    第一步:编写bat文件 方法1:php方法 方法2:exploere浏览器 电脑上新建一个txt文本,把代码放进去.然后把他另存为xxx.bat explorer "http://网址/e/ ...

  4. 用windows计划任务执行一些内容的写法,

    用windows计划任务执行一些内容的写法, 以下示例: 1.创建ws对象 2.关闭java进程 3.执行bat文件 start.vbe文件内容 set ws=wscript.createobject ...

  5. Windows计划任务执行时不显示窗口的问题

    最近开发了工具,带界面的,需要定时执行的,为了方便直接用Windows计划任务做定时了.跑了一段时间发现,进程中也有,就是看不到程序的界面,进程的执行貌似也阻塞了. 从网上查了下,发现时启动方式的问题 ...

  6. 怎样在windows上定时执行python脚本

    作为一个需要在电脑上工作和学习的人,一件十分困扰我的事情就是怎样不受互联网中其他内容的干扰而专注于自己想要做的事情,有的时候真的是沉浸于微博上的消息,忘了自己本来想要做的事.不过我有一件神器,自己爱豆 ...

  7. Windows下怎么执行shell脚本

    1.在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git. 2.查看Git环境变量是否配置,没有配置需要配置(我这里安装Git时自动配 ...

  8. windows开机自动执行bat脚本

    一.以windows下备份sql数据库为例,开机自动执行.bat脚本 1.新建dump.bat文件,文件中的代码如下: set YYYYmmdd=%date:~0,4%%date:~5,2%%date ...

  9. Windows下批处理执行MySQL脚本文件

    转载至http://my.oschina.net/u/660932/blog/117929 一. @echo offSetlocal enabledelayedexpansion::CODER BY ...

随机推荐

  1. kafka主要配置

    Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的. 官网配置地址: Configuration 每个kafk ...

  2. HDOJ 2071 Max Num

    Problem Description There are some students in a class, Can you help teacher find the highest studen ...

  3. CodeForces 595B

    题目链接: http://codeforces.com/problemset/problem/595/B 题意: 有一个n位的电话号码,每位电话号码将分成n/k段,每段均为k个数,求出满足以下要求的电 ...

  4. bzoj 1449 [JSOI2009]球队收益(费用拆分,最小费用流)

    1449: [JSOI2009]球队收益 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 547  Solved: 302[Submit][Status][ ...

  5. 你真正的了解Ajax?Ajax技术简述

    Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合.Ajax并没有创造出某种具体的新技术,它所使用的大多数技术都是在很多年以前就已经存在了,然而Ajax以一种崭新的方式来 ...

  6. SVN 基本操作

    SVN基础 一 简介 tortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理 ...

  7. 什么是mata标签

    <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. <meta> 标签位于文档的头部,不包含任何内容.&l ...

  8. 设计模式21---设计模式之享元模式(Flyweight)(结构型)

    1.讲解享元模式(结构型) 1.1享元模式定义 运用共享技术有效地支持大量细粒度对象. 享元:把内部状态共享出来 1.2享元模式要点 重点在于分离变与不变. 把一个对象的状态分为内部状态和外部状态,内 ...

  9. ASP.NETserver控件使用之Reportviewer 报表

    1.       Reportviewer 报表 1.1.       Reportviewer控件 注:本教程附2个事例: l  演练:在本地处理模式下将数据库数据源与 ReportViewer W ...

  10. Java数学表示式解析工具- jeval

    这个包能够为我们提高高效的数学表达式计算. 举个样例:这个是我们策划给出的游戏命中率的一部份计算公式 是否命中=a命中率 – (b等级 – a等级) * (命中系数(6)* b闪避率 / 100)+3 ...