Simptome
Atunci când utilizați baza de date SSISDB pentru a stoca și a gestiona pachetele Microsoft SQL Server Integration Services (SSIS) și a configura următoarele proprietăți în catalogul SSIS:
-
Curățați jurnalele periodic (setat la True)
-
Perioada de reținere (setată la un anumit număr de zile – cu atât mai mare este numărul de zile mai răspândite problema)
-
Eliminați periodic versiunile vechi (setate la True)
-
Numărul maxim de versiuni per proiect
Este posibil să apară una sau mai multe dintre următoarele simptome:
-
Este nevoie de mult timp pentru a implementa pachetele SSIS în baza de date SSIS din SSDT.
-
Este posibil ca pachetele SSIS să dureze mult timp pentru a le executa sau chiar să nu reușească în unele cazuri când se execută activitatea de curățare SSISDB.
-
Instanța SQL Server poate expune probleme de performanță.
-
Este posibil ca lucrarea de întreținere SSIS să dureze mult timp (mai mult de o zi) pentru a finaliza sau chiar a eșua.
-
Este posibil ca SSISDB să fi crescut la o dimensiune mare.
Rezolvare
Informații despre pachetul de servicii pentru SQL Server 2012
Pentru a rezolva această problemă, obțineți cel mai recent pachet Service Pack pentru Microsoft SQL Server 2012. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2755533 Cum se obține cel mai recent pachet Service Pack pentru SQL Server 2012 După ce aplicați SQL Server 2012 Service Pack 2 (SP2), urmați acești pași pentru a remedia această problemă:
-
Aplicați SQL Server 2012 SP2 pe instanța SQL Server care găzduiește catalogul SSISB.
-
Executați procedura internă.cleanup_server_log stocată în SSISDB pentru a efectua o curățare completă.
EXEC SSISDB.internal.cleanup_server_log
-
Modificați baza de date SSISDB în modul single-utilizator.
ALTER DATABASE SSISDB SET SINGLE_USER
-
Apelați configure_catalog împreună cu parametrul SEVER_OPERATION_ENCRYPTION_LEVEL pentru a modifica nivelul de criptare al jurnalului de operațiuni la PER_PROJECT (2) din valoarea implicită a PER_EXECUTION (1).
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
Modificați baza de date SSISDB înapoi la modul multi-utilizator.
ALTER DATABASE SSISDB SET MULTI_USER
-
Rulează intern.Cleanup_Server_execution_keys procedură stocată pentru a curăța tastele la nivel de tranzacție.
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
Mai multe informații
SQL Server 2012 Service Pack 2 introduce modificările de proiectare cheie care ajută la atenuarea acestei probleme:
-
O proprietate nouă (OPERATION_LOG_ENCRYPTION_LEVEL) este introdusă în tabelul SSISDB.catalog_property pentru a activa o opțiune pentru securitatea la nivel de proiect. Această setare spune SSIS să creeze o pereche de chei sau de certificat pentru fiecare proiect și să o reutilizeze pentru fiecare tranzacție, minimizând astfel numărul de certificate păstrate și necesare pentru a fi curățat în viitor. Este necesară o curățare completă înainte de a trece de la nivel de tranzacție la nivel de proiect.
-
Sunt introduse două proceduri stocate pentru a ajuta la tranzitarea SSISDB existente din tranzacții la nivel de proiect:
-
cleanup_server_log
-
cleanup_server_execution_keys
Pentru mai multe informații despre aceste două proceduri și utilizarea acestora, accesați următorul site web în SQL Server Books Online:
-
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.