我学习了如何使用LogParser Studio对IIS Web日志进行基本查询,并将LogParser查询导出到PowerShell脚本中,这很棒,因为我可以让Windows任务计划程序按计划运行脚本。
但是,我想知道是否可以使用T-SQL脚本直接查询IIS Web日志而不是使用我当前的过程:
我真正想要做的是让MVC网页中的用户单击一个按钮来触发(通过actionlink)重新查询IIS weblog的存储过程,通过SQL Agent Job运行SSIS导入包,以及在屏幕上显示结果。
虽然我可以让任务计划程序和代理作业更频繁地运行,但按需求运行(通过用户点击)可确保查询仅按需运行,而不是在时间间隔内运行其中不需要查询结果。
SQL Server的状态是否可以实现这一点? (我正在运行2014版和IIS版本8.5)。
答案 0 :(得分:0)
正如@Malik所提到的,sp_start_job
可用于运行未安排的代理作业。
在这种情况下,我的工作有两个步骤:
我的存储过程非常简单:
ALTER PROCEDURE [dbo].[RefreshErrorQuery]
-- No parameters
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Rigger unscheduled job to run
exec msdb.dbo.sp_start_job N'Refresh Web Query';
END