- [C#] Dependency Injection in Winform
- [SQLSERVER] Hướng dẫn tìm kiếm nâng cao trên sql
- [C#] Hướng dẫn sử dụng SetTimeOut trên Winform like Javascript
- [DATABASE] In cây thông noel bằng sqlserver
- [C#] Hướng dẫn fix lỗi hiển thị UTF-8 khi sử dụng WebClient Download String
- [DATABASE] Hướng dẫn mã hóa và giải mã sử dụng thuật toán AES 256 trên sqlserver
- [DATABASE] Base64 Encode and Decode trong Sqlserver
- [C#] Vì Mẹ anh bắt phải Fake địa chỉ MacAddress
- [C#] Hướng dẫn xuất dữ liệu từ DataGridview ra file Excel
- [C#] Hướng dẫn khởi động lại chương trình ứng dụng winform
- [C#] Sự khác nhau giữa String.IsNullOrEmpty và String.IsNullOrWhiteSpace
- [C#] Hướng dẫn đọc file hình ảnh định dạng WEBP và chuyển đổi WebP sang JPG
- [C#] Kiểm tra phiên bản Microsoft Office đang sử dụng trên máy tính
- [C#] Hướng dẫn chuyển đổi tập tin hình ảnh XPS sang Bitmap
- [C#] Giới thiệu Component WebView2 của Microsoft
- [C#] Hướng dẫn lưu tất cả hình ảnh từ File Excel vào thư mục window
- [DATABASE] Hướng dẫn import và export hình ảnh image từ Sqlserver
- [DATABASE] Hướng dẫn sử dụng Hàm ASCII trong sqlserver
- [C#] Hướng dẫn fix lỗi Visual Studio 2022 not Support Target Net Framework 4.5.2
- [C#] Giới thiệu thư viện Sunny UI thiết kế giao diện trên 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 :)