定期在多个站点上运行MS SQL查询

我一直负责将Google Analytics(分析)数据定期推送到运行在不同服务器上的SQL Server 2005中,这些服务器来自不同的服务器上的各种网站(大约450个)。 我知道我可以用PHP运行PDO查询写入SQL Server数据库,但我不清楚第二部分,定期做。 客户希望每小时推送一些数据,其他人每天推送。

build立一个cron工作是最好的方法吗? 我是否需要将PDO片段添加到要从中推送数据的每个站点,还是可以从每个服务器上的一个位置运行多个站点的查询? cron工作和PDO是最好的方法,还是有更实际的方法?

你没有提到这些网站运行在哪个操作系统上,但是我会假设你是因为你提到了cron作业; 在这种情况下,我build议使用PERL或Python,它们完全支持运行SQL查询,并且非常容易作为shell脚本运行,从而作为cron作业。 我会避免使用PHP,因为从shell脚本运行它可能会变得更加棘手,但是这是您的呼吁:您可以比其他语言更加自信地使用PHP,而且您实际上可以使用PHP来构build其他function网页。

在Unix / Linux系统上调度时,Cron作业绝对是一个很好的select。

如果碰巧你需要在Windows中做同样的事情,我仍然会推荐相同的方法(使用计划任务来代替cron作业):尽pipeSQL Server有命令行工具来运行查询( osqlsqlcmd ),但是你为了收集和格式化你的数据,他们仍然需要在他们周围包装一些脚本。 PowerShell可以在这里帮助你(也可以直接对SQL Server进行查询),但是你可能更熟悉其他的脚本语言,并且PERL和Python都可以在Windows上使用。