SQL Server创建数据库权限被拒(Error:262)求助
解决SQL Server创建数据库权限被拒(错误262)的问题
首先,先明确你遇到的核心错误:
Microsoft SQL Server Management Studio
数据库'myDB'创建失败。(Microsoft.SqlServer.Smo)附加信息:
执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)在数据库'master'中CREATE DATABASE权限被拒绝。(Microsoft SQL Server, 错误: 262)
针对你说的“只有sa账号但不知道密码,当前账号无权限”的情况,给你几个分步解决的方案:
方案1:优先尝试Windows身份验证登录(本地SQL Server适用)
如果你的SQL Server是装在自己的电脑上,且你的Windows账号属于本地管理员组,大概率可以直接用Windows身份验证登录SSMS:
- 打开SSMS,登录窗口选「Windows身份验证」,直接点连接(不用输密码)。
- 登录成功后,你可以二选一操作:
- 重置sa密码:
- 展开左侧「安全性」>「登录名」,右键点「sa」选「属性」。
- 在「常规」标签页设置新密码,按需勾选/取消「强制实施密码策略」,确定即可。
- 给当前账号加建库权限:
- 找到你当前用的登录账号(在「安全性」>「登录名」里),右键选「属性」。
- 切到「服务器角色」标签页,勾选「dbcreator」角色(这个角色允许创建、修改、删除数据库),确定生效。
- 重置sa密码:
方案2:单用户模式重置sa密码(Windows身份验证也登不上的情况)
如果Windows身份验证也无法登录,就得进入单用户模式重置sa密码:
- 停止SQL Server服务:
- Win+R输入
services.msc打开服务列表,找到「SQL Server (MSSQLSERVER)」(命名实例的话名字会带实例名),右键选「停止」。
- Win+R输入
- 设置单用户启动参数:
- 右键该服务选「属性」,切到「启动参数」标签页,在参数框末尾加
-m(注意前面有空格),确定。
- 右键该服务选「属性」,切到「启动参数」标签页,在参数框末尾加
- 启动服务:右键选「启动」,此时服务会以单用户模式运行,只能有一个连接。
- 用sqlcmd重置密码:
- 以管理员身份开命令提示符,输入:
(命名实例的话换成sqlcmd -S localhost -Esqlcmd -S localhost\你的实例名 -E) - 登录成功后,依次输入:
把ALTER LOGIN sa WITH PASSWORD = '你的新密码'; GO ALTER LOGIN sa ENABLE; GO你的新密码换成你要设置的密码。
- 以管理员身份开命令提示符,输入:
- 恢复正常模式:停止服务,删掉刚才加的
-m参数,再启动服务。 - 现在就能用sa+新密码登录SSMS,再给其他账号加权限了。
方案3:直接给当前账号赋建库权限(登录管理员账号后操作)
不管用哪种方式登进管理员账号,都可以直接执行SQL给当前账号加权限:
打开查询窗口,运行:
USE master; GRANT CREATE DATABASE TO [你的当前登录账号]; GO
注意替换[你的当前登录账号]:如果是Windows账号,格式是[域\用户名];如果是SQL账号,直接写账号名就行。
内容的提问来源于stack exchange,提问作者陌smail Zorbao臒lu




