我在 Windows 2008 数据库服务器上的管理员组中。
我的用户名出现在 SQL Server Management Studio 的“安全”->“登录”部分,在“属性”->“服务器角色”下,我看到我只有“公共”角色。在“用户映射”下,我是“db_datareader”和“公共”角色的成员。
我需要将自己添加到“db_datawriter”角色。当我尝试时,我收到错误 15247 - 用户无权执行此操作。
我能做些什么来赋予自己这个角色?作为 Windows 管理员,我认为这是可能的……
提前感谢你帮助一位非常不深入的开发人员:)
答案1
在 SQL Server 2008 中,Windows 管理员不再默认为 SQL Server 管理员。您必须请求其他人更改您的权限。
http://msdn.microsoft.com/en-us/library/cc280562(v=SQL.100).aspx
答案2
即使您不是 SQL Server 上的系统管理员,但属于管理员组的一部分,您也可以添加自己。
- 单一模式启动SQL:在SQL配置管理器-->选择SQL Server服务-->-->进入高级-->进入启动参数-->在“启动参数”选项中的列表末尾添加“;-m”。
- 启动命令提示符并使用 Windows 身份验证通过 sqlcmd 连接到 SQL。
sqlcmd -S 服务器名称 -E
- 输入:
EXEC sp_addsrvrolemember'域\您的名称','sysadmin';
去
答案3
我尝试使用上述方法对 SQLExpress 进行操作,但无济于事。无论出于何种原因,添加-m
标记到启动参数导致 SQLExpress 启动失败。所以我做了一些搜索,发现了这个博客文章这似乎让 SQLExpress 进入了单用户模式,然后按照 yrushka 的步骤添加用户。
停止 SQL Express
NET STOP MSSQL$SQLEXPRESS
启动 SQL Express
NET START MSSQL$SQLEXPRESS /m
打开命令提示符窗口并登录 SQLExpress
sqlcmd -S SERVERNAME -E
添加用户
EXEC sp_addsrvrolemember 'DOMAIN\YOURNAME', 'sysadmin'; GO