War*_* P 10 security sql-server
我有一个 SQL Server 2012 实例作为服务在我的计算机上运行,根据服务页面,它以帐户“NT Service\MSSQLSERVER”登录。但是,我无法在计算机管理屏幕的“本地用户和组”区域中的其他任何地方看到该帐户名称,因为如下面的链接所述,这不是用户帐户,而是服务名称,在该框中微软非常有帮助地标记了“帐户”。在这一点上,我可以看到很多人感到困惑。
我试图完成的任务是使用 SSMS 对话框“定位备份文件”恢复文件,该对话框使用的对话框与任何标准的 Windows 文件打开对话框完全不同,可能是因为它正在执行“远程”工作并从SQL 服务器的安全上下文,这是最终用户困惑的另一个丰富来源,我希望这个问题可以帮助澄清。
到目前为止,如果我想恢复我的一个文件夹中的备份 .mdf/.bak 文件,我必须将该文件夹设置为每个人都可以读取,否则我无法使用 SQL Server“定位备份文件”窗口。我发现这样一个想法,即您正在使用 GUI 与具有与您不同的用户帐户和权限的服务进行对话,Microsoft 甚至没有人愿意向您说明这一点,即使我有多年的 Windows 系统管理经验,也非常令人困惑.
我希望我错过了一些 SQL Server 文档页面,这些页面会告诉您,在安装新的 SQL Server 实例后,您可以如何设置安全性。
像这样的论坛帖子甚至让微软工作人员说“这很复杂”,并且在 Denali 中“再次改变了”。这在 SQL Server 2012 中现在如何工作,以及如何将读取属于用户的文件的权限添加到 SQL 数据库引擎的安全性SID
。
小智 5
作为参考,“Denali”是 SQL Server 2012。关于“最终用户混淆”,我并不关心最终用户是否对 SSMS 感到困惑。Microsoft 没有为普通最终用户开发此工具,而是为数据库管理员和/或必须管理数据库的用户开发此工具。因此,所提供的工具及其工作方式将有一个学习曲线。自从 SSMS 随 SQL Server 2005 一起出现以来,文件对话框在 SSMS 中一直是这样。这就是为什么您通常会看到大多数坚持使用 T-SQL 语句来备份、恢复或附加从那时起一直在使用它的数据库的原因.
要使用 SQL Server 配置文件系统权限,您可以按照 MSDN此处的说明进行操作。
处理服务帐户的方式不是 SQL Server 附带的,也不是因为 SQL Server,而是由于操作系统级别的更改。Window Server 2008 R2 在服务帐户周围放置了更多的安全层。您拥有的优势是,即使使用默认设置安装,服务帐户也可以更轻松地访问域上的资源。此链接非常详细地介绍了如何使用 SQL Server 2012 处理服务帐户权限。下面是 SQL Server 2012 中默认使用的虚拟帐户的链接摘录。文章中还提供了一个链接,可以了解更多信息关于 Windows 服务帐户概念的讨论,请点击此处. 它来自 Window Server 2008 R2,但我相信在 Window Server 2012 上仍然适用,并且可能适用于 Window Server 2012 R2。
虚拟账户
Windows Server 2008 R2 和 Windows 7 中的虚拟帐户是受管理的本地帐户,提供以下功能以简化服务管理。虚拟账户是自动管理的,虚拟账户可以在域环境中访问网络。如果在 Windows Server 2008 R2 或 Windows 7 上的 SQL Server 安装过程中为服务帐户使用默认值,则使用使用实例名称作为服务名称的虚拟帐户,格式为 NT SERVICE\。作为虚拟帐户运行的服务使用 \$ 格式的计算机帐户凭据访问网络资源。指定虚拟帐户以启动 SQL Server 时,请将密码留空。如果虚拟帐户无法注册服务主体名称 (SPN),请手动注册 SPN。有关手动注册 SPN 的详细信息,请参阅为 Kerberos 连接注册服务主体名称。注意 注意 虚拟帐户不能用于 SQL Server 故障转移群集实例,因为虚拟帐户在群集的每个节点上不会具有相同的 SID。
下表列出了虚拟帐户名称的示例。
数据库引擎服务的默认实例:NT SERVICE\MSSQLSERVER 名为 PAYROLL 的数据库引擎服务的命名实例:NT SERVICE\MSSQL$PAYROLL SQL Server 默认实例上的 SQL Server 代理服务:NT SERVICE\SQLSERVERAGENT 上的 SQL Server 代理服务名为 PAYROLL 的 SQL Server 实例:NT SERVICE\SQLAGENT$PAYROLL