A Microsoft distribui as correções do Microsoft SQL Server 2012 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção SQL Server 2012.
Sintomas
Assuma que utiliza o SqL Server Agent para executar muitos pacotes de Serviços de Integração SQL Server 2012 (SSIS 2012) em paralelo. Além disso, o evento SSIS está configurado para ser registado nas tabelas SSISDB ou MSDB. Nesta situação, a execução de um pacote SSIS termina inesperadamente e tem um estatuto de "Cancelado". Quando isto ocorre, não são registadas mensagens de erro. Por exemplo, uma longa execução de um pacote SSIS que dura 2 a 3 horas termina inesperadamente, tem um estado "cancelado" e não tem mensagens de erro registadas.Nota
-
O resultado esperado é que a execução do pacote tenha sucesso ou falhe com alguns erros. Além disso, o estado "Cancelado" deve aparecer apenas para execuções de pacotes que são explicitamente interrompidos.
-
Este problema é mais provável quando o exemplo do Motor de Base de Dados do Servidor SQL em que os eventos SSIS são registados está em condições de stress. As condições de stress podem incluir bloqueio, desempenho lento ou atrasos causados pelo crescimento da base de dados SSISDB.
Causa
O problema ocorre porque o evento regista horários. Isto faz com que a execução do pacote SSIS seja cancelada prematuramente. Quando um evento SSIS é configurado para ser registado nas tabelas SSISDB ou MSDB, um comando Insert escreve o evento de registo e as estatísticas de desempenho para essas tabelas internamente. Quando há muitas execuções paralelas de pacotes SSIS, muitos comandos de Inserção paralelo são executados. Portanto, o erro de tempo de 10 horas é mais provável de ocorrer e causar o problema que é descrito na secção "Sintomas".
Resolução
Depois de aplicar a correção, o tempo de tempo de 10 segundos para o comando Inserção é aumentado de 30 segundos para 120 segundos. Além disso, se o tempo de 120 segundos ocorrer após um atraso de 120 segundos, a execução do pacote SSIS não será cancelada. Em vez disso, os eventos de registo pendentes são ignorados para evitar falhas no pacote.
Informação de atualização cumulativa
Pacote de atualização cumulativo 3 para SQL Server 2012
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 3. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2012, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2723749 Atualização cumulativa 3 para SQL Server 2012Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção SQL Server 2012. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2692828 O SQL Server 2012 constrói que foram lançados após o lançamento do SQL Server 2012
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Solução
Para contornar a questão, utilize um dos seguintes métodos:
-
Tente executar menos pacotes SSIS ou menos tarefas em paralelo.
-
Tente diminuir o parâmetro 'Nível de Registo' quando executar um pacote do Management Studio ou de um trabalho de Agente de Servidor SQL. Por exemplo, se estiver a utilizar a registo verboso, pode definir o parâmetro 'Logging Level' para Basic ou None. Se estiver a utilizar as definições de registo a partir das definições do pacote SSIS no designer de Ferramentas de Dados do Servidor SQL, pode registar os eventos num ficheiro de texto em vez de nas tabelas de bases de dados SSISDB ou MSDB.