修復“找不到 NT AUTHORITY/LOCAL SERVICE”錯誤

錯誤是“找不到 NT AUTHORITY/LOCAL SERVICESQL Server 資料錯誤通常發生在 Visual Studio 中,或在 Windows Server 版本中執行某些任務時。部分使用者在安裝新的伺服器應用程式後或編譯過程中會遇到此問題。 Visual Studio 應用程式其他人在使用安裝程式安裝服務時也會遇到這個問題。 先進的.

找不到 NT AUTHORITY/LOCAL SERVICE

導致 NT AUTHORITYNETWORK SERVICE 錯誤的原因有很多,具體原因取決於您的使用情況。

大多數情況下,您的網路管理員可能會因為各種原因刪除了指定的 Windows 登入帳戶。因此,您將無法授予 SQL Server 登入帳戶存取權限。

出現此錯誤的另一個原因是,您嘗試在 SQL Server 中新增與現有登入名稱具有相同安全性 ID (SID) 的新登入名稱。在這種情況下,您也會看到錯誤代碼 15401。

但是,當登入名稱與 SQL 伺服器位於不同的網域中,或您使用的名稱特定解析機制(WINS、DNS、HOSTS 或 LMHOSTS)配置不正確時,也已證實會出現「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤。

以下列出了一系列其他受影響用戶成功用於解決此問題的有效解決方案。

1. 檢查 NT AUTHORITYLOCAL SERVICE 是否存在以及是否具有必要的權限。

在深入探討更專業的技術解決方案之前,首先需要確保帳戶已正確設定。 北領地當局地方服務 它已經存在於您嘗試使用的系統中。

如果您已確定帳戶存在,請花時間確保您擁有足夠的權限在 SQL Server 層級建立必要的登入名稱和關聯使用者。

根據 Windows Server 版本的不同,此過程可能會略有不同,但整體步驟在每個 Windows Server 版本中都是相同的。

你需要這樣做:

  1. 打開 Windows Server Essentials 控制台。
  2. 轉到主導航列並點擊 用戶。
    存取“用戶”選項卡
  3. 瀏覽目前使用者列表,看看能否找到名為“ NT AUTHORITYLOCAL SERVICE。
    備註: 如果與輸入關聯的 北領地當局地方服務 如果找不到,請點擊超連結。 新增使用者帳戶 打開 使用者帳戶新增精靈。 然後,按照說明為 NT AUTHORITYLOCAL SERVICE 建立用戶,並確保命名約定正確。
  4. 確認帳戶存在後,我們來確保它擁有必要的權限。為此,請點擊“帳戶”。 北領地當局地方服務 之內 用戶們, 然後繼續進行到下一部分 使命 然後點擊 特性。
  5. 接下來,轉到選項卡 一般的, 然後選項卡 共享資料夾 然後選項卡 隨時隨地訪問 根據您的使用場景,啟用此帳戶所需的所有權限。 啟用所需的帳號權限
  6. 儲存變更並重複之前導致「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤的操作步驟,現在該錯誤應該已經修復。

如果您已確認建立使用者帳戶 北領地當局地方服務 並且確認他擁有必要的權限後,再進行下面的下一個方法。

2. 建立 SQL Server 登入名稱(如果適用)

如果在使用 Visual Studio 專案中的 SQL Server 資料層應用程式時遇到此錯誤,則很可能是在建立新增腳本之後發生的。 北領地當局地方服務 新增到伺服器級別物件下的登入清單。

如果您使用下列腳本在資料庫層級物件中建立和新增登入名,則此方法適用:

CREATE LOGIN [NT AUTHORITYLOCAL SERVICE] FROM WINDOWS WITH DEFAULT_LANGUAGE=[us_english] CREATE USER [NT AUTHORITYLOCAL SERVICE] FOR LOGIN [NT AUTHORITYLOCAL SERVICE]ITYLOCAL SERVICE]

在這種情況下,您在嘗試編譯專案時很可能會遇到錯誤訊息。 “由於NT AUTHORITYLOCAL SERVICE不存在或未獲得授權,因此無法找到該服務。”.

