catalog.cleanup_server_execution_keys

Si applica a:SQL Server SSIS Integration Runtime in Azure Data Factory

Si applica a:SQL Server

Elimina certificati e chiavi simmetriche dal database SSISDB.

Sintassi

catalog.cleanup_server_execution_keys [ @cleanup_flag = ] cleanup_flag ,  
[ @delete_batch_size = ] delete_batch_size  

Argomenti

[ @cleanup_flag = ] cleanup_flag
Indica se i certificati e le chiavi simmetriche a livello di esecuzione (1) o di progetto (2) devono essere rilasciati.

Usare il livello di esecuzione (1) solo se SERVER_OPERATION_ENCRYPTION_LEVEL è impostato su PER_EXECUTION (1).

Usare il livello di progetto (2) solo se SERVER_OPERATION_ENCRYPTION_LEVEL è impostato su PER_PROJECT (2). I certificati e le chiavi simmetriche vengono rilasciati solo per i progetti eliminati per cui sono stati cancellati i log delle operazioni.

[ @delete_batch_size = ] delete_batch_size
Numero di chiavi e certificati da rilasciare. Il valore predefinito è 1000.

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

Questa stored procedure genera 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. Questo è il valore predefinito. Dal momento che 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. Questo garantisce prestazioni migliori rispetto al livello PER_EXECUTION, perché la chiave e il certificato vengono generati una sola volta per il progetto, anziché per ogni esecuzione.

Prima di modificare SERVER_OPERATION_ENCRYPTION_LEVEL da 1 a 2 o viceversa, è necessario eseguire catalog.cleanup_server_log. Prima di eseguire questa stored procedure, effettuare le operazioni seguenti:

  1. Verificare che il valore della proprietà OPERATION_CLEANUP_ENABLED sia impostato su TRUE nella tabella catalog.catalog_properties (database SSISDB).

  2. 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à sul valore originale.

  3. Eseguire la stored procedure catalog.cleanup_server_log.

  4. A questo punto modificare il valore della proprietà SERVER_OPERATION_ENCRYPTION_LEVEL nella tabella catalog.catalog_properties (database SSISDB).

  5. Eseguire la stored procedure catalog.cleanup_server_execution_keys per pulire le chiavi dei certificati 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.

Per altre informazioni, vedere l'articolo della Knowledge Base seguente. CORREZIONE: Problemi di prestazioni quando si usa SSISDB come archivio di distribuzione in SQL Server 2012

Esempio

L'esempio seguente chiama la stored procedure cleanup_server_execution_keys.

USE [SSISDB]  
GO  
  
DECLARE@return_value int  
  
EXEC@return_value = [internal].[cleanup_server_execution_keys]  
@cleanup_flag = 1,  
@delete_batch_size = 500  
  
SELECT'Return Value' = @return_value  
  
GO