愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • TaskRunner幫助主頁
  • 學習手冊

  • 開發手冊

    • 自定程式

    • 運行衛士

    • 自動化作業

      • 定時執行程式開啟關閉
      • 定時數據推送
      • 定時備份資料庫
        • 1. 說明
        • 2. 設計自動化作業
        • 3. 執行自動化作業
    • 工作流

    • 預設資料

目录

定時備份資料庫

# TaskRunner 定時備份資料庫

# 1. 說明

  1. 任務運行器 TaskRunner 通過自動化作業,定時執行資料庫的備份任務。
  2. 在使用此功能前,請先確認 資料庫設定 中的 master 連線設定是否可以測試連線,請在修改伺服器的地址,使用者名稱與登錄密碼,確認連線通順后使用。

# 2. 設計自動化作業

  TaskRunner 的初始示例已包含 定時備份資料庫。下面介紹如何建立及設定。

  1. 在自動化作業界面,點選 新建 按鈕,打開 新建作業的對話方塊視窗。在常規選項卡中,填寫作業名稱以及說明。
  1. 點選 步驟 選項卡,切換至步驟選項,設定要執行的自定程式。在 步驟 界面點選 新建 按鈕,打開新建步驟界面,界面中填寫 步驟名稱 以及 命令。點選 確定。
//資料庫備份主程式
//可運用參數:
//database 備份的資料庫名稱 
//dir 備份的目錄名稱
//compressed 是否啟用壓縮,設定為0 表示不啟用,設定其餘值表示啟用
//day 設定備份保留的天數
//使用壓縮設定的預設程式為7-zip ,可至https://7-zip.org 下載安裝包進行安裝,壓縮後文件後綴名為 zip
{
  var dir,database,compressed,day,D,DB,vSQL;
  database = iif(UgParams.Values["database"] == "","demo",UgParams.Values["database"]);
  if(UgParams.Values["dir"] == "")
    dir = "D:\\"
  else
    dir = UgParams.Values["dir"]; 
  compressed = iif(UgParams.Values["compressed"] == "0","0","1");
  day = iif(UgParams.Values["day"] == "","15",UgParams.Values["day"]);
  vSQL = "EXEC master.dbo.sp_configure 'show advanced options', 1;" + #13#10 +
  "RECONFIGURE WITH OVERRIDE;" + #13#10 +
  "EXEC master.dbo.sp_configure 'xp_cmdshell', 1;" + #13#10 +
  "RECONFIGURE WITH OVERRIDE;" + #13#10 +
  "declare @prefix         nvarchar(100)," + #13#10 +
  "        @datefile       nvarchar(100)," + #13#10 +
  "        @bakfile        nvarchar(100)," + #13#10 +
  "        @zipfile        nvarchar(100)," + #13#10 +
  "        @zipcmd         nvarchar(150)," + #13#10 +
  "        @str_date       nvarchar(100)," + #13#10 +
  "        @sql            nvarchar(100)" + #13#10 +
  "declare @A nvarchar(100),@B nvarchar(100),@C int,@D int" + #13#10 +
  "select" + #13#10 +
  "	@A= '" + dir + "',  --資料庫名稱" + #13#10 +
  "	@B= '" + database + "',      --備份目錄" +  #13#10 +
  "	@C= " + compressed + ",          --是否壓縮" +    #13#10 +
  "	@D= " + day + "          --備份保留天數" + #13#10 +
  "--設定備份的目錄" + #13#10 +     
  "set @prefix=@A" + #13#10 +
  "set @str_date = replace(replace(replace(convert(varchar(20),getdate(), 120),' ',''),'-',''),':','')" + #13#10 +
  "set @datefile = @B +@str_date" + #13#10 +
  "set @bakfile = @prefix+@datefile+'.bak'" + #13#10 +
  "set @zipfile = @prefix+@datefile+'.zip'" + #13#10 +
  "--備份" + #13#10 +
  "BACKUP Database @B TO DISK = @bakfile WITH NOFORMAT, NOINIT,  NAME = N'Full_Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10" + #13#10 +
  "if @C = 1" + #13#10 +
  "begin" + #13#10 +
  "--壓縮zip,需使用7-zip,也可使用其它壓縮軟體壓縮為zip格式" + #13#10 +
  "set @zipcmd ='\"C:\\Program Files\\7-zip\\7z.exe\" ' +'a ' +@zipfile+' '+@bakfile" + #13#10 +
  "exec master..xp_cmdshell @zipcmd,NO_OUTPUT;" + #13#10 +

  "--刪除D天之前的備份" + #13#10 +
  "set  @sql='del  '+@A+@B+rtrim(replace(replace(replace(convert(varchar(20),getdate()-@D, 120),' ',''),'-',''),':',''))+'.zip'" + #13#10 +
  "exec master..xp_cmdshell @sql,NO_OUTPUT;" + #13#10 +
  "end" + #13#10 +
  "else" + #13#10 +
  "begin" + #13#10 +
  "--刪除D天之前的備份" + #13#10 +
  "set  @sql='del  '+@A+@B+rtrim(replace(replace(replace(convert(varchar(20),getdate()-@D, 120),' ',''),'-',''),':',''))+'.zip'" + #13#10 +
  "exec master..xp_cmdshell @sql,NO_OUTPUT;" + #13#10 +
  "end" + #13#10 +
  "select 'ok' as msg";
  D = new TFDQuery(nil);
  //使用資料庫設定的連線
  DB = UGMM.GetDBConnection("master");
  D.Connection = DB;
  //使用預設SQL
  D.SQL.Text = vSQL;
  D.Open;
  D.Free;
  DB.Free;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  1. 點選 計劃 選項卡。在界面中設定計劃任務的執行時間。
  1. 這個示例不設定通知選項,點選 [確定] 即可儲存。

# 3. 執行自動化作業

  設定完成後,啟動 TaskRunner ,任務列表中狀態顯示為 √,表示為自動化作業已啟用。TaskRunner 會在每天固定的時刻啟動並執行資料庫備份的操作。

定時數據推送
更新銷售生產明細表

← 定時數據推送 更新銷售生產明細表→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式