Příznaky
Pokud používáte databázi SSISDB k ukládání a správě balíčků služby Microsoft SQL Server Integration Services (SSIS) a nakonfigurujte následující vlastnosti v katalogu SSIS:
-
Periodické zaznamenávání protokolů (nastavených na hodnotu true)
-
Doba uchovávání informací (nastavená na určitý počet dnů – větší počet dní, o které se problém může lišit)
-
Periodicky odebírat staré verze (nastaveny na hodnotu pravda)
-
Maximální počet verzí na projekt
Můžete zaznamenat některé z následujících příznaků:
-
Nasazení balíčků SSIS do databáze SSIS z SSDT trvá příliš dlouho.
-
Spuštění SSIS balíčků může trvat velmi dlouho nebo dokonce selhat, když je spuštěná úloha vyčištění SSISDB.
-
V instanci systému SQL Server mohou být problémy s výkonem.
-
Dokončení úlohy údržby SSIS může trvat dlouho (víc než den) nebo dokonce selhat.
-
SSISDB se asi zvětšil na velkou velikost.
Řešení
Informace o aktualizaci Service Pack pro SQL Server 2012
Tento problém vyřešíte pomocí nejnovější aktualizace Service Pack pro Microsoft SQL Server 2012. Další informace najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2755533 Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2012 Po instalaci aktualizace SQL Server 2012 Service Pack 2 (SP2) Tento problém můžete vyřešit takto:
-
Nainstalujte SQL Server 2012 SP2 na instanci systému SQL Server, která hostuje katalog SSISB.
-
Spusťte v SSISDB uloženou proceduru internal.cleanup_server_log a proveďte úplné vyčištění.
EXEC SSISDB.internal.cleanup_server_log
-
Změňte databázi SSISDB na režim jednoho uživatele.
ALTER DATABASE SSISDB SET SINGLE_USER
-
Volejte configure_catalog spolu s parametrem SEVER_OPERATION_ENCRYPTION_LEVEL a změňte úroveň šifrování protokolu operací na PER_PROJECT (2) z výchozího PER_EXECUTION (1).
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
Změňte databázi SSISDB zpátky na režim více uživatelů.
ALTER DATABASE SSISDB SET MULTI_USER
-
Spusťte interní.Cleanup_Server_execution_keys uloženou proceduru k vyčištění klíčů úrovně transakce.
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
Další informace
Aktualizace SQL Server 2012 Service Pack 2 představuje důležité změny návrhu, které pomáhají tento problém zmírnit:
-
V tabulce SSISDB.catalog_property se zavádí nová vlastnost (OPERATION_LOG_ENCRYPTION_LEVEL), která umožní možnost zabezpečení na úrovni projektu. Toto nastavení říká SSIS, že vytvoří pro každý projekt jeden pár klíčů nebo certifikátů a použije ho pro každou transakci a tím minimalizuje počet certifikátů udržovaných a potřebných k vyčištění v budoucnu. Před změnou úrovně transakce na úrovni projektu je nutné provést úplné vyčištění.
-
K přenosu existujících SSISDB z úrovně transakce do úrovně projektu jsou představeny dvě uložené procedury:
-
cleanup_server_log
-
cleanup_server_execution_keys
Další informace o těchto dvou postupech a jejich využití získáte, když na webu knihy online v SQL serveru přejdete na následující web:
-
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.