我在“本地系统”帐户下运行了一个SQL Express 2008 R2实例。我写了一个也在“本地系统”帐户下运行的Windows服务。 Windows服务使用以下连接字符串连接到SQL Server。
Data Source =。\ sqlexpress; Initial Catalog = mydatabase; Integrated Security = True
安装应用程序后,我使用一个简单的SQL脚本创建数据库,该脚本不设置任何权限或角色......它只是创建数据库和表。
我的Windows服务如何运行,因为“本地系统”设法访问数据库?它在SQL数据库中获得了什么权利?如何获得这些权利?
安德鲁
答案 0 :(得分:2)
如果将SSMS中左侧的树(对象资源管理器)展开到安全性,然后再登录,则会看到“NT AUTHORITY \ SYSTEM”。默认情况下,在安装SQL Server 2008 R2 Express后进行配置,此帐户将添加到 sysadmin
角色。
仅供参考 - 运行为Local System
+集成安全的服务意味着它正在使用SQL Server作为Windows帐户NT AUTHORITY\SYSTEM
进行身份验证。
http://msdn.microsoft.com/en-us/library/ms188659.aspx
<强>系统管理员强> sysadmin固定服务器角色的成员可以在服务器中执行任何活动。
答案 1 :(得分:0)
授予本地系统帐户的部分权利由其分配的角色决定。
如果您通过Microsoft SQL Server Management Studio登录,请展开安全性文件夹,右键单击 NT AUTHORITY \ SYSTEM ,然后选择属性,您应该能够看到分配给本地系统用户的角色在“服务器角色”部分中。
您可以在Microsoft Server-Level Roles文档中详细了解每个角色。
希望这有帮助!