- [C#] Viết ứng dụng xem và dò kết quả xổ số kiến thiết miền nam
- [EBOOK] Chia sẽ giáo trình học lập trình C - Giáo sư Phạm Văn Ất
- [C#] Hướng dẫn viết ứng dụng theo dõi máy in bao nhiêu trang (Monitor Printer)
- [C#] Lấy thông tin cấu hình máy tính xuất ra text file winform
- [C#] Chia sẽ class Install, Uninstall, Start và Stop Services Winform
- [C#] Tìm kiếm tập tin file nhanh chóng trên Winform sử dụng thư viện FastSearchLibrary
- [C#] Giới thiệu thư viện Fluent FTP Awesome dùng để làm việc với FTP
- [C#] Sử dụng thư viện Mini Profiler Integrations ghi log thực hiện các câu lệnh SQL
- [DEVEXPRESS] Thiết kế Dropdown ButtonBarItem trên Form Ribbon
- [C#] Lưu trạng thái các control trên Winform vào Registry Windows
- [C#] Ứng dụng ví dụ Simple Observer Pattern tăng giảm số lượng trên winform
- [C#] Hướng dẫn lấy thời gian thực server time trên winform
- [DEVEXPRESS] Hướng dẫn bật tính năng Scroll Pixcel in Touch trên GridView
- [DEVEXPRESS] Hướng dẫn sử dụng TileBar viết ứng dụng duyệt hình ảnh Winform
- [DEVEXPRESS] Tô màu border TextEdit trên Winform
- [C#] Lấy dữ liệu từ Console Write hiển thị lên textbox Winform
- [C#] Hiển thị Progress bar trên Window Console
- [C#] Di chuyển control Runtime và lưu layout trên winform
- [SQLSERVER] Sử dụng hàm NULL IF
- [C#] Chia sẽ source code mã đi tuần bằng giao diệ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 :)