آیا SQL Server Agent در حال اجراست ؟

اگر قصد استفاده از امکان CDC (شناسایی تغییرات محتوای جداول)  از سیستم تراکنشی خود (OLTP) و انتقال تغییرات به Data Warehouse خود را داشته باشید، باید از اجرا بودن سرویس SQL Agent به عنوان پیش نیاز آن مطمئن باشد که در غیر اینصورت زحمات شما در انتقال تغییرات به هدر خواهد رفت. به این منظور کافی است تا از دستورات زیر استفاده بفرمایید تا درصورت خاموش بودن SQL Agent به کاربر اطلاع رسانی نموده و از درج، تغییر یا حذف در آن جداول جلوگیری کنید.


DECLARE @agent NVARCHAR(512);

SELECT @agent = COALESCE(N'SQLAgent$' + CONVERT(SYSNAME, SERVERPROPERTY('InstanceName')), 

N'SQLServerAgent');


EXEC master.dbo.xp_servicecontrol 'QueryState', @agent


اگر SQL Agent در حال اجرا باشد، اجرای دستورات بالا مقدار "Running." و در غیراینصورت مقدار  "Stopped." را برمی گرداند.