Ошибка задания обслуживания сервера SSIS - PullRequest
0 голосов
/ 24 мая 2018

Я получаю следующее сообщение об ошибке в заданиях агента sql server 2017 для задания обслуживания, которое отвечает за удаление старых журналов выполнения:

Date        5/23/2018 12:18:45 AM
Log     Job History (SSIS Server Maintenance Job)

Step ID     1
Server      KARABL3
Job Name        SSIS Server Maintenance Job
Step Name       SSIS Server Operation Records Maintenance
Duration        00:02:34
Sql Severity    16
Sql Message ID  16916
Operator Emailed    
Operator Net sent   
Operator Paged  
Retries Attempted   3

Message
Executed as user: ##MS_SSISServerCleanupJobLogin##. A cursor with the name 'execution_cursor' does not exist. [SQLSTATE 34000] (Error 16916).  NOTE: The step was retried the requested number of times (3) without succeeding.  The step failed.

Через некоторое время, когда число журналов превысило нормальное число, оно вызывает сбой всех заданийиз-за истечения времени ожидания. enter image description here

Ответы [ 2 ]

0 голосов
/ 30 марта 2019

После долгих попыток, наконец, я нашел этот волшебный спасительный запрос здесь по следующей ссылке:

https://gist.github.com/sqlsimon/63a78ea8688ce9eaee60

как это работает:

  1. Удаление FKs
  2. Усечение всех таблиц журнала
  3. Наконец, чтение FKs отлично работает для меня

Благодаря Саймону

0 голосов
/ 30 мая 2018

Отказ от ответственности: я один из коллег Вахида.

Очевидно, что сообщение об ошибке не содержит никакой полезной информации.

Вот первый шаг задания обслуживания сервера SSIS.

DECLARE @role INT

SET @role = (
        SELECT [role]
        FROM [sys].[dm_hadr_availability_replica_states] hars
        INNER JOIN [sys].[availability_databases_cluster] adc ON hars.[group_id] = adc.[group_id]
        WHERE hars.[is_local] = 1
            AND adc.[database_name] = 'SSISDB'
        )

IF DB_ID('SSISDB') IS NOT NULL
    AND (
        @role IS NULL
        OR @role = 1
        )
    EXEC [SSISDB].[internal].[cleanup_server_retention_window]

Сначала я подумал, что, возможно, [cleanup_server_retention_window] был обновлен в последней версии сервера SQL, и это вызываетошибка.Но это был не тот случай.

Затем я искал, что cleanup_server_retention_window не работает, и появилась эта ссылка .Несколько пользователей предложили переключить режим восстановления SSISDB на простой, чтобы решить эту проблему, и это сработало и в этом случае.Итак, если вы столкнулись с подобной проблемой, я бы предложил вам сделать то же самое.

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