Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
SSIS Integration Runtime em Azure Data Factory
Aplica-se a:SQL Server
Limpa os logs de operação para colocar o banco de dados SSISDB em um estado que permite alterar o valor da propriedade SERVER_OPERATION_ENCRYPTION_LEVEL.
Sintaxe
catalog.cleanup_server_log
Argumentos
Nenhum.
Valores do código de retorno
0 para o sucesso e 1 para o fracasso.
Conjuntos de resultados
Nenhum.
Permissões
Este procedimento armazenado requer uma das seguintes permissões:
Permissões READ e EXECUTE no projeto e, se aplicável, permissões READ no ambiente referenciado.
Associação à função de banco de dados ssis_admin .
Associação à função de servidor sysadmin.
Erros e Avisos
Este procedimento armazenado gera erros nos seguintes cenários:
Há uma ou mais operações ativas no banco de dados SSISDB.
O banco de dados SSISDB não está no modo de usuário único.
Observações
O SQL Server 2012 Service Pack 2 adicionou a propriedade SERVER_OPERATION_ENCRYPTION_LEVEL à tabela internal.catalog_properties . Esta propriedade tem dois valores possíveis:
PER_EXECUTION (1) - O certificado e a chave simétrica usados para proteger parâmetros de execução sensíveis e logs de execução são criados para cada execução. Pode encontrar problemas de desempenho (deadlocks, falhas em trabalhos de manutenção, etc.) num ambiente de produção porque certificados/chaves são gerados para cada execução. No entanto, essa configuração fornece um nível mais alto de segurança do que o outro valor (2).
PER_PROJECT (2) - O certificado e a chave simétrica utilizados para proteger parâmetros sensíveis são criados para cada projeto. PER_PROJECT (2) é o valor padrão. Essa configuração oferece um desempenho melhor do que o nível PER_EXECUTION porque a chave e o certificado são gerados uma vez para um projeto e não para cada execução.
Você tem que executar o procedimento armazenado catalog.cleanup_server_log antes de poder alterar o SERVER_OPERATION_ENCRYPTION_LEVEL de 2 para 1 ou de 1 para 2. Antes de executar este procedimento armazenado, faça o seguinte:
Verifique se o valor da propriedade OPERATION_CLEANUP_ENABLED está definido como TRUE na tabela catalog.catalog_properties (Banco de Dados SSISDB ).
Defina o banco de dados do Integration Services (SSISDB) para o modo de usuário único. No SQL Server Management Studio, inicie a caixa de diálogo Propriedades do Banco de Dados para SSISDB, alterne para a guia Opções e defina a propriedade Restringir Acesso para o modo de usuário único (SINGLE_USER). Depois de executar o procedimento armazenado cleanup_server_log, defina novamente o valor da propriedade para o valor original.
Execute o procedimento armazenado catalog.cleanup_server_log.
Agora, altere o valor da propriedade SERVER_OPERATION_ENCRYPTION_LEVEL na tabela catalog.catalog_properties (Banco de Dados SSISDB ).
Execute o procedimento armazenado catalog.cleanup_server_execution_keys para limpar as chaves de certificados do banco de dados SSISDB. Remover certificados e chaves do banco de dados SSISDB pode levar muito tempo, por isso deve ser executado periodicamente fora dos horários de pico.
Você pode especificar o escopo ou nível (execução vs. projeto) e o número de chaves a serem excluídas. O tamanho de lote padrão para exclusão é 1000. Quando você define o nível como 2, as chaves e os certificados são excluídos somente se os projetos associados tiverem sido excluídos.
Para obter mais informações, consulte o seguinte artigo da Base de Dados de Conhecimento: CORREÇÃO: Problemas de desempenho quando você usa o SSISDB como seu repositório de implantação no SQL Server 2012
Exemplo
No exemplo a seguir, chama-se o procedimento armazenado cleanup_server_log.
USE [SSISDB]
GO
DECLARE@return_value int
EXEC@return_value = [internal].[cleanup_server_log]
SELECT'Return Value' = @return_value
GO