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. 【模拟】BAPC2014 G Growling Gears (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

  2. 加密解密,CryptoStream()的使用

    一:上图 二:代码 主界面代码 using System; using System.Collections.Generic; using System.ComponentModel; using S ...

  3. 动态规划——B 最大高度问题

    B - LIS Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  4. SRM 402(1-250pt, 1-500pt)

    DIV1 250pt 题意:对于任意一个由1-n组成的数列,其原始顺序为1,2,3..n.给出1~n的一个排列a[n],要通过swp操作将其变回原始顺序.当i < j且a[i] > a[j ...

  5. uva:10340 - All in All(字符串匹配)

    题目:10340 - All in All 题目大意:给出字符串s和t,问s是否是t的子串.s若去掉某些字符能和t一样,那么t是s的子串. 解题思路:匹配字符.t的每一个字符和s中的字符匹配.注意这里 ...

  6. iTunes 11.2更新下载:改善播客阅读

    昨日,苹果公布了iTunes 11.2更新,新版别改善了播客阅读的方法,让用户能够在新的"未播映的"标签中疾速找到没有赏识的单集,其他功用包括主动删去现已播映的单集,并可在&quo ...

  7. IOS 获取通讯录中信息

    获取通讯录中信息 一. 我们设置一个ABAddressBookRef类型的属性addressBook. 二. 要获得通讯录中的信息,我们需要获取访问通讯录的权限. 在运行下面的获取权限的方法的时候,系 ...

  8. 网络环境场景以及模拟工具netem

    网络环境场景包括: 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况. 掉包(Drop),随机丢弃一些数据. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的 ...

  9. 洛谷 P1273 有线电视网(dp)

    /* 想了半天没想出状态 自己还是太弱了 QAQ 题目问的是最多供给多少户 一般想法是把这个值定义为状态量 没想出来QAQ....看了看题解的状态 很机智.... f[i][j]表示i的子树 选了j个 ...

  10. datagrid加下拉列表dropdownlist

    datagrid中代码: <asp:datagrid id="dgList" runat="server" ItemStyle-HorizontalAli ...