我们如何获得参数列表&变量及其预定SQL作业的默认值?

时间:2018-03-15 15:46:16

标签: sql-server ssis

我浏览了以下查询和每个表的所有列:

***SELECT * FROM 
[msdb].[dbo].[sysjobs] AS [sJOB]
LEFT JOIN [msdb].[sys].[servers] AS [sSVR]
    ON [sJOB].[originating_server_id] = [sSVR].[server_id]
LEFT JOIN [msdb].[dbo].[syscategories] AS [sCAT]
    ON [sJOB].[category_id] = [sCAT].[category_id]
LEFT JOIN [msdb].[dbo].[sysjobsteps] AS [sJSTP]
    ON [sJOB].[job_id] = [sJSTP].[job_id]
    AND [sJOB].[start_step_id] = [sJSTP].[step_id]
LEFT JOIN [msdb].[sys].[database_principals] AS [sDBP]
    ON [sJOB].[owner_sid] = [sDBP].[sid]
LEFT JOIN [msdb].[dbo].[sysjobschedules] AS [sJOBSCH]
    ON [sJOB].[job_id] = [sJOBSCH].[job_id]
LEFT JOIN [msdb].[dbo].[sysschedules] AS [sSCH]
    ON [sJOBSCH].[schedule_id] = [sSCH].[schedule_id]***

我没有获得有关参数和信息的任何信息。变量及其在计划作业中使用的默认值。

我有一个专栏" Command",我可以在其中看到为该作业传递的参数,但它对于所有作业都不正确。 基本上,我需要获取所有预定SQL作业的参数列表以及在这些作业的包中创建/使用的变量列表。 我怎么能得到它?

1 个答案:

答案 0 :(得分:0)

您无法以编程方式或查询方式获取此内容。

您提到的“命令”列包含存储在作业步骤配置中的所有参数及其值。我不知道你为什么说它“不正确”,因为我向你保证。大概不是因为某种未知原因而不是你所期望的那样。

该列与存储获取的粒度一样。没有表将各个参数和值保存在单独的列中。存储它们的唯一位置是命令列。

要看到这个,脚本你的工作是SSMS,滚动步骤并找到命令行,它看起来像这样:

@command=N'/ISSERVER "\"\SSISDB\ODS\Marketing\ImportCalls.dtsx\"" /SERVER s1wdvsqlssis2 /Par "\"MyParameterName\"";"\"MyParameterValue\"" /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E', 

命令值应该与您在jobsteps表的命令列中看到的一样。