默认情况下,在SQL Express 2008中访问未配置的数据库时,本地服务帐户具有哪些权限?

时间:2011-02-08 23:13:45

标签: sql-server-2008 permissions default

我在“本地系统”帐户下运行了一个SQL Express 2008 R2实例。我写了一个也在“本地系统”帐户下运行的Windows服务。 Windows服务使用以下连接字符串连接到SQL Server。

Data Source =。\ sqlexpress; Initial Catalog = mydatabase; Integrated Security = True

安装应用程序后,我使用一个简单的SQL脚本创建数据库,该脚本不设置任何权限或角色......它只是创建数据库和表。

我的Windows服务如何运行,因为“本地系统”设法访问数据库?它在SQL数据库中获得了什么权利?如何获得这些权利?

安德鲁

2 个答案:

答案 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 ,然后选择属性,您应该能够看到分配给本地系统用户的角色在“服务器角色”部分中。

enter image description here

您可以在Microsoft Server-Level Roles文档中详细了解每个角色。

希望这有帮助!