我的任务是将 Dynamics NAV 2013 R2 移至另一台服务器。两台服务器都在运行Server 2012 R2
。SQL Server 2012
我已将数据库移至新计算机并运行 NAV 2012 R2 的安装程序以完成安装,但我无法启动 NAV。
当我进入services.msc
并手动尝试启动时Microsoft Dynamics NAV Server [DynamicsNAV71]
出现以下错误:
本地计算机上的 Microsoft Dynamics NAV 服务器 [DynamicsNAV71] 服务已启动,然后停止。如果其他服务或程序未使用某些服务,则它们会自动停止。
我已在事件查看器中查找所有详细信息,但未找到任何内容。
我在某个地方犯了一个错误。希望你们能发现它。
这是我所做的(一步一步):
- 在旧服务器上备份当前 NAV 数据库
- 在新服务器上恢复备份
- 成为
NT AUTHORITY\NETWORK SERVICE
数据库的 dbo - 启动 NAV 2012 R2 的安装程序(与在旧服务器上运行的安装程序相同)
我在安装向导中选择了。然后我输入Server
:Choose an installation option
- 服务名称: DynamicsNAV71
- 服务帐户:网络服务
- 添加规则到防火墙:是
- SQL 服务器:新服务器的主机名
- SQL 实例:空,因为 SQL 服务器是使用“默认实例”安装的
- SQL 数据库:已恢复数据库的名称
安装程序完成且没有任何错误,但服务从未启动。
我已经确认:
DynamicsNAV71
与旧服务器上的实例名称相同- Windows 防火墙中的端口已打开
- 端口未被其他任何使用
netstat -a
- 这
Network service
是Login account
在 NAV 的管理面板中设置的
关于我下一步可以尝试什么,有什么想法吗?
更新:
根据建议,我检查了是否NETWORK SERVICE
已将其添加到Log on as a service
本地安全策略中,确实如此。
我授予了NETWORK SERVICE
以下文件夹的完全控制权:
- 目录:\ProgramData\Microsoft
- C:\Program Files\Microsoft Dynamics 导航
然后,我清除了整个事件查看器日志System
并Application
尝试再次启动该服务,但出现同样的错误。
在System
事件查看器的部分我得到:
Microsoft Dynamics NAV 服务器 [DynamicsNAV71] 服务进入停止状态。
为了解决问题,may have additional restrictions by domain policies etc
我在我们的目录中添加了一个全新的帐户,并确保它具有相同的权限NETWORK SERVICE
(以服务身份登录,完全控制文件夹),并编辑了 NAVs 服务以使用该帐户。我还确保这个 AD 帐户在dbo
数据库中。
还是同样的问题。
答案1
在绝大多数情况下,应用程序事件日志中总会有一个解释错误/警告消息,提供出现问题的线索。
如果您说应用程序事件日志中没有事件,您可能还需要检查系统日志 - 以查找操作系统启动服务时可能出现的问题。在这种情况下,可能的问题可能是:
- 服务帐户没有“作为服务登录”权限
- 服务帐户没有安装文件夹或
C:\ProgramData\Microsoft\Microsoft Dynamics NAV
文件夹的权限 - 如果您在安装过程中默认使用 NT AUTHORITY\Network Service 帐户,则可能会受到域策略等的额外限制。
答案2
终于找到了解决方案。我在服务器上安装了 NAV 客户端和开发工具,试图从开发应用程序打开数据库。这给我带来了以下错误:
此版本的 Microsoft Dynamics NAV 开发环境无法打开 NAV-SERVER-NAME 服务器上的 DATABASENAME-HERE 数据库。该数据库已由较新版本转换。您必须将 Microsoft Dynamics NAV 开发环境升级到最新版本才能打开该数据库。
因此我检查了当前运行的开发环境的版本,并将其与旧服务器进行了比较,发现确实存在不同。
我从旧服务器的桌面上获取了 NAV 的安装程序,以为它一定是以前的同事安装 NAV 时使用的安装程序,但显然不是。旧服务器有较新版本的 NAV,因此无法将数据库移至较旧版本。
这确实是我自己的错,因为我应该知道“假设是一切失败的根源”。