Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为什么不';我没有更改此SQL Server Express 2005密码的权限吗?_Sql Server_Sql Server Express - Fatal编程技术网

Sql server 为什么不';我没有更改此SQL Server Express 2005密码的权限吗?

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'; 它会立即出现以下错误:

我有权安装SQL 2005 Express。我可能是不久前自己安装的。但是已经有一段时间没用了

我试图通过“sa”密码访问此实例,我通常在本地安装时使用该密码

但是,此密码不起作用

我仔细检查了混合模式身份验证是否已设置,以及sa用户是否存在

我可以通过windows身份验证访问该实例,并查询数据库(甚至主数据库)的检查结果。没问题

然后,我尝试使用以下sql重置sa密码:

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个选项:

  • 单用户模式
  • PSExec使用NT权限\系统
    • 在承载数据库的计算机上打开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服务添加参数,然后重新启动来启用。