A tarefa de SQL Server Agent syspolicy_purge_history poderá falhar no SQL Server 2008

Traduções de Artigos Traduções de Artigos
Artigo: 955726 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

No SQL Server 2008, a tarefa de SQL Server Agent syspolicy_purge_history poderá falhar quando executa o processo syspolicy_purge_history numa instância de cluster. Poderá receber uma mensagem de erro semelhante à seguinte no ficheiro de registo histórico para a tarefa syspolicy_purge_history :
Data datetime
Iniciar registo de tarefa (syspolicy_purge_history)

ID de passo 3
Servidor SQLVirtualName \ instancename
Nome da tarefa syspolicy_purge_history
Passo nome apagar fantasma System Health registos.
Duração 00: 00: 33
Gravidade SQL 0
ID da mensagem SQL 0
Operador Emailed
Operador de rede enviado
Operador do bloco paginado
Tentativas tentativa 0

Mensagem
Executar como utilizador: user. O script de trabalho encontrou os seguintes erros. Estes erros não parar o script: um passo de tarefa recebeu um erro na linha 1 num script PowerShell. A linha correspondente é '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '.

Corrija o script e reagendar o trabalho. As informações de erro devolvidas pelo PowerShell são: ' Erro de fornecedor do SQL Server PowerShell: não foi possível ligar ' SQLVirtualName \ instancename '. [Falha ao ligar ao servidor SQLVirtualName \ instancename.--> um erro ocorreu ao estabelecer uma ligação ao servidor.

Para ligar ao SQL Server 2005, esta falha pode ser causada pelo facto de que nas predefinições do SQL Server não permite ligações remotas. (Provider: Named Pipes Provider, Error: 40-Could not Open a Connection to SQL Server)] Falha ao ligar ao servidor SQLVirtualName \ instancename. Ocorreu um erro ao estabelecer uma ligação ao servidor. Para ligar ao SQL Server 2005, esta falha pode ser causada pelo facto de que nas predefinições do SQL Server não permite ligações remotas. (fornecedor: fornecedor de encaminhamentos (pipes), erro com o nome: 40 - não foi possível abrir uma ligação ao SQL Server) '

Um passo de tarefa recebeu um erro na linha 1 num script PowerShell. A linha correspondente é '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '. Corrija o script e reagendar o trabalho. As informações de erro devolvidas pelo PowerShell são: 'Não é possível localizar o caminho' SQLSERVER:\SQLPolicy\ SQLVirtualName \ instancename ' porque não existe. ' Um passo de tarefa recebeu um erro na linha 1 num script PowerShell. A linha correspondente é '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '. Corrija o script e reagendar o trabalho. As informações de erro devolvidas pelo PowerShell são: ' não é possível chamar um método numa expressão valor nulo. '. Código de saída processo-1. O passo falhou.

Causa

Este problema poderá ocorrer se a tarefa syspolicy_purge_history utiliza o nome do nó de computador em vez do nome de servidor virtual para a instância de cluster.

Resolução

Para resolver este problema, utilize um dos seguintes métodos.

Método 1: Editar a tarefa syspolicy_purge_history

Edite o passo 3 da tarefa syspolicy_purge_history . Para o fazer, siga estes passos:
  1. Inicie o SQL Server Management Studio.
  2. Expanda SQL Server Agent e expanda tarefas .
  3. Clique com o botão direito do rato syspolicy_purge_history e, em seguida, clique em Propriedades .
  4. Faça clique sobre os passos .
  5. Clique em Eliminar registos de estado de funcionamento de sistema fantasma e, em seguida, clique em Editar .
  6. Na caixa comando , substitua o nome do nó de computador utilizando o nome da instância de cluster do servidor virtual.
  7. Clique em OK e, em seguida, clique em Fechar .

Método 2: Recriar a tarefa syspolicy_purge_history

Para recriar a tarefa syspolicy_purge_history , execute a seguinte instrução Transact-SQL.
DECLARE @jobId uniqueidentifier

-- Obtain the current job identifier that is associated with the PurgeHistory
SELECT @jobId = CAST(current_value AS uniqueidentifier)
FROM msdb.dbo.syspolicy_configuration_internal
WHERE name = N'PurgeHistoryJobGuid'

-- Delete the job identifier association in the syspolicy configuration

DELETE FROM msdb.dbo.syspolicy_configuration_internal
WHERE name = N'PurgeHistoryJobGuid'

-- Delete the offending job
EXEC msdb.dbo.sp_delete_job @job_id = @jobId

-- Re-create the job and its association in the syspolicy configuration table
EXEC msdb.dbo.sp_syspolicy_create_purge_job

Mais Informação

Configuração do SQL Server 2008, o script do programa de configuração consulta o motor de base de dados para o nome do computador. Quando o script do programa de configuração consulta o nome do computador, o motor de base de dados não tem conhecimento de cluster. Como tal, o motor de base de dados devolve o nome de computador em vez do nome do cluster.

Propriedades

Artigo: 955726 - Última revisão: 19 de março de 2009 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
Palavras-chave: 
kbmt sql2008relnotetools sql2008relnote kberrmsg kbtshoot kbprb KB955726 KbMtpt
Tradução automática
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 955726

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com