如果這種情況適用於您,您無法建立 [NT AUTHORITYLOCAL SERVICE] 登入名稱的原因是: 北領地當局地方服務 在這種情況下,它只是一個內建的 Windows 服務帳戶。 SQL Server 中的每個服務必須在安裝過程中指定帳戶才能啟動和執行。

SQL Server 啟動帳戶可以是內建系統帳戶、本機使用者帳戶或網域使用者帳戶。本機服務帳戶是一種內建帳戶,它擁有與群組成員相同的資源和物件存取權限。 用戶這種限制性存取旨在保護系統,以防某些服務或進程受到損害。

以本機服務帳戶形式運行的服務 空白會話用於存取網路資源。.

重要的請注意,SQL Server 或 SQL Server 代理程式服務不支援本機服務帳戶。完整的帳戶名稱為“NT AUTHORITY/LOCAL SERVICE”。

要解決這個問題,你需要建立一個使用 Transact-SQL 進行 Windows 驗證的 SQL Server 登入。

為此,首先在 Windows 中建立一個用戶,然後使用查詢編輯器開啟以下 Transact-SQL 命令,並確保登入名稱與 Windows 使用者名稱相同:

建立登入從 Windows 系統;前往

備註: 請記住這一點這只是一個佔位符。請將其替換為實際的Windows使用者名稱。

3. 為 SQL 新增正確的權限(如果適用)

遇到此問題的另一個原因可能是您沒有在 SQL 中為 NT AUTHORITY/LOCAL SERVICE 添加正確的權限,而只授予了資料夾控制權。

若要解決此問題,您需要開啟 SQL Server Management Studio(企業管理器),並瀏覽您嘗試連線的 SQL 執行個體。然後,您需要導航至… 安全 > 登入 使用 Windows 驗證方法建立新登入名 NT 當局/地方服務。

以下是操作方法的簡要指南:

  1. 開啟起始頁並輸入“安全管理系統“。
  2. 從結果清單中選擇 Microsoft SQL Server 管理工作室. 開啟 SQL 管理工作室
  3. 進入 Microsoft SQL Server Management Studio 工具後,導覽至導致錯誤的特定 SQL 執行個體。
  4. 成功存取指定的 SQL 實例後,瀏覽至該實例。 安全性 > 登入(已篩選). 存取登入資料夾
  5. 右鍵單擊主項目,然後按一下 Windows 驗證.
  6. 接下來,寫 'NT AUTHORITY/本地服務' 請確認您已建立正確的 SQL 權限。
  7. 如果您尚未為這個新帳戶添加相應的權限,請確保已新增。
    備註: 請參閱 方法一 獲取具體步驟。
  8. 重複之前導致問題的操作步驟,並檢查問題是否已解決。

4. 重建 SQL Server 資料庫(如果可能)

如果您已經嘗試將 SQL Server 服務中的「登入身分」使用者變更為 NT AUTHORITY/LOCAL SERVICE 但問題仍然存在,您或許可以透過以下方法解決此問題: 下載安裝程序 在重建 SQL 資料庫並再次複製檔案之前,提取十六進位名稱。

以下是操作方法的簡要指南:

  1. 運行下載的安裝程序,讓它將檔案解壓縮到預設位置。
    備註: 提取的檔案將以長十六進位名稱發佈到作業系統磁碟機的根目錄(很可能是 C:/)。
  2. 提取完成後,請務必將所有檔案複製到另一個資料夾,以防止下一步操作刪除其內容。
  3. 關閉安裝程序。
    備註: 完成上述操作後,您在步驟 2 中建立的十六進位資料夾的內容將被刪除。
  4. 點擊 Windows鍵+ R 打開對話框 運行.
  5. 接下來,寫 'cmd' 並按下 Ctrl + Shift + Enter ـ 以管理員權限開啟命令提示字元。 獻給您的僕人。 以管理員權限開啟命令提示字元視窗。
  6. 當 . 出現時 使用者帳戶控制(UAC) 輕按 نعم 授予管理員權限。
  7. CD 導航至您儲存先前提取文件的位置(在步驟 3 中)。例如:
    CD C:23420247290247292740

    備註: 這只是一個範例程式碼片段。請修改上面的命令,使其跳到您儲存檔案的實際位置(在步驟 3 中)。

  8. 到達正確位置後,執行以下命令重新建立和重建資料庫:
    setup /action=RebuildDatabase /InstanceName=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
  9. 以管理員權限關閉命令提示字元 (CMD),然後重複導致「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤的操作,看看問題是否已解決。

