Как получить точно такой же список «используемых параметров», который показан в отчете «Обзор всех выполнений», с помощью T-SQL из базы данных SSISDB? - PullRequest
0 голосов
/ 02 октября 2018

Можно ли получить точно такие же параметры, как показано в Все отчеты об исполнении (см. Экран печати ниже)?

enter image description here

Я пытался использовать таблицу [internal]. [Execute_parameter_values] из SSISDB и отфильтровать ее через execute_id , тем не менее она возвращает гораздо больше параметров, чем в отчете.Я также пытался отфильтровать его с помощью атрибута таблицы «value_set», «object_type» и т. Д., Но все равно он не возвращал тот же список, что и в отчете.

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Обзорный отчет в каталоге служб SSIS показывает только ТОП 25 используемых параметров, отсортированных по parameter_name ASC.

Также необходимо отфильтровать записи с параметром_имя без "."символ.

Таким образом, в результате сценарий T-SQL будет:

SELECT TOP 25 
      [parameter_name]
      ,[parameter_value]
      ,[parameter_data_type]
  FROM [SSISDB].[internal].[execution_parameter_values]
  WHERE execution_id = @execution_id AND parameter_name not like '%.%'
  ORDER BY parameter_name
0 голосов
/ 02 октября 2018

Ссылка: https://docs.microsoft.com/en-us/sql/integration-services/system-views/views-integration-services-catalog?view=sql-server-2017

execute_parameter_value : отображает фактические значения параметров, которые используются пакетами служб Integration Services во время экземпляра выполнения.

При каждом выполнении пакета записи вставляются в эту таблицу.Вам нужно определить идентификатор_производителя, по которому вы хотите выполнить фильтрацию.

Вы можете получить его из [каталог]. [Выполнения] в БД SSIS.Фильтруйте на основе вашего проекта или пакета и когда он был выполнен.

Или вы также увидите это в отчете по обзору выполнения как «Идентификатор операции»: enter image description here

Затем вы можете фильтровать на основе этого значения:

    SELECT * FROM [internal].[execution_parameter_values]
    WHERE [execution_id] = 16529
...