Sql server 为什么不';我没有更改此SQL Server Express 2005密码的权限吗?
我有权安装SQL 2005 Express。我可能是不久前自己安装的。但是已经有一段时间没用了 我试图通过“sa”密码访问此实例,我通常在本地安装时使用该密码 但是,此密码不起作用 我仔细检查了混合模式身份验证是否已设置,以及sa用户是否存在 我可以通过windows身份验证访问该实例,并查询数据库(甚至主数据库)的检查结果。没问题 然后,我尝试使用以下sql重置sa密码:Sql server 为什么不';我没有更改此SQL Server Express 2005密码的权限吗?,sql-server,sql-server-express,Sql Server,Sql Server Express,我有权安装SQL 2005 Express。我可能是不久前自己安装的。但是已经有一段时间没用了 我试图通过“sa”密码访问此实例,我通常在本地安装时使用该密码 但是,此密码不起作用 我仔细检查了混合模式身份验证是否已设置,以及sa用户是否存在 我可以通过windows身份验证访问该实例,并查询数据库(甚至主数据库)的检查结果。没问题 然后,我尝试使用以下sql重置sa密码: ALTER LOGIN sa WITH PASSWORD = 'MyNewPassword'; 它会立即出现以下错误:
ALTER LOGIN sa WITH PASSWORD = 'MyNewPassword';
它会立即出现以下错误:
Cannot alter the login 'sa', because it does not exist or you do not have permission.
那么为什么我的本地Windows用户没有这样做的权限呢?你有没有遵循
您是以最初安装该服务的管理员用户身份登录,还是以本地管理员身份登录?能够阅读是一种权限级别。能够更改数据,尤其是服务器级对象是另一组权限。仅仅因为你能阅读并不意味着你就能写作
如果使用不同的管理员登录失败,你可以用一个破解你的sa密码。我知道这是一篇旧文章,但我在搜索我自己问题的答案时仍然找到了它 此处有2个选项:
- 在承载数据库的计算机上打开SQL Server Configuration Manager
- 单击SQL Server服务
- 单击所需的SQL Server实例,然后右键单击转到属性
- 在高级表格中输入param'-m;'在“启动参数”框中的现有参数之前
- 现在使用SQLCmd向具有Sysadmin权限的数据库添加新用户
- 对于获取所需的SQLCmd命令和语法非常有用
- 打开命令提示符并将目录更改为“BINN”文件夹
- 通常位于
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn
- 此位置根据您的配置而变化
- 使用以下命令调用SQLCmd:
SQLCMD–S
- 在我的例子中,这是
-我的机器名\数据库实例名SQLCMD-S SPExternal\Sharepoint
- 现在使用以下命令序列创建新的系统管理员登录:
- 每行后按enter键
1>创建密码为“”的登录名“”
2>开始
1>
SP_ADDSRVROLEMEMBER'','SYSADMIN''
2>开始
最后,通过颠倒上面概述的最初4个步骤,使服务器脱离单用户模式。使用新登录名进行连接
- 并放入Windows\System 32中
- 以管理员身份打开命令提示符
- 在承载SQL数据库的计算机上,使用以下命令从命令提示符执行SSMS
PsExec-s-i“C:\ProgramFiles(x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe”
- 请注意,到SSM的路径可能因系统配置而异
- 在上面链接的原始文章中还列出了一些其他注意事项
- UAC可能需要禁用(对我来说工作正常,但仍处于启用状态)
- 您的帐户需要是此工作的本地管理员
- 可以远程工作,也可以不远程工作
选项2是-感谢找到它的人。还有SQL DAC,它在Express中默认禁用,但可以通过停止、向SQL Express服务添加参数,然后重新启动来启用。