我们有一个 SQL Server 2005 Analysis Server,本周末开始重新启动,似乎没有任何外部更改。
服务器目前的状态是,只要启用了SSAS服务,就会一直重启。如果该服务被手动禁用然后停止,该服务将不再循环。但是一旦启用,该服务将再次开始循环。
互联网搜索找到了一些这种行为的例子,但没有一个似乎适用的解决方案。请参见,例如:服务级别帐户 - SQL 2005 SSAS - 连接到 OLAP 时出错。另请参见,例如:我无法连接到 SSMS 中的分析服务...
Brent Ozar在 LessThanDot 上报告了一个类似的问题,但线程上没有解决方案,最后一个条目是 2009 年 3 月 27 日星期五下午 4:08。
这是 msmdsrv.log 文件的片段:
(10/6/2014 3:21:43 PM) Message: The flight recorder was started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210005)
(10/6/2014 3:21:43 PM) Message: Service started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210000)
(10/6/2014 3:22:40 PM) Message: Service stopped. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210001)
(10/6/2014 3:22:45 PM) Message: The flight recorder was started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210005)
(10/6/2014 3:22:45 PM) Message: Service started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210000)
(10/6/2014 3:23:41 PM) Message: Service stopped. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210001)
(10/6/2014 3:23:47 PM) Message: The flight recorder was started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210005)
(10/6/2014 3:23:47 PM) Message: Service started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210000)
(10/6/2014 3:24:41 PM) Message: Service stopped. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210001)
(10/6/2014 3:24:47 PM) Message: The flight recorder was started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210005)
(10/6/2014 3:24:47 PM) Message: Service started. (Source: \\?\S:\CubeLog\msmdsrv.log, Type: 1, Category: 289, Event ID: 0x41210000)
系统日志的事件查看器一遍又一遍地具有:
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a stop control."
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a start control."
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a stop control."
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a start control."
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a stop control."
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a start control."
"The SQL Server Analysis Services (MSSQLSERVER) service was successfully sent a stop control."
etc....
似乎没有创建 SQLDmprNNNN.mdmp 文件。没有我们知道的其他错误日志记录。
我们怎样才能找出问题所在?有没有一种方法可以判断是否有任何第三方服务或进程正在循环 SSAS 服务?
我们还在SQL Server Central上发布了这个问题。
我们从未发现导致服务停止的原因,但我们能够防止它发生。我们对 SQL Server(而非 SSAS)服务帐户用户的 SSAS 服务的停止权限设置了拒绝。
因此,似乎充当 SQL Server 服务帐户用户的某种东西正在为 SSAS 帐户发出停止命令。这是不久前的事了,我们已经切换了服务器,我们停止挖掘以弄清楚到底发生了什么。因此,这将成为千古之谜。