Trabalho SQLAGENT aguardando no thread de trabalho

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 306457
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Se um trabalho agendado SQLAgent não iniciar ou concluída no tempo, verifique o último status de execução. Se o status do trabalho for "Espera no trabalho thread", verifique o log de SQLAgent para a seguinte mensagem de erro:
[251] Etapa % ld do trabalho %s está sendo na fila para o subsistema %s
Por padrão, o log SQLAgent (arquivo Sqlagent.out) está localizado na pasta de log de instalação do SQL Server.
Causa
O número de trabalhos simultâneos alcançou a configuração max_worker_thread para esse subsistema de SQLAGENT.
Resolução
importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows
A configuração max_worker_thread é armazenada no registro. Se você tiver uma instância padrão de 32 bits, essa configuração é armazenada na seguinte chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent\Subsystems
Se você tiver uma instância padrão de 64 bits, essa configuração é armazenada na seguinte chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\SQLServerAgent\Subsystems
Se você tiver uma instância nomeada de 32 bits, essa configuração é armazenada na seguinte chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<YourInstanceName>\SQLServerAgent\Subsystems\LogReader
Se você tiver uma instância nomeada de 64 bits, essa configuração é armazenada na seguinte chave:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\<YourInstanceName>\SQLServerAgent\Subsystems\LogReader
Observação Microsoft SQL Server 2005 armazena a configuração max_worker_thread na tabela syssubsystems no banco de sistema de dados msdb em vez de no registro. A tabela de syssubsystems pode ser atualizada para refletir uma configuração padrão não max_worker_thread .

A última parte cada valor da chave é um número que especifica a configuração max_work_thread para esse subsistema específico. No exemplo a seguir, o subsistema LogReader tem um máximo de 25:
LogReader:REG_SZ:C:\Mssql7\Binn\Sqlrepss.dll,C:\Mssql7\Binn\Logread.exe,ReplStart,ReplEvent,ReplStop,25
Aumentar o número permite simultâneas mais threads de trabalho em que subsistema específico.

Observação A chave de subsistema Transact-SQL não é criada por padrão. Para modificar a chave de subsistema Transact-SQL, adicione um valor de Transact-SQL com o tipo de dados REG_SZ. Na seqüência de caracteres, adicione apenas um número como 40 ou 100. Esse número representa a nova configuração max_worker_thread para o subsistema Transact-SQL. Por exemplo:
TSQL:REG_SZ:100
Situação
Esse comportamento é por design.
Mais Informações
Há sete subsistemas SQLAgent. O procedimento armazenado do sistema de sp_enum_sqlagent_subsystems mostra a configuração max_worker_thread atual para cada subsistema. A tabela a seguir mostra as configurações padrão:
SubsistemaDescriçãoSubsystem_dllAgent_exeStart_entry_pointEvent_entry_pointStop_entry_pointMax_worker_threads
ActiveScriptingSubsistema de script ativoD:\Mssql7\Binn\Sqlatxss.dllNULOActiveScriptStartActiveScriptEventActiveScriptStop10
CmdExecSubsistema de linha de comandoD:\Mssql7\Binn\Sqlcmdss.dllNULOCmdExecStartCmdEventCmdExecStop10
DistribuiçãoDistribuição de replicação subsistemaD:\Mssql7\Binn\Sqlrepss.dllD:\Mssql7\Binn\Distrib.exeReplStartReplEventReplStop100
LogReaderLeitor de log de transações de replicação subsistemaD:\Mssql7\Binn\Sqlrepss.dllD:\Mssql7\Binn\Logread.exeReplStartReplEventReplStop25
MesclarReplicação de mesclagem subsistemaD:\Mssql7\Binn\Sqlrepss.dllD:\Mssql7\Binn\Replmerg.exeReplStartReplEventReplStop100
InstantâneoInstantâneo de replicação subsistemaD:\Mssql7\Binn\Sqlrepss.dllD:\Mssql7\Binn\Snapshot.exeReplStartReplEventReplStop100
TSQLTransact-SQL subsistema[Interno][Interno][Interno][Interno][Interno]20
Após o número total de trabalhos simultâneos que estão sendo executado no subsistema atinge a configuração max_worker_thread , o trabalho adicional que inicia em que o subsistema está na fila até que um dos trabalhos em execução seja concluída. Isso pode ser um problema para o subsistema LogReader. Por padrão, o trabalho LogReader é definido para ser executado continuamente. Se mais que 25 LogReader trabalhos iniciados em padrão LogReader subsistema configuração, os trabalhos na fila podem nunca tem a chance para executar.

Como o padrão de subsistema Transact-SQL é 20, o número máximo de tarefas simultâneas de Transact-SQL é alcançado rapidamente se vários trabalhos do Transact-SQL estão definidos para executar. Adicione o valor de subsistema Transact-SQL como uma seqüência de caracteres com um valor que é maior que 20 se você notar que os trabalhos de Transact-SQL estão sendo enfileirados por esse motivo.

Uma limitação de design impõe uma segunda demora entre os trabalhos. Essa limitação foi definida para que o Agendador de trabalho não monopolizar os recursos no servidor de hospedagem. Devido a essa limitação, até 60 trabalhos pode ser iniciado no mesmo intervalo de um minuto. Se trabalhos executar e termine em menos de um minuto e são iniciados ao mesmo tempo com base em um agendamento de um minuto, alguns trabalhos podem ser executados nunca. Os trabalhos nunca podem ser executado porque trabalhos que já foram executados são retriggered cada minuto. Outros trabalhos são deixados em uma situação starvation.

importante Essas informações se aplica ao iniciar trabalhos de notícias e não impõem uma limitação em trabalhos que estão executando ao mesmo tempo.

É recomendável que você agrupar trabalhos em lotes de menor que 60 trabalhos simultâneos e estágio agenda para que haja largura de banda suficiente para o SQL Server Agent executar esses trabalhos.
Aguardando o thread de trabalho

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 306457 - Última Revisão: 12/06/2015 04:59:48 - Revisão: 7.1

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbprb KB306457 KbMtpt
Comentários