1点击这里:http://dba.stackexchange.com/questions/23864/broken-ntfs-permissions-for-mssqlsqlexpress - Jon Seigel
如果每个人在开发时将他们的SQL服务器更改为使用普通用户ID,那可能是“最佳实践”。我只是想知道这是否是一个好主意。如果手动将“NT Service\MSSQLSERVER”添加到我需要添加的文件夹中是标准做法,我猜那应该是最合乎逻辑的最小修复方法,对吧?我希望SQL Server SSMS界面能更容易连接到这个隐藏的“NT Server\xxx”账户ID。 - Warren P
3个回答
5
关于“Denali”,它是SQL Server 2012的一个版本。至于“终端用户的困惑”,我并不太担心终端用户是否对SSMS感到困惑。微软开发这个工具并不是为了普通终端用户,而是为了数据库管理员或需要管理数据库的用户。因此,使用提供的工具和了解其功能会有一个学习曲线。自从SSMS在SQL Server 2005发布以来,文件对话框就一直保持这种方式。这就是为什么大多数人会继续使用T-SQL语句进行备份、恢复或附加数据库的原因。
要配置与SQL Server相关的文件系统权限,您可以按照MSDN上的说明here进行操作。
服务账户的处理方式并非由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 Agent服务:NT SERVICE\SQLSERVERAGENT
名为PAYROLL的SQL Server实例的SQL Server Agent服务:NT SERVICE\SQLAGENT$PAYROLL
- user507
2
3所谓的“最终用户”,指的是各种各样的人群,其中一些人在各个领域都非常专业和技术娴熟,但可能并不是数据库管理员。就我个人而言,我认为即使是数据库管理员也会觉得这个工具的用户界面还有待改进。强大的第三方工具市场也表明,虽然SSMS是免费的,但它完全值得付出代价。 - Warren P
12017年并没有变得更好。所以简单来说,"它将永远不会变得更好,要学会如何运作,尽管界面设计可能很糟糕。" - Warren P