Симптоми
Когато използвате базата данни на SSISDB за съхранение и управление на пакети на Microsoft SQL Server Services (SSIS) и конфигурирате следните свойства в каталога на SSIS:
-
Изчистване на регистрационни файлове периодично (зададено на TRUE)
-
Период на съхранение (зададен за определен брой дни – по-големия брой дни, в който може да е по-разпространен проблемът)
-
Периодично премахване на стари версии (зададено на TRUE)
-
Максимален брой версии за проект
Може да се сблъскате с един или повече от следните симптоми:
-
Отнема много време, за да разположите SSIS пакети, за да SSIS базата данни от SSDT.
-
SSIS пакети може да изминат много време, за да се изпълнят или дори да се провалят в някои случаи, когато се изпълнява задачата за почистване на SSISDB.
-
Екземплярът на SQL Server може да показва проблеми с производителността.
-
Работата на поддръжката за SSIS може да отнеме много време (повече от един ден), за да завърши или дори да се провали.
-
SSISDB може да е нараснал до голям размер.
Решение
Информация за сервизния пакет за SQL Server 2012
За да отстраните този проблем, получете най-новия сервизен пакет за Microsoft SQL Server 2012. За повече информация щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2755533 Как да получите най-новия сервизен пакет за SQL Server 2012 След като приложите SQL Server 2012 Service Pack 2 (SP2), изпълнете следните стъпки, за да коригирате този проблем:
-
Приложете SQL Server 2012 SP2 в екземпляра на SQL Server, който подслонява каталога на SSISB.
-
Изпълнете вътрешно.cleanup_server_log СЪХРАНЕНа процедура в SSISDB, за да извършите пълно почистване.
EXEC SSISDB.internal.cleanup_server_log
-
Променете базата данни на SSISDB на режим на един потребител.
ALTER DATABASE SSISDB SET SINGLE_USER
-
Обаждайте се configure_catalog заедно с параметър SEVER_OPERATION_ENCRYPTION_LEVEL , за да промените нивото на шифроване на регистрационния файл на операцията на PER_PROJECT (2) от настройката по подразбиране на PER_EXECUTION (1).
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
Променете базата данни на SSISDB обратно в режим на много потребители.
ALTER DATABASE SSISDB SET MULTI_USER
-
Стартирайте вътрешния.Cleanup_Server_execution_keys съхранена процедура за почистване на ключове на ниво транзакция.
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
Повече информация
SQL Server 2012 Service Pack 2 въвежда ключови промени в проектирането, които спомагат за облекчаване на този проблем:
-
В SSISDB.catalog_property таблица е въведена нова свойство (OPERATION_LOG_ENCRYPTION_LEVEL), за да се разреши опцията за защита на ниво проект. Тази настройка разказва на SSIS, за да създаде една двойка ключове или сертификат за всеки проект и да я използва повторно за всяка транзакция, като по този начин намали броя на поддържаните сертификати и трябва да бъде почистен в бъдеще. Пълно почистване е необходимо, преди да се смените от ниво на транзакция към ниво на проект.
-
Въведени са два запазени процедури за подпомагане на транзитирането на съществуващите SSISDB от ниво на транзакция към ниво на проект:
-
cleanup_server_log
-
cleanup_server_execution_keys
За повече информация относно тези две процедури и тяхната употреба отидете на следния уеб сайт в книги на SQL Server Online:
-
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".