Sql-Server

哪些 SQL Server/Windows 登錄需要 sysadmin 角色?

  • August 9, 2019

我正在設置一個新的 SQL Server 實例。以下哪些 SQL Server/Windows 登錄名應具有 sysadmin 角色?

  • NT AUTHORITY\SYSTEM
  • NT 服務\SQLWriter
  • NT 服務\Winmgmt
  • NT 服務\MSSQLSERVER
  • NT 服務\SQLSERVERAGENT

我不確定 NT AUTHORITY\SYSTEM。但是根據 SQL Server 文件,其他人是由 SQL Server 安裝程序添加到 sysadmin 角色中的,所以我猜它是必需的。

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-2016#DE_Prov

NT 服務帳戶

  • NT 服務\SQLWriter
  • NT 服務\Winmgmt
  • NT 服務\MSSQLSERVER NT
  • NT 服務\SQLSERVERAGENT

什麼

在與您類似的問答中,Rick Byham 的回答中Microsoft解釋了這些NT SERVICE帳戶是什麼

不,它們不能在可用的內置帳戶、本地帳戶或域帳戶列表中選擇。這是因為它們是服務,而不是帳戶。他們在 Windows 中有一個安全標識符 (SID),但 Windows 知道他們不是真正的使用者。Windows 可以對它們進行身份驗證,但它們沒有任何人都可以使用的密碼。如果你執行 lusrmgr.msc 並查看組,你會看到像 SQLServerMSSQLUser 這樣的組 $ computername $ MSSQLSERVER 和 NT SERVICE\MSSQLSERVER 是該組的成員。

它們是一種身份驗證方法,但不能被使用者使用,因為它們不是真正的登錄名。


NT SERVICE\MSSQLSERVER 和 NT SERVICE\SQLSERVERAGENT

NT SERVICE\MSSQLSERVER&的認證 細節NT SERVICE\SQLSERVERAGENT

通過刪除服務 SID 登錄或從 sysadmin 伺服器角色中刪除它們,可能會導致連接到 SQL Server 數據庫引擎的 SQL Server 的各種組件出現問題。一些問題包括:

  • >

SQL Server 代理無法啟動或連接到 SQL Server 服務

  • >

SQL Server 安裝程序遇到問題(連結已刪除)

不要刪除這些登錄名或取消系統管理員權限。


NT 服務\SQLWriter

此帳戶驗證 SQL 編寫器服務和

…必須在卷影複製服務 (VSS) 應用程序請求備份或恢復時執行…。

在同一篇文章中,關於刪除/禁用此登錄:

…使用 NT Service\SQLWriter 登錄允許 SQL Writer 程序在指定為無登錄的帳戶中以較低權限級別執行,從而限制了漏洞。如果 SQL Writer 服務被禁用,那麼任何依賴 VSS 快照的實用程序(例如 System Center Data Protection Manager 以及其他一些 3rd 方產品)都將被破壞,或者更糟的是,有備份數據庫的風險這是不一致的….

來源

理論上,如果您永遠不會使用 VSS,您可以刪除登錄。我認為你不應該刪除它。


NT 服務\winmgmt

WMI 必須能夠連接到數據庫引擎,但理論上可以受到更多限制。

Windows Management Instrumentation (WMI) 必須能夠連接到數據庫引擎。為了支持這一點,Windows WMI 提供程序 (NT SERVICE\winmgmt) 的每個服務 SID 在數據庫引擎中提供 SQL WMI 提供程序需要以下權限:

  • >

msdb 數據庫中 db_ddladmin 或 db_owner 固定數據庫角色的成員身份。

  • >

伺服器中的 CREATE DDL EVENT NOTIFICATION 權限。

  • >

數據庫引擎中的 CREATE TRACE EVENT NOTIFICATION 權限。

  • >

VIEW ANY DATABASE 伺服器級權限。

  • >

SQL Server 安裝程序創建一個 SQL WMI 命名空間並向

SQL Server 代理服務 SID 授予讀取權限。

來源

您可以通過撤銷 sysadmin 並授予上述權限來進一步限制這些權限。


NT 當局帳戶

  • >

NT AUTHORITY\SYSTEM

此 AUTHORITY\SYSTEM 也是與 LocalSystem 相關的 SID。

…它(LocalSystem)在本地電腦上擁有廣泛的權限,並充當網路上的電腦。它的令牌包括 NT AUTHORITY\SYSTEM 和 BUILTIN\Administrators SID;這些帳戶可以訪問大多數係統對象…

來源

在microsoft 關於此 SID的較早文章中。

NT AUTHORITY\SYSTEM 帳戶也被授予 SQL Server 登錄名。NT AUTHORITY\SYSTEM 帳戶是在 SYSADMIN 固定伺服器角色中設置的。不要刪除此帳戶或將其從 SYSADMIN 固定伺服器角色中刪除。Microsoft Update 和 Microsoft SMS 使用 NTAUTHORITY\SYSTEM 帳戶將服務包和修補程序應用於 SQL Server 2005 安裝。SQL 編寫器服務也使用 NTAUTHORITY\SYSTEM 帳戶。

告訴您不要刪除此NT AUTHORITY\SYSTEM“帳戶”

引用自:https://dba.stackexchange.com/questions/244918