Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
SSIS Integration Runtime in Azure Data Factory
Si applica a:SQL Server
Pulisce i log operazioni per portare il database SSISDB in uno stato che permette di modificare il valore della proprietà SERVER_OPERATION_ENCRYPTION_LEVEL.
Sintassi
catalog.cleanup_server_log
Argomenti
Nessuno.
Valori del codice restituito
0 per esito positivo e 1 per esito negativo.
Set di risultati
Nessuno.
Autorizzazioni
Per questa stored procedure è necessaria una delle autorizzazioni seguenti:
Autorizzazioni READ ed EXECUTE per il progetto e, se applicabile, autorizzazioni READ per l'ambiente a cui si fa riferimento.
Appartenenza al ruolo del database ssis_admin.
Appartenenza al ruolo del server sysadmin.
Errori e avvisi
La stored procedure genera degli errori negli scenari seguenti:
Almeno una operazione è attiva nel database SSISDB.
Il database SSISDB non è in modalità utente singolo.
Osservazioni:
In SQL Server 2012 Service Pack 2 è stata aggiunta la proprietà SERVER_OPERATION_ENCRYPTION_LEVEL alla tabella internal.catalog_properties. Per questa proprietà sono possibili due valori:
PER_EXECUTION (1): il certificato e la chiave simmetrica usati per la protezione dei parametri e dei log di esecuzione riservati vengono creati per ogni esecuzione. Poiché i certificati e le chiavi vengono generati per ogni esecuzione, è possibile riscontrare problemi di prestazioni (deadlock, mancata riuscita di processi di manutenzione e così via) negli ambienti di produzione. Questa impostazione, tuttavia, offre un livello di sicurezza superiore rispetto all'altro valore (2).
PER_PROJECT (2): il certificato e la chiave simmetrica usati per la protezione dei parametri riservati vengono creati per ogni progetto. PER_PROJECT (2) corrisponde all'impostazione predefinita. Questa impostazione garantisce prestazioni migliori rispetto al livello PER_EXECUTION, perché la chiave e il certificato vengono generati una volta per il progetto, anziché per ogni esecuzione.
È necessario eseguire la procedura memorizzata catalog.cleanup_server_log prima di poter modificare SERVER_OPERATION_ENCRYPTION_LEVEL da 2 a 1 o da 1 a 2. Prima di eseguire questa stored procedure, effettuare i seguenti passaggi:
Verificare che il valore della proprietà OPERATION_CLEANUP_ENABLED sia impostato su TRUE nella tabella catalog.catalog_properties (database SSISDB).
Impostare il database di Integration Services (SSISDB) sulla modalità utente singolo. In SQL Server Management Studio avviare la finestra di dialogo Proprietà database per SSISDB, passare alla scheda Opzioni e impostare la proprietà Limitazione accesso sulla modalità utente singolo (SINGLE_USER). Dopo aver eseguito la stored procedure cleanup_server_log, riportare il valore della proprietà al valore originale.
Esegui la procedura memorizzata catalog.cleanup_server_log.
A questo punto modificare il valore della proprietà SERVER_OPERATION_ENCRYPTION_LEVEL nella tabella catalog.catalog_properties (database SSISDB).
Eseguire la procedura memorizzata catalog.cleanup_server_execution_keys per eliminare le chiavi di certificato dal database SSISDB. Il rilascio dei certificati e delle chiavi dal database SSISDB può richiedere molto tempo. È quindi necessario eseguire questa operazione periodicamente in orario non di punta.
È possibile specificare l'ambito o il livello (di esecuzione o di progetto) e il numero di chiavi da eliminare. La dimensione predefinita del batch per l'eliminazione è 1000. Quando si imposta il livello su 2, le chiavi e i certificati vengono eliminati solo se i progetti associati sono stati eliminati.
Esempio
L'esempio seguente chiama la procedura memorizzata cleanup_server_log.
USE [SSISDB]
GO
DECLARE@return_value int
EXEC@return_value = [internal].[cleanup_server_log]
SELECT'Return Value' = @return_value
GO