windows計劃任務執行SQLserver腳本

2016年3月1號,北京出差,documentbrowser系統改善上線。mysql

其中有一個數據庫表須要天天進行同步,原計劃使用SQLServer的做業來執行又方便又快捷,可是客戶的數據庫是05的express版沒有數據庫做業。客戶系統已經使用多年,若是升級數據庫正式版會存在必定的風險,一擔升級失敗,客戶的生產環境癱瘓,耽誤了客戶那就很差了。該怎麼辦呢?首先想到是用Windows服務,在系統啓動時自動執行服務,在服務中天天定時執行數據庫同步任務,可是須要編寫程序並製做成.exe安裝程序,有點麻煩,不適合如今的狀況。sql

後來想了想,用windows本身的計劃任務,天天定時執行.bat文件,在bat文件中執行數據庫同步腳本,又方便又快捷還安全。下面就把步驟寫一下,做爲備忘。數據庫

一.windows計劃任務執行數據庫腳本手順express

 

1.  將updateExtend08Extend09.bat和mysql.sql拷貝到c盤後,以下圖windows

 

2.  在Windows的控制面板找到「計劃任務」,並雙擊進入設置安全

 

3.  點擊「添加任務計劃」建立一個新的計劃任務ui

 

4.下一步spa

 

5.選擇「瀏覽。。。」3d

 

6.選擇c盤下的「updateExtend08Extend09.bat」點擊「打開」code

 

7.選擇「天天」執行任務,下一步:

 

8.設置執行時間和起始日期,點擊;下一步

 

9.輸入本機的登陸名和密碼,點擊下一步

 

10.點擊完成設置完畢。

 

 

二.在數據庫中執行「數據庫腳本.txt」建立存儲過程

 

 1 CREATE PROCEDURE [dbo].[SP_UpdateUserExtend08andExtend09]
 2 
 3 AS
 4 BEGIN
 5     -- SET NOCOUNT ON added to prevent extra result sets from
 6     -- interfering with SELECT statements.
 7     SET NOCOUNT ON;
 8 
 9     --員工(包括專家)審批人爲上級經理    
10     update AddressTBL 
11     set Extend08=b.mgr_code,
12         Extend09=b.mgr_name
13     from (
14         select uid, mgr_code,mgr_name from View_ApprovalLine
15     ) as b 
16     where AddressTBL.UserID=b.uid collate Chinese_PRC_CI_AI_WS
17         and AddressTBL.Extend03='ECC'
18         and AddressTBL.Extend02 in('特殊僱員','業務經理','主管','助理','專家','專員')
19         
20         
21     --經理(包括高級專家)審批人爲上級部門經理
22     
23     update AddressTBL 
24     set Extend08=b.dm_code,
25         Extend09=b.dm_name
26     from (
27         select uid, dm_code,dm_name from View_ApprovalLine
28     ) as b 
29     where AddressTBL.UserID=b.uid collate Chinese_PRC_CI_AI_WS
30         and AddressTBL.Extend03='ECC'
31         and AddressTBL.Extend02 in('經理')
32     
33     --部門經理及以上同步爲法務窗口
34     update AddressTBL 
35     set Extend08='ecclegal',
36         Extend09='法務窗口'
37     where AddressTBL.Extend03='ECC'
38         and AddressTBL.Extend02 in ('部門經理','董事長','副總經理','高級總監','總監','總經理','其餘')
39     
40     
41 END

腳本運行後會在dbrowser_address庫中建立一個新的存儲過程。

 

三.修改批處理文件,設置數據庫連接地址和數據庫用戶,數據庫密碼

找到C:\updateExtend08Extend09.bat右鍵選擇編輯

 

將紅框中的數據庫地址,用戶名和密碼替換成本機的便可。

sqlcmd -?查看命令參數

mysql.sql代碼:

1 use dbrowser_address
2 go
3 exec SP_UpdateUserExtend08andExtend09
4 go

 

這個例子把批處理文件和my.sql腳本放到了c盤,只是爲了舉例說明,能夠按照實際狀況將兩個文件放到任意位置(路徑中最好不要有中文),而後在設置計劃任務時指定.bat便可。

相關文章
相關標籤/搜索