Sql-Server

Dynamics NAV 服務自動停止

  • December 13, 2017

我的任務是將 Dynamics NAV 2013 R2 移動到另一台伺服器。兩台伺服器都Server 2012 R2執行SQL Server 2012. 我已將數據庫移至新機器並執行 NAV 2012 R2 的安裝程序以完成安裝,但無法啟動 NAV。

當我進入services.msc並手動嘗試啟動時Microsoft Dynamics NAV Server [DynamicsNAV71],出現以下錯誤:

Microsoft Dynamics 導航伺服器

$$ DynamicsNAV71 $$本地電腦上的服務啟動然後停止。如果某些服務沒有被其他服務或程序使用,它們會自動停止。

我已經在事件查看器內部查看了任何詳細資訊,但找不到任何東西。

一路上的某個地方我犯了一個錯誤。希望你們能抓住它。

這就是我所做的(一步一步):

  • 在舊伺服器上備份目前 NAV 數據庫
  • 在新伺服器上恢復備份
  • 製作NT AUTHORITY\NETWORK SERVICE數據庫的dbo
  • 啟動 NAV 2012 R2 的安裝程序(在舊伺服器上執行的相同安裝程序)

我在安裝嚮導中選擇ServerChoose an installation option。然後我輸入:

  • 服務名稱:DynamicsNAV71
  • 服務帳號:網路服務
  • 向防火牆添加規則:是
  • SQL server:新伺服器的主機名
  • SQL 實例:空,因為 SQL 伺服器安裝了“預設實例”
  • SQL 數據庫:恢復的數據庫名稱

安裝程序完成且沒有任何錯誤,但該服務從未啟動。

我已經證實:

  • DynamicsNAV71與舊伺服器上的實例名稱相同
  • 埠在 Windows 防火牆中打開
  • 埠沒有被其他任何使用netstat -a
  • Network serviceLogin account在 NAV 的管理面板中設置的

關於下一步我可以嘗試什麼的任何想法?

更新:

正如建議的那樣,我檢查了它NETWORK SERVICE是否已添加到Log on as a service本地安全策略中。

NETWORK SERVICE完全控制了以下文件夾:

  • C:\ProgramData\微軟
  • C:\Program Files\Microsoft Dynamics 導航

然後我清除了整個事件查看器日誌SystemApplication嘗試再次啟動該服務,但得到了同樣的錯誤。

System事件查看器中,我得到:

Microsoft Dynamics 導航伺服器

$$ DynamicsNAV71 $$服務進入停止狀態。

為了排除故障may have additional restrictions by domain policies etc,我在我們的目錄中添加了一個全新的帳戶,並確保它具有與NETWORK SERVICE(作為服務登錄,對文件夾的完全控制)相同的權限,並編輯了 NAVs 服務以使用該帳戶。我還確保此 AD 帳戶dbo在數據庫中。

還是同樣的問題。

終於找到了解決這個問題的方法。我在伺服器上安裝了 NAV 客戶端和開發工具,試圖從開發應用程序中打開數據庫。這為我提供了以下錯誤:

此版本的 Microsoft Dynamics NAV 開發環境無法打開 NAV-SERVER-NAME 伺服器上的 DATABASENAME-HERE 數據庫。該數據庫已被較新版本轉換。您必須將 Microsoft Dynamics NAV Development Environment 升級到最新版本才能打開數據庫。

所以我檢查了我目前正在執行的開發環境的版本,並與舊伺服器進行了比較,它確實有所不同。

我從舊伺服器的桌面上獲取了 NAV 的安裝程序,認為它必須是以前的同事用來安裝 NAV 的安裝程序,但顯然不是。舊伺服器具有更新版本的 NAV,因此無法將數據庫移動到舊版本。

這真的是我自己的錯,因為我應該知道“假設是所有錯誤之母”。

在絕大多數情況下,應用程序事件日誌中總會有一條解釋性錯誤/警告消息,提供有關問題所在的線索。

如果您說應用程序事件日誌中沒有事件,您可能還需要檢查系統日誌 - 以了解作業系統啟動服務可能出現的問題。在這種情況下,可能的問題可能是:

  • 服務帳戶沒有“作為服務登錄”權限
  • 服務帳戶沒有安裝文件夾或C:\ProgramData\Microsoft\Microsoft Dynamics NAV文件夾的權限
  • 如果您在安裝過程中預設使用 NT AUTHORITY\Network Service 帳戶,則可能會受到域策略等的額外限制。

引用自:https://serverfault.com/questions/883949