Azure SQL作業

由於要定期去刪除比較久的資料,礙於Azure SQL DB目前無法直接創建作業,目前找到一種方式就是通過local的SQL SERVER來執行AZURE SQL指令。

步驟如下:

SQL Server Management Studio 2014 ,登錄local之後,打開SQL Server Agent

新增作業,輸入名稱:

新增步驟,輸入名稱為「Create list」:

 

類型選擇「作業系統(CmdExec)」,執行身份「SQL Server Agent服務賬戶」,

命令為:

sqlcmd -U 「賬號」 -d 「資料庫名稱」-S 「xxxxxxx.database.windows.ne」t -P  「登錄密碼」 -i c:\script\deleteLog.sql -o c:\script\azureoutput.tx

c:\script\deleteLog.sql 這個script為需要執行的SQL語法,例如刪除表等等;

  • -U Azure SQL登錄賬戶
  • -d 資料庫名稱
  • -P Azure SQL登錄密碼
  • - i 執行的script路徑
  • -o 執行結果輸出文件

 

設置輸出檔:

 

新增排程如下:

類型為「重複執行」

發生於「每日」

重複頻率「1」天

 

作業活動監視器可以查看所有作業的執行狀態,如果有錯誤,可以到上一步-o指定的文件查看。

 

 

deleteLog.sql內容如下:

DELETE FROM TKBLSTS WHERE JOB_NO IN (SELECT JOB_NO FROM TKBL WHERE (GROUP_ID<>'EG' AND GROUP_ID<>'PL') AND CREATE_DATE < DATEADD(MONTH,-4,getdate()));
GO
DELETE FROM TKBLPTY WHERE JOB_NO IN (SELECT JOB_NO FROM TKBL WHERE (GROUP_ID<>'EG' AND GROUP_ID<>'PL') AND CREATE_DATE < DATEADD(MONTH,-4,getdate()));
GO
DELETE FROM TKBLCNTR WHERE JOB_NO IN (SELECT JOB_NO FROM TKBL WHERE (GROUP_ID<>'EG' AND GROUP_ID<>'PL') AND CREATE_DATE < DATEADD(MONTH,-4,getdate()));
GO
DELETE FROM TKBLFLNO WHERE JOB_NO IN (SELECT JOB_NO FROM TKBL WHERE (GROUP_ID<>'EG' AND GROUP_ID<>'PL') AND CREATE_DATE < DATEADD(MONTH,-4,getdate()));
GO
DELETE FROM TKBLPO WHERE JOB_NO IN (SELECT JOB_NO FROM TKBL WHERE (GROUP_ID<>'EG' AND GROUP_ID<>'PL') AND CREATE_DATE < DATEADD(MONTH,-4,getdate()));
GO
DELETE FROM TKBL WHERE (GROUP_ID<>'EG' AND GROUP_ID<>'PL') AND CREATE_DATE < DATEADD(MONTH,-4,getdate());
GO
DELETE FROM OTH_LOG1 WHERE CREATE_DATE <  DATEADD(day,-10,getdate());

  

 

转载于:https://www.cnblogs.com/milo-xie/p/6393720.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值