windows計划任務執行SQLserver腳本


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”創建存儲過程

 

 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即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM