我有一个 SQL Server 2008 R2 实例,我一直在尝试设置数据收集。我得到了一切设置,但没有数据被上传。我已经追踪到问题的根源是它调用 dcexec 的 SQL 代理作业中的故障。
将其隔离出来,我可以通过运行重现该问题:
& "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\dcexec.exe" -c -s 1 -i "localhost\MSSQLSERVER" -m 1
我从使用RunAs Administrator打开的 PowerShell 窗口运行上述命令。我在上面运行的帐户是一个域帐户,它是服务器上的本地管理员。此外,该帐户还具有 SQL 实例的sysadmin角色。
我得到的错误是:
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.
这与我在 SQL Server 代理作业的历史记录中看到的错误相同。
请注意,如果我使用错误的实例名称执行 dcexec,例如:
& "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\dcexec.exe" -c -s 1 -i "localhost\MSSQLSERVER1" -m 1
然后,正如预期的那样,我得到了一个不同的错误:
Failed to get the SQL server instance id from the given instance name.
关于如何使用 dcexec 成功登录 SQL 实例的任何想法?
该问题已通过以下提示解决:
当我设置数据收集时,我做了以下事情:
设置
配置
要卸载 Data Collection,我使用了Remove associated data collector jobs 中的脚本。然后我按照上述设置和配置步骤进行操作,但这次在配置步骤下我只是简单地放置了 serverA而不是serverA.company.com。这似乎使一切变得不同,我现在正在收集数据。