【问题标题】:How to change sa password in SQL Server 2008 express?如何在 SQL Server 2008 express 中更改 sa 密码?
【发布时间】:2011-04-16 10:22:49
【问题描述】:

我已经安装了 SQL Server 2008 express 并通过 windows 身份验证登录,它不允许我做任何事情。如何更改“sa”密码或在本地计算机 2008 express 中获得完全权限?我正在使用 Windows 7。

【问题讨论】:

  • 您的用户帐户是管理员帐户吗?另外,请参阅此链接:ashrafur.wordpress.com/2008/01/04/…
  • 您是否在安装过程中启用了混合模式身份验证(并选择了 SA 密码)?
  • 我不记得了,它不允许我做任何事情

标签: sql-server sql-server-2008 windows-7


【解决方案1】:

这可以帮助您重置 SQL 2008 和 2012 的 sa 密码

EXEC sp_password NULL, 'yourpassword', 'sa'

【讨论】:

  • 如果您知道sa 密码,那就完美了
【解决方案2】:

我不知道现有的 sa 密码,所以我这样做了:

  1. 在控制面板中打开服务

  2. 找到“SQL Server (SQLEXPRESS)”条目并选择属性

  3. 停止服务

  4. 在“启动参数”字段的开头输入“-m”。如果还有其他参数,-m后面已经加了分号;

  5. 启动服务

  6. 打开命令提示符

输入命令:

osql -S YourPcName\SQLEXPRESS -E

(将 YourPcName 更改为您的 PC 名称)。

  1. 在提示符下键入以下命令:
alter login sa enable
go
sp_password NULL,'new_password','sa'
go
quit
  1. 停止“SQL Server (SQLEXPRESS)”服务

  2. 从“启动参数”字段中删除“-m”

  3. 启动服务

【讨论】:

  • 这对我们有用,即使添加用户(如接受的答案所建议的那样)失败。我们使用了 sqlcmd。
  • Sql Server Express 2008 不以-m 参数开头。
【解决方案3】:

这对我有用:

  • 关闭所有 Sql Server 引用应用程序。
  • 在控制面板中打开服务。
  • 找到“SQL Server (SQLEXPRESS)”条目并选择属性。
  • 停止服务(所有 Sql Server 服务)。
  • 在“启动参数”字段中输入“-m”。
  • 启动服务(单击“常规”选项卡上的“开始”按钮)。
  • 打开命令提示符(右键单击,如果需要以管理员身份运行)。
  • 输入命令:

    osql -S localhost\SQLEXPRESS -E

    (或将 localhost 更改为您的 PC 的名称)。

  • 在提示符下键入以下命令:

    使用密码创建登录 my_Login_here = 'my_Password_here'

    sp_addsrvrolemember 'my_Login_here', 'sysadmin'

    退出

  • 停止“SQL Server (SQLEXPRESS)”服务。

  • 从“启动参数”字段中删除“-m”(如果仍然存在)。

  • 启动服务。

  • 在 Management Studio 中,使用您刚刚创建的登录名和密码。 这应该给它管理员权限。

【讨论】:

    【解决方案4】:

    如果您想使用 SQL Server Management Studio 更改您的“sa”密码,请按照以下步骤操作:

    1. 登录使用 Windows 身份验证和“.\SQLExpress”作为服务器名称
    2. 更改服务器身份验证模式 - 右键单击​​根目录,选择“属性”,从“安全”选项卡中选择“SQL Server 和 Windows 身份验证模式”,单击“确定”

    3. 设置 sa 密码 - 导航到安全 > 登录 > sa,右键单击它,选择属性,从常规选项卡中设置密码(不要关闭窗口)

    4. 授予权限 - 转到“状态”选项卡,确保选中“授予”和“启用”单选按钮,单击“确定”

    5. 从本地服务(Window+R > services.msc)重新启动 SQLEXPRESS 服务

    【讨论】:

    • 这只有在您有权更改 sa 密码时才有效。
    • 如果我在第 2 步中得到“用户没有更改身份验证模式的凭据”怎么办?
    • 感谢工作完美,只是您需要在管理员模式下运行 Management Studio
    • 可能是互联网上该主题的唯一端到端完整答案!
    • 此答案有效,但有时您需要更改 sa 密码的权限,要 获得更改 sa 密码的权限,请查看 this 链接。希望有所帮助。
    【解决方案5】:

    您需要按照Troubleshooting: Connecting to SQL Server When System Administrators Are Locked Out 中描述的步骤,将您自己的 Windows 用户添加为 sysadmin 的成员:

    • 关闭 MSSQL$EXPRESS 服务(或任何您的 SQL Express 服务的名称)
    • 开始添加-m-f启动参数(或者你可以从控制台启动sqlservr.exe -c -sEXPRESS -m -f
    • 连接到 DAC:sqlcmd -E -A -S .\EXPRESS 或从 SSMS 使用 admin:.\EXPRESS
    • 运行 create login [machinename\username] from windows 在 SQL 中创建您的 Windows 登录
    • 运行sp_addsrvrolemember 'machinename\username', 'sysadmin'; 使自己成为系统管理员成员
    • 重启服务没有-m -f

    【讨论】:

    • 我必须使用跟踪选项启动 sql 服务以使其工作,并关闭任何可能尝试连接到 SQL express 的服务(如 Ektron 索引服务):sqlservr.exe -c -sSQLEXPRESS -m -f -T 7806 ,然后我只使用.\sqlexpress 作为服务器名称连接到 SSMS
    • 确保在提升模式下运行 SSMS,否则可能无法连接。
    • @Rashack 注释是很重要的一点,否则如果你不是管理员运行的话你的连接会失败。
    猜你喜欢
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 2011-08-31
    相关资源
    最近更新 更多