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>
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!