Eu tenho uma instância do SQL Server 2008 R2 na qual estou tentando configurar a coleta de dados. Eu tenho tudo configurado, mas não há dados que sejam carregados. Rastreei a raiz do problema como uma falha nos trabalhos do SQL Agent onde ele chama dcexec.
Isolando isso, posso reproduzir o problema executando:
& "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\dcexec.exe" -c -s 1 -i "localhost\MSSQLSERVER" -m 1
Eu executo o comando acima em uma janela do PowerShell que abri com RunAs Administrator . A conta com a qual estou executando o acima é uma conta de domínio que é um administrador local no servidor. Além disso, a conta também possui a função sysadmin na instância SQL.
O erro que recebo é:
SSIS error. Component name: GenerateTSQLPackageTask, Code: -1073548540,
Subcomponent: Generate T-SQL Package Task,
Description: An error occurred with the following error message:
"An error occurred while verifying the result set schema against the output table schema.
The data collector cannot connect to the management data warehouse. : Login failed.
The login is from an untrusted domain and cannot be used with Windows authentication."..
The master package exited with error, previous error messages should explain the cause.
Esse é o mesmo erro que vejo no histórico do trabalho do SQL Server Agent.
Observe que, se eu executar dcexec com um nome de instância inválido, como:
& "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\dcexec.exe" -c -s 1 -i "localhost\MSSQLSERVER1" -m 1
Então, como esperado, recebo um erro diferente:
Failed to get the SQL server instance id from the given instance name.
Alguma idéia de como fazer login com sucesso na instância do SQL com dcexec?
O problema foi resolvido com algumas dicas de:
Quando configurei a coleta de dados, fiz o seguinte:
Configurar
Configuração
Para desinstalar a Coleta de dados, usei o script de Remover tarefas do coletor de dados associadas . Em seguida, segui as etapas de instalação e configuração acima, mas desta vez, na etapa de configuração, simplesmente coloquei serverA em vez de serverA.company.com . Isso parece ter feito toda a diferença e agora estou coletando dados.