You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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身份验证」,直接点连接(不用输密码)。
  • 登录成功后,你可以二选一操作:
    1. 重置sa密码
      • 展开左侧「安全性」>「登录名」,右键点「sa」选「属性」。
      • 在「常规」标签页设置新密码,按需勾选/取消「强制实施密码策略」,确定即可。
    2. 给当前账号加建库权限
      • 找到你当前用的登录账号(在「安全性」>「登录名」里),右键选「属性」。
      • 切到「服务器角色」标签页,勾选「dbcreator」角色(这个角色允许创建、修改、删除数据库),确定生效。

方案2:单用户模式重置sa密码(Windows身份验证也登不上的情况)

如果Windows身份验证也无法登录,就得进入单用户模式重置sa密码:

  1. 停止SQL Server服务
    • Win+R输入services.msc打开服务列表,找到「SQL Server (MSSQLSERVER)」(命名实例的话名字会带实例名),右键选「停止」。
  2. 设置单用户启动参数
    • 右键该服务选「属性」,切到「启动参数」标签页,在参数框末尾加 -m(注意前面有空格),确定。
  3. 启动服务:右键选「启动」,此时服务会以单用户模式运行,只能有一个连接。
  4. 用sqlcmd重置密码
    • 以管理员身份开命令提示符,输入:
      sqlcmd -S localhost -E
      
      (命名实例的话换成sqlcmd -S localhost\你的实例名 -E
    • 登录成功后,依次输入:
      ALTER LOGIN sa WITH PASSWORD = '你的新密码';
      GO
      ALTER LOGIN sa ENABLE;
      GO
      
      你的新密码换成你要设置的密码。
  5. 恢复正常模式:停止服务,删掉刚才加的-m参数,再启动服务。
  6. 现在就能用sa+新密码登录SSMS,再给其他账号加权限了。

方案3:直接给当前账号赋建库权限(登录管理员账号后操作)

不管用哪种方式登进管理员账号,都可以直接执行SQL给当前账号加权限:
打开查询窗口,运行:

USE master;
GRANT CREATE DATABASE TO [你的当前登录账号];
GO

注意替换[你的当前登录账号]:如果是Windows账号,格式是[域\用户名];如果是SQL账号,直接写账号名就行。


内容的提问来源于stack exchange,提问作者陌smail Zorbao臒lu

火山引擎 最新活动