- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
[SQLSERVER] Hướng dẫn lập lịch tự động thực hiện câu lệnh SQL sử dụng SQL Agent jobs
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách lập lịch tự động thực hiện câu lệnh SQL sử dụng SQL Agent Jobs.
+ Yêu cầu:
Ví dụ: các bạn muốn thực hiện công việc như sau.
Đầu tiên các bạn tạo lệnh tăng ca cho nhân viên, nhưng các bạn muốn là vào lúc 12h00 thì các lệnh này mới được tự động kích hoạt.
Để thực hiện công việc này, SQL Agent Jobs sẽ giúp các bạn lập lịch dễ dàng.
Để thực hiện các bạn cần kích hoạt dịch vụ SQL Agent trong services.msc
Đầu tiên các bạn tạo cho mình một hàm Procedure dưới đây với tên sp_add_job_quick
USE msdb
go
CREATE procedure [dbo].[sp_add_job_quick]
@job nvarchar(128),
@mycommand nvarchar(max),
@servername nvarchar(28),
@startdate nvarchar(8),
@starttime nvarchar(8)
as
-- Thêm một jobs
EXEC dbo.sp_add_job
@job_name = @job ;
EXEC sp_add_jobstep
@job_name = @job,
@step_name = N'process step',
@subsystem = N'TSQL',
@command = @mycommand
-- Cấu hình thời gian chạy job
exec sp_add_jobschedule @job_name = @job,
@name = 'MySchedule',
@freq_type=1,
@active_start_date = @startdate,
@active_start_time = @starttime
-- Thêm job vào sqlserver
EXEC dbo.sp_add_jobserver
@job_name = @job,
@server_name = @servername
Sau khi các bạn, chạy procedure xong, bây giờ bạn muốn lập lịch chạy câu lệnh SQL server, bạn sẽ thực hiện như sau:
exec dbo.sp_add_job_quick
@job = 'myjob', -- Tên job của bant
@mycommand = 'UPDATE tbl_lenhtangca SET status=1', -- Gõ câu lệnh T-SQL
@servername = 'serverName', -- Nhập tên server name, nếu server bạn chạy ở local, các bạn có thể thay bằng đoạn sau @servername=@@Servername
@startdate = '20181231', -- Ngày 31/12/2018
@starttime = '070000' -- Thời gian, 07:00:00
-- https://laptrinhvb.net
Để xóa một jobs các bạn thực hiện câu lệnh sau:
EXEC sp_delete_job
@job_name = N'myjob' ; -- nhập tên job của bạn vào
GO
Liệt kê danh sách tất cả các bạn đang có trong hệ thống server của bạn.
SELECT job_id, [name], * FROM msdb.dbo.sysjobs;
HAVE FUN :)