5. 配置 MachineGUID 並重新啟動 SQL 服務

如果您在嘗試啟動 SQL Server 時遇到此錯誤,而該問題是在將內建登入從本機服務變更為本機系統後開始出現的,則該問題很可能是由 MachineGUID 登錄機碼不再指向正確的路徑所造成的。

其他遇到類似情況的用戶證實,他們透過在修改路徑並重新啟動 SQL 服務之前創建導致問題的金鑰的備份來解決該問題。

以下是操作方法的簡要指南:

  1. 按 . 鍵 的Windows + R 打開對話框 就業.
  2. 接下來,寫 ‘註冊表’ 並按下 Ctrl + Shift + Enter 打開 註冊表編輯器 具有管理員權限。 開啟登錄編輯器
  3. 當視窗出現時 用戶帳戶控制 (UAC), 輕按 نعم 授予管理員權限。
  4. 進入 註冊表編輯器使用左側導覽列導覽至以下位置:
    HKLMSOFTWAREMicrosoftCryptographyMachineGuid
  5. 找到正確位置後,確定導致問題的密鑰。它應該包含受影響設備的 GUID,並用花括號括起來(例如: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
  6. 正確識別出受影響的設備後,我們需要建立備份。為此,請確保已選擇設備密鑰,然後使用頂部的文件列導航至… 一份文件 然後點擊 出口. 匯出文件
  7. 指定檔案位置,使用易於識別的檔案名,並確保檔案已設定。 保存種類 إ 註冊表檔案(*.reg).
  8. 最後,在點擊之前 孑孓請務必設定 出口範圍 إ 分支 並且指定了正確的分支。 匯出特定分支
  9. 輕按 孑孓 完成備份過程。
  10. 備份完成後,重新命名導致問題的鍵並刪除括號。
    備註: 該值必須改變 機器指南 من {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} إ xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  11. 變更完成後,關閉登錄編輯器,重新啟動,然後啟動 SQL 服務。 重要的: 如果服務沒有立即啟動,請先解除安裝並重新安裝 SQL Server,然後再重新啟動。如果出現其他錯誤,請還原您在步驟 8 中建立的原始備份,然後繼續執行下面的下一個方法。

6. 修改用戶分配

如果在使用 asp.net 從 SQL Server 取得資料時遇到「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤,一種快速解決本機問題的方法是將使用者對應修改為其正確的值。

備註: 如果您正在使用 SQL Server Management Studio 的本機資料庫,並且嘗試使用 asp.net 應用程式向其中輸入數據,則此修復方法有效。

如果您已徹底檢查輸入且所有程式碼正確,但仍收到錯誤,請依照下列說明使用 SQL Server Management Studio 存取「登入名稱」頁面,並從「屬性」畫面修改目前指派的使用者對應。

以下是操作步驟的簡要指南:

  1. 按下鍵盤上的開始鍵,然後輸入“安全管理系統在起始頁。
  2. 從結果清單中選擇 Microsoft SQL Server 管理工作室。 開啟 SQL Server Management Studio
  3. 接下來,登入導致「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤的伺服器。
  4. 安全然後進入子部分 登入.
  5. 從選項選單中,右鍵單擊 NT 權威網路服務 أ或者 北領地當局地方服務 (根據您的使用場景)並點擊 特性 從上下文菜單。 存取本機服務的屬性螢幕
  6. 進入螢幕後 登入屬性, 選擇 使用者映射 從螢幕左上角開始。
  7. 右側會顯示一個列表 資料庫角色請確保已選取複選框。 資料庫擁有者,然後輕點 好的.
  8. 重新運行之前導致問題的程式碼,並檢查問題是否已解決。

7. 授予系統管理員角色權限(如適用)

如果在嘗試存取本機建立的應用程式的資料庫時遇到此錯誤,則首先應該檢查目前配置是否允許 NT AUTHORITY/LOCAL SERVICE 在其中執行。 系統管理員的角色。

您可以透過開啟來完成此操作。 Microsoft SQL Server 管理工作室 修改 NT AUTHORITY/LOCAL 服務屬性以啟用 sysadmin 角色。

以下是操作方法的簡要指南:

  1. 按 . 鍵 開始 在鍵盤上,然後輸入“安全管理系統在起始頁。
  2. 從結果清單中選擇 Microsoft SQL Server 管理工作室。 Open SQL Management Studio
  3. 之後,前往 安全 並展開列表 登入.
  4. 右鍵單擊 NT AUTHORITY/本地系統 然後點擊 ئصائص 從上下文菜單。
  5. 在屬性畫面中,點選 僕人角色 來自左側邊欄。
  6. 轉到右側,確保與以下方框關聯的方框已選取: 系統管理員. 伺服器角色修改
  7. 儲存更改,然後重新啟動設備並檢查問題是否已解決。

如果由於任何原因無法存取 Microsoft SQL Server Management Studio,您也可以使用管理員權限從命令提示字元套用此修復程式(如果您的存取權限允許)。

這是如何做到的:

  1. 按 . 鍵 的Windows + R 打開對話框 就業.
    接下來,寫 'cmd' 並按下 Ctrl + Shift + Enter 打開 註冊表編輯器 具有管理員權限。 開啟 CMD 提示符
  2. 當索賠出現時 用戶帳戶控制 (UAC), 點擊 نعم 授予管理員權限。
  3. 在以管理員權限執行的命令提示字元中,鍵入以下命令(並修改佔位符)以存取導致問題的特定伺服器:
    sqlcmd -S (*伺服器名稱*)

    備註: 請務必編輯 伺服器名稱 以您具體情況下的實際伺服器名稱為準。

  4. 接下來,輸入以下命令並按下回車鍵。 進入 若要存取您電腦上的 SQL 伺服器:
    從 sys.server_principals 中選擇 name,其中 name = 'NT AUTHORITYSYSTEM'
  5. 接下來,輸入以下命令來檢索結果並將其用於… 排序程序 權利將在哪裡增加 系統最小值 對她而言:
    SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
  6. 成功處理完這兩個問題後,關閉提升權限的命令提示字元 (CMD),然後重複導致「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤的步驟。

8. 將伺服器語言變更為英文(如果適用)

如果您在使用過程中遇到「找不到 NT AUTHORITY/LOCAL SERVICE」錯誤,請嘗試以下方法。 進階安裝程式 呼叫 NT AUTHORITYLOCAL SERVICE 時發生錯誤,可能是由於影響國外伺服器的故障引起的症狀。

當一些進階安裝程式使用者嘗試透過「服務」畫面手動執行 XUA Automation Server 服務,或嘗試僅透過輸入使用者名稱(不含 NT Authority)手動執行該服務時,就會發生此問題。

備註: 出現此問題的原因是 SCM 不支援本機翻譯的名稱,即使安全子系統會進行翻譯。雖然您在外部伺服器上會收到帳戶的本機翻譯名稱,但該帳戶必須是 NT AUTHORITY本地服務 使用諸如此類的功能時 創建服務 أ或者 更改服務配置。

如果這種情況適用,目前唯一的解決方案是使用英文版的命名規則。

因此,請勿使用本地伺服器語言的命令(例如 AUTORITE NTSERVICE LOCAL),而應使用英文等效命令(NT AUTHORITYLocalService)。

評論被關閉。