O trabalho syspolicy_purge_history do SQL Server Agent pode falhar no SQL Server 2008

Traduções deste artigo Traduções deste artigo
ID do artigo: 955726 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

No Microsoft SQL Server 2008, o trabalho syspolicy_purge_history do SQL Server Agent pode falhar quando você executa o trabalho syspolicy_purge_history em uma instância em cluster. Você receberá uma mensagem de erro semelhante à seguinte no arquivo de log de histórico para o trabalho syspolicy_purge_history :
Data datetime
Log de histórico do trabalho (syspolicy_purge_history)

ID da etapa 3
Servidor SQLVirtualName \ instancename
Nome do trabalho syspolicy_purge_history
Etapa nome apagar integridade de sistema fantasma registros.
Duração 00: 00: 33
Gravidade SQL 0
ID da mensagem SQL 0
Operador enviado por email
Operador de rede enviado
Operador paginado
Tentativas tentativa 0

Mensagem
Executado como usuário: user. O script de trabalho encontrou os seguintes erros. Esses erros não parou o script: uma etapa de trabalho recebeu um erro na linha 1 em um script do PowerShell. A linha correspondente é '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '.

Corrija o script e reagendar o trabalho. As informações de erro retornadas pelo PowerShell são: ' Erro de provedor do SQL Server PowerShell: não foi possível conectar-se ao ' SQLVirtualName \ instancename '. [Não pôde se conectar ao servidor SQLVirtualName \ instancename.--> um erro ocorreu ao estabelecer uma conexão com o servidor.

Ao conectar-se para o SQL Server 2005, essa falha pode ser causada pelo fato de que nas configurações padrão do SQL Server não permite conexões remotas. (Provider: Named Pipes Provider, Error: 40-Could Not Open a Connection to SQL Server)] Falha ao conectar ao servidor SQLVirtualName \ instancename. Ocorreu um erro ao estabelecer uma conexão com o servidor. Ao conectar-se para o SQL Server 2005, essa falha pode ser causada pelo fato de que nas configurações padrão do SQL Server não permite conexões remotas. (provedor: nome do provedor de pipes, erro: 40 - não foi possível abrir uma conexão ao SQL Server) '

Uma etapa de trabalho recebeu um erro na linha 1 em um script do PowerShell. A linha correspondente é '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '. Corrija o script e reagendar o trabalho. As informações de erro retornadas pelo PowerShell são: 'Não é possível encontrar caminho' SQLSERVER:\SQLPolicy\ SQLVirtualName \ instancename ' porque ele não existe. ' Uma etapa de trabalho recebeu um erro na linha 1 em um script do PowerShell. A linha correspondente é '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '. Corrija o script e reagendar o trabalho. As informações de erro retornadas pelo PowerShell são: ' É não é possível chamar um método em uma expressão com valor nulo. '. Código de saída de processo-1. A etapa falhou.

Causa

Esse problema pode ocorrer se o trabalho syspolicy_purge_history usa o nome de nó do computador em vez do nome do servidor virtual para a instância de cluster.

Resolução

Para resolver esse problema, use um dos seguintes métodos.

Método 1: Editar o trabalho syspolicy_purge_history

Edite a etapa 3 do trabalho syspolicy_purge_history . Para fazer isso, execute as seguintes etapas:
  1. Inicie o SQL Server Management Studio.
  2. Expanda SQL Server Agent e, em seguida, expanda trabalhos .
  3. Clique com o botão direito do mouse syspolicy_purge_history e, em seguida, clique em Propriedades .
  4. Clique em etapas .
  5. Clique em Apagar fantasma sistema integridade registros e, em seguida, clique em Editar .
  6. Na caixa comando , substitua o nome de nó do computador usando o nome do servidor virtual para a instância de cluster.
  7. Clique em OK e, em seguida, clique em Fechar .

Método 2: Recriar o trabalho syspolicy_purge_history

Para recriar o trabalho 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ções

Na instalação do SQL Server 2008, o script de configuração consulta o mecanismo de banco de dados para o nome do computador. Quando o script de configuração consulta o nome do computador, o mecanismo de banco de dados não está ciente do cluster. Portanto, o mecanismo de banco de dados retorna o nome do computador em vez do nome do cluster.

Propriedades

ID do artigo: 955726 - Última revisão: quinta-feira, 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 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: 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