Sintomi
Quando si usa il database SSISDB per archiviare e gestire i pacchetti di Microsoft SQL Server Integration Services (SSIS) e configurare le proprietà seguenti nel catalogo SSIS:
-
Pulire periodicamente i registri (impostati su true)
-
Periodo di conservazione (impostato su un numero specifico di giorni, maggiore è il numero di giorni in cui il problema potrebbe essere più diffuso)
-
Rimuovere periodicamente le versioni precedenti (impostate su true)
-
Numero massimo di versioni per progetto
Potresti riscontrare uno o più dei sintomi seguenti:
-
È necessario molto tempo per distribuire pacchetti SSIS nel database SSIS da SSDT.
-
I pacchetti SSIS possono richiedere molto tempo per l'esecuzione o addirittura non riescono in alcuni casi quando il processo di pulizia di SSISDB è in esecuzione.
-
L'istanza di SQL Server può presentare problemi di prestazioni.
-
Il processo di manutenzione di SSIS può richiedere molto tempo (più di un giorno) per completare o anche non riuscire.
-
Il tipo SSISDB può essere cresciuto in grandi dimensioni.
Risoluzione
Informazioni sui Service Pack per SQL Server 2012
Per risolvere il problema, ottenere il Service Pack più recente per Microsoft SQL Server 2012. Per altre informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2755533 Come ottenere il Service Pack più recente per SQL Server 2012 Dopo aver applicato il Service Pack 2 (SP2) di SQL Server 2012, eseguire la procedura seguente per risolvere il problema:
-
Applicare SQL Server 2012 SP2 nell'istanza di SQL Server che ospita il catalogo di SSISB.
-
Eseguire la stored procedure.cleanup_server_loginternain SSISDB per eseguire una pulitura completa.
EXEC SSISDB.internal.cleanup_server_log
-
Modificare il database SSISDB in modalità utente singolo.
ALTER DATABASE SSISDB SET SINGLE_USER
-
Chiama configure_catalog insieme al parametro SEVER_OPERATION_ENCRYPTION_LEVEL per cambiare il livello di crittografia del log delle operazioni in PER_PROJECT (2) dal valore predefinito PER_EXECUTION (1).
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
Modificare di nuovo il database SSISDB in modalità multiutente.
ALTER DATABASE SSISDB SET MULTI_USER
-
Eseguire l' interno.Cleanup_Server_execution_keys stored procedure per la pulizia delle chiavi del livello di transazione.
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
Ulteriori informazioni
SQL Server 2012 Service Pack 2 introduce le modifiche di progettazione chiave che consentono di alleviare il problema:
-
Una nuova proprietà (OPERATION_LOG_ENCRYPTION_LEVEL) viene introdotta nella tabella SSISDB.catalog_property per abilitare un'opzione per la sicurezza a livello di progetto. Questa impostazione indica a SSIS di creare una coppia di chiavi o certificati per ogni progetto e di riutilizzarla per ogni transazione, riducendo al minimo il numero di certificati conservati e necessari per la pulizia futura. È necessaria una pulitura completa prima di passare da livello di transazione a livello di progetto.
-
Vengono introdotte due stored procedure per consentire il transito di SSISDB esistente da livello di transazione a livello di progetto:
-
cleanup_server_log
-
cleanup_server_execution_keys
Per altre informazioni su queste due procedure e sul relativo utilizzo, visitare il sito Web seguente nella documentazione online di SQL Server:
-
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".