Sintomas
Quando utilizar a base de dados SSISDB para armazenar e gerir os pacotes microsoft SQL Server Integration Services (SSIS) e configurar as seguintes propriedades no catálogo SSIS:
-
Limpar registos periodicamente (definido para Verdadeiro)
-
Período de retenção (definido para número específico de dias – quanto maior o número de dias, mais predominante o problema poderia ser)
-
Remover periodicamente versões antigas (definidas como verdadeiras)
-
Número máximo de versões por projeto
Pode experimentar um ou mais dos seguintes sintomas:
-
Leva muito tempo para implantar pacotes SSIS na base de dados SSIS a partir de SSDT.
-
Os pacotes SSIS podem demorar muito tempo a executar ou mesmo falhar em alguns casos quando o trabalho de limpeza SSISDB está em execução.
-
A instância do SQL Server pode apresentar problemas de desempenho.
-
O trabalho de manutenção do SSIS pode demorar muito tempo (mais de um dia) a concluir ou mesmo falhar.
-
O SSISDB pode ter crescido para um tamanho grande.
Resolução
Informações do pacote de serviços para SQL Server 2012
Para resolver este problema, obtenha o mais recente pacote de serviços para o Microsoft SQL Server 2012. Para mais informações, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2755533 Como obter o mais recente pacote de serviços para SQL Server 2012 Depois de aplicar o SQL Server 2012 Service Pack 2 (SP2), siga estes passos para corrigir este problema:
-
Aplique o SQL Server 2012 SP2 na instância sql Server que está hospedando o catálogo SSISB.
-
Execute o procedimento internode .cleanup_server_log armazenado no SSISDB para efetuar uma limpeza completa.
EXEC SSISDB.internal.cleanup_server_log
-
Altere a base de dados SSISDB para o modo de utilizador único.
ALTER DATABASE SSISDB SET SINGLE_USER
-
Ligue configure_catalog juntamente com SEVER_OPERATION_ENCRYPTION_LEVEL parâmetro para alterar o nível de encriptação do registo de operação para PER_PROJECT (2) do padrão de PER_EXECUTION (1).
EXEC SSISDB.catalog.configure_catalog @property_name='SERVER_OPERATION_ENCRYPTION_LEVEL', @property_value='2'
-
Altere a base de dados SSISDB de volta para o modo multiutilizador.
ALTER DATABASE SSISDB SET MULTI_USER
-
Executar o interno..Cleanup_Server_execution_keys procedimento armazenado para limpar as chaves do nível de transação.
EXEC SSISDB.internal.Cleanup_Server_execution_keys @cleanup_flag = 1
Mais Informações
SQL Server 2012 Service Pack 2 introduz mudanças de design chave que ajudam a aliviar este problema:
-
Um novo imóvel (OPERATION_LOG_ENCRYPTION_LEVEL)é introduzido em SSISDB.catalog_property tabela para permitir uma opção de segurança ao nível do projeto. Esta definição diz ao SSIS para criar um par de chaves ou certificados para cada projeto e reutilizá-lo para cada transação, minimizando assim o número de certificados mantidos e necessários para serem limpos no futuro. É necessária uma limpeza completa antes de mudar do nível de Transação para o nível do projeto.
-
São introduzidos dois procedimentos armazenados para ajudar a transitar o SSISDB existente do nível de transação para o nível do projeto:
-
cleanup_server_log
-
cleanup_server_execution_keys
Para obter mais informações sobre estes dois procedimentos e a sua utilização, aceda ao seguinte website em SQL Server Books Online:
Procedimentos armazenados (Catálogo de Serviços de Integração)
-
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".