Erro no Microsoft ACT 5.6 com o Windows 7 e 2008 R2 SP1

Utilizamos para Assessment em clientes o ACT 5.6 e é uma ferramenta muito boa para gerar dados de aplicações.

Porem, em diversos casos já me deparei com maquinas no ambiente Windows 7 e Windows 2008 R2 com o Service Pack 1 instalado e o ACT não conseguir realizar os inventários.

SINTOMA

O diretório de coleta recebe os arquivos mas o ACT move todos para a pasta Unprocessed ou Failed indicando erro no tratamento.

Depois de um tempo o serviço ACT Collector cai e loga no event viewer os erros com Event ID 0 com a mensagem:

INSERT statement conflicted with the FOREIGN KEY constraint "Logical_Machine_OS_ForeignKey". The conflict occurred in database "ACT", table "dbo.OS", column 'osID'.

CAUSA

No banco de dados do ACT existe uma tabela com todos os Sistemas Operacionais e não consta o SP1 como versão válida, e este é o problema de chave estrangeira.

SOLUÇÃO

É necessário acrescentar duas linhas na tabela OS do banco de dados do ACT:

Abra o command prompt e digite SQLCMD –S <servidor/instancia>

CMD-SQL

Insira os comando, utilizando Copy-Paste:

INSERT INTO [dbo].[OS] ([osID], [osName],[majorVersion],[minorVersion],[buildNumber],[servicePackName],[servicePackMajor],[servicePackMinor],[csdVersion],[productType],[suite],[publishedDate])
VALUES (N'6.1.1',N'Windows 7 SP1',6,1,0,N'Service Pack 1',1,0,N'Service Pack 1',0,0,'2011-02-22')
GO

INSERT INTO [dbo].[OS] ([osID],[osName],[majorVersion],[minorVersion],[buildNumber],[servicePackName],[servicePackMajor],[servicePackMinor],[csdVersion],[productType],[suite],[publishedDate])
VALUES (N'6.1.1.SRV',N'Windows Server 2008 R2 SP1',6,1,0,N'Service Pack 1',1,0,N'Service Pack 1',3,0,'2011-02-22')
GO

Agora mova os arquivos que estão na pasta Failed ou Unprocessed para a raiz do diretório de coleta e os arquivos serão processados com sucesso!