2010-02-27 41 views
30

Tôi có một bảng mà tôi muốn thực hiện một số hoạt động mỗi giờ. Đối với điều này tôi tạo ra một thủ tục lưu trữ nhưng không biết làm thế nào để gọi nó mỗi giờ. Tôi biết có một số loại công việc theo lịch trình, nhưng làm thế nào để sử dụng chúng.Làm thế nào để chạy một thủ tục được lưu trữ trong máy chủ sql mỗi giờ?

Có loại dịch vụ nào đó cũng tiếp tục chạy liên tục, mỗi giây, nơi tôi có thể đặt đoạn mã của mình được thực hiện?

Trả lời

57

Trong SSMS điều hướng đến SQL Server Agent -> Công Việc Nhấp chuột phải vào Folder Job và chọn công việc mới

trên hộp thoại bật lên, cung cấp cho các công việc của một tên nhấp chuột vào bước, sau đó vào mới, bạn sẽ thấy một hộp thoại như sau, chọn đúng DB và gõ tên proc của bạn

alt text

sau đó click vào tiến độ, nhận mới và bạn sẽ thấy một cái gì đó giống như hình ảnh dưới đây, điền vào tất cả những thứ bạn cần và bấm ok, sau đó kích OK trong công việc và bạn nên được đặt alt text

+0

imgur nhúng bây giờ vẫn còn squirrelly, nhưng trong trường hợp nó hữu ích cho người khác, tôi có thể truy cập trực tiếp vào các hình ảnh tại http://i.imgur.com/Woxpv.png và http://i.imgur.com/tSUau.png – ruffin

+2

Và nếu bạn cần gửi email thông báo cho ai đó (giả sử WebMaster) dựa trên kết quả sp, Trong bước công việc: 'DECLARE @result bit' --assing YourProc output là bit. 'Exec YourProc @spResult = @result OUTPUT' và sau đó ' if (@result = 0) Bắt đầu DECLARE @subject nvarchar (max) = 'Thông báo!' DECLARE @body nvarchar (tối đa) = 'Đã xảy ra lỗi ...' DECLARE @to nvarchar (tối đa) = '[email protected]' EXEC msdb.dbo.sp_send_dbmail @recipients = @to, @subject = @ chủ đề, @body = @body; End' –

+0

Tôi đã thử loại kịch bản này, nhưng tôi hơi bối rối vì sao nó không thực hiện vào ngày hôm sau. Các cài đặt tương tự và tất cả đặc biệt là các cài đặt trên tần suất hàng ngày. – Juran

1

Thiết lập một công việc đại lý SQL Server để thực hiện các thủ tục lưu trữ ở 1 giờ khoảng

3

1) Sử dụng SQL Server Agent (mở MS Management Studio) 2) thông báo việc làm 3) Thêm Bước 4) Chọn Transact SQL 5) EXEC MyStroredProc 6) Chọn cơ sở dữ liệu 7) Thêm lịch 8) Xảy ra mỗi giờ

Thêm thông báo cho biết quá trình mà là làm tốt (hay xấu).

Trong các thuộc tính của SQL Server Agent kiểm tra xem tất cả các tùy chọn Auto restart là công tắc ON

Các vấn đề liên quan