none
Засечь время выполнения RRS feed

  • Вопрос

  • Есть необходимость засекать время выполнения task'ов в пакете и всего пакета в целом и заносить эту информацию в специальную табличку примерно в таком формате: имя задачи - время выполнения. Как лучше всего это сделать. Понятно, что можно "втупую" решить эту задачу (хотя не знаю как получить имя пакета), но хотелось бы узнать ваше мнение.
    17 июня 2007 г. 13:12

Ответы

  • Сразу скажу, что в стандартном eventlog в Application есть время старта и завершения пакета. Добраться туда можно с помощью wmi например. Но лучше всего пользуйтесь инструкцией:

     

    ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/extran9/html/b69a8593-5bb0-4f04-87d2-f8e7bd7eb4fc.htm

    ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.ru/extran9/html/b69a8593-5bb0-4f04-87d2-f8e7bd7eb4fc.htm

     

    этой процедуре описывается, как добавлять журналы в пакет, настраивать ведение журналов на уровне пакетов и сохранять настройку ведения журналов в XML-файле. Журнал можно добавить только на уровне пакета, однако пакеты не обязаны осуществлять ведение журналов для того, чтобы включить ведение журналов в контейнерах, которые содержатся в этих пакетах.

    По умолчанию к контейнерам в пакете применяются те же самые настройки ведения журналов, что и к их родительскому контейнеру. Дополнительные сведения об установке параметров ведения журналов для отдельных контейнеров см. в разделе Как настроить ведение журнала в контейнере.

    Включение ведения журналов в пакете

    1. В среде Business Intelligence Development Studio откройте проект служб Integration Services, содержащий необходимый пакет.

    2. В меню Службы SSIS нажмите Ведение журнала.

    3. Выберите регистратор из списка Тип поставщика и щелкните Добавить.

    4. В столбце Конфигурация выберите диспетчер соединений или щелкните <Создать соединение>, чтобы создать новый диспетчер соединений, соответствующий регистратору. В зависимости от выбранного регистратора может использоваться один из следующих диспетчеров соединений.

      • Для текстовых файлов используется диспетчер подключения файлов. Дополнительные сведения см. в разделе Диспетчер подключения файлов.

      • Для SQL Server Profiler используется диспетчер подключения файлов.

      • Для SQL Server используется диспетчер соединений OLE DB. Дополнительные сведения см. в разделе Диспетчер соединений OLE DB.

      • Для событий Windows журнал создается автоматически с помощью служб SSIS.

      • Для XML-файлов используется диспетчер подключения файлов.

    5. Для каждого журнала, используемого в пакете, повторите шаги 3 и 4.

      Примечание
      Пакет может задействовать более одного журнала каждого типа.

    6. При необходимости установите флажок уровня пакетов, выберите журналы для ведения на уровне пакетов и перейдите на вкладку Подробности.

    7. На вкладке Подробности установите флажок События для сохранения всех записей журнала или снимите флажок События, чтобы выбрать отдельные события.

    8. При необходимости перейдите на вкладку Дополнительно, чтобы указать, какие именно данные следует вносить в журнал.

      Примечание
      По умолчанию в журнал вносятся все данные.

    9. На вкладке Подробности щелкните Сохранить. Появится диалоговое окно Сохранить как. Выберите папку для хранения настроек ведения журнала, введите имя файла для конфигурации нового журнала и щелкните Сохранить.

    10. Нажмите кнопку ОК.

    11. Чтобы сохранить обновленные пакеты, щелкните Сохранить выбранные элементы в меню Файл.

    18 июня 2007 г. 7:49

Все ответы

  • Сразу скажу, что в стандартном eventlog в Application есть время старта и завершения пакета. Добраться туда можно с помощью wmi например. Но лучше всего пользуйтесь инструкцией:

     

    ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/extran9/html/b69a8593-5bb0-4f04-87d2-f8e7bd7eb4fc.htm

    ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.ru/extran9/html/b69a8593-5bb0-4f04-87d2-f8e7bd7eb4fc.htm

     

    этой процедуре описывается, как добавлять журналы в пакет, настраивать ведение журналов на уровне пакетов и сохранять настройку ведения журналов в XML-файле. Журнал можно добавить только на уровне пакета, однако пакеты не обязаны осуществлять ведение журналов для того, чтобы включить ведение журналов в контейнерах, которые содержатся в этих пакетах.

    По умолчанию к контейнерам в пакете применяются те же самые настройки ведения журналов, что и к их родительскому контейнеру. Дополнительные сведения об установке параметров ведения журналов для отдельных контейнеров см. в разделе Как настроить ведение журнала в контейнере.

    Включение ведения журналов в пакете

    1. В среде Business Intelligence Development Studio откройте проект служб Integration Services, содержащий необходимый пакет.

    2. В меню Службы SSIS нажмите Ведение журнала.

    3. Выберите регистратор из списка Тип поставщика и щелкните Добавить.

    4. В столбце Конфигурация выберите диспетчер соединений или щелкните <Создать соединение>, чтобы создать новый диспетчер соединений, соответствующий регистратору. В зависимости от выбранного регистратора может использоваться один из следующих диспетчеров соединений.

      • Для текстовых файлов используется диспетчер подключения файлов. Дополнительные сведения см. в разделе Диспетчер подключения файлов.

      • Для SQL Server Profiler используется диспетчер подключения файлов.

      • Для SQL Server используется диспетчер соединений OLE DB. Дополнительные сведения см. в разделе Диспетчер соединений OLE DB.

      • Для событий Windows журнал создается автоматически с помощью служб SSIS.

      • Для XML-файлов используется диспетчер подключения файлов.

    5. Для каждого журнала, используемого в пакете, повторите шаги 3 и 4.

      Примечание
      Пакет может задействовать более одного журнала каждого типа.

    6. При необходимости установите флажок уровня пакетов, выберите журналы для ведения на уровне пакетов и перейдите на вкладку Подробности.

    7. На вкладке Подробности установите флажок События для сохранения всех записей журнала или снимите флажок События, чтобы выбрать отдельные события.

    8. При необходимости перейдите на вкладку Дополнительно, чтобы указать, какие именно данные следует вносить в журнал.

      Примечание
      По умолчанию в журнал вносятся все данные.

    9. На вкладке Подробности щелкните Сохранить. Появится диалоговое окно Сохранить как. Выберите папку для хранения настроек ведения журнала, введите имя файла для конфигурации нового журнала и щелкните Сохранить.

    10. Нажмите кнопку ОК.

    11. Чтобы сохранить обновленные пакеты, щелкните Сохранить выбранные элементы в меню Файл.

    18 июня 2007 г. 7:49
  • Попробую, о результатах сообщу
    18 июня 2007 г. 9:40
  • Включив логирование выполнения пакетов, пришел к выводу, что выхватить нужные данные о времени выполнения не так то просто. Пакетов выполняется много. В одном job несколько шагов, которые используют одни и те же пакеты. В общем не смог пока достичь результата. МОжет есть другой способ?
    8 августа 2007 г. 13:35
  • Коррелировать данные можно с помощью execution id - он должен быть одинаковым у всех событий от одного экземпляра пакета. Соответственно группируем по execution id, получаем все события от одного объекта.

     

    А что бы хотелось? Если пакетов действительно много, то и данных о времени выполнения много. Какие данные нужны?

    10 августа 2007 г. 2:14