51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3025|回复: 6
打印 上一主题 下一主题

[已解决-使用] SQL Server忘记登录密码解决办法(含SQL2008安装包)

[复制链接]
  • TA的每日心情
    开心
    2017-11-8 09:23
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2016-8-23 11:07:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 甜甜酱 于 2016-9-2 13:38 编辑

    引言:   是不是有很多人都跟小编一样,不管是什么账号,如果很久不用就会忘记登录密码,像数据库SQL也一样有用户名和登录密码,下面小编就分享一下如何找回或修改SQL密码。

    在网上看了很多如何修改SQLServer2005的密码的方法。大多数都是转了同一个帖子:用windows权限进入,然后修改当前实例属性中的安全项,然后重新启动就可以修改了,但是操作手顺与我的SQLServer貌似不同。大概是SP1之前可以这么做吧。
    首先用windows账户登录,然后在master表里执行:
    EXEC sp_password NULL, '你的新密码', 'sa'————————————以下是小编四处搜集的一些解决办法———————————————
    sql server sa密码相关
    =================================
    1、请教如何查找sqlserver的sa密码?

    查询分析器,连接时,身份验证使用"使用windows身份验证"
    然后,执行:
    EXEC sp_password NULL, 'NewPassword', 'Sa'
    ------------------------------------------------------------------
    企业管理器-->实例名-->安全性-->登录-->双击右边的SA-->更改密码
    --------------------------------------------------------------------
    问:丢失SA密码如何找回?
    答:用户操作失误造成密码丢失。有两种方法:如果数据不多,可重装TNSDB数据库。如果只想找回密码,可将安装盘中的tnsdb.txt文件中的“insert into
    tns_secu_user(c_user_name,c_user_pwd,c_user_code,i_user_type,c_expiry_date,c_user_lock,c_user_disa,c_who_crea,c_when_crea,c_who_modi,c_when_modi) values('sa','c12e01f2a13ff5587e1e9e4aedb8242d','',1,'','1','1','','','','') %”行。其中‘sa’后的‘c12e01f2a13ff5587e1e9e4aedb8242d’字串为sa的密码。用他来替换tnsdb库中 tns_secu_user表中的sa密码。字段为c_user_pwd.

    ==================================
    2、sql server2000忘记sa密码的解决方法
    以“windows身份验证”方式登录SQL查询分析器,然后执行
    EXEC sp_password NULL,'hello','sa'
    就可以将sa的密码改为hello了。
    ===================================
    3、SQL忘记sa密码修改方法
    如果你在NT下(包括2000)装的SQL Server,则可以这样做:
    直接打开"查询分析器"(注意不是从"企业管理器"中进入,可以从开始菜单的程序组进去,如果找不到的话,直接在"运行"中输入"isqlw.exe"也可);
    选择"Windows身份验证"进入,不需要输入密码,只要你是本机的系统管理员或者域管理员,此时自动成为SQL Server的管理员;
    在查询分析器窗口中输入下面的语句直接更改SA密码:
    sp_password Null,\\\'ok\\\',\\\'sa\\\'
    运行后sa的密码变为"ok"

    sp_password存储过程的功能是更改SQL Server登录的密码;
    语法格式:
    sp_password [ [ @old = ] \\\'old_password\\\' , ]
    { [ @new =] \\\'new_password\\\' }
    [ , [ @loginame = ] \\\'login\\\' ]
    参数说明
    [@old =] \\\'old_password\\\' : 旧密码;
    [@new =] \\\'new_password\\\' : 要指定的新密码
    [@loginame =] \\\'login\\\' : 要指定的用户
    返回值: 0(成功)或 1(失败)

    以上方法的关键原理在于,从"查询分析器"中以"Windows身份验证"连接SQL Server,只要你是本机的系统管理员或者域管理员,此时自动成为SQL Server的管理员.
    =================================
    4、如何验证SA密码是否为空
    在命令提示符处键入以下命令,然后按 Enter 键:
    osql -U sa
    这样可以通过 sa 帐户连接到 MSDE 的本地默认实例。要连接到您的计算机上安装的命名实例,请键入:
    osql -U sa -S servernameinstancename
    随即将出现以下提示:
    Password:
    再次按 Enter 键。此操作将为 sa 传递一个 NULL(空)密码。
    如果按 Enter 键后出现以下提示,则您对 sa 帐户没有密码:
    1>
    为了符合安全方案的要求,Microsoft 建议您创建非空的强密码。
    但是,如果收到以下错误信息,则表示您输入的密码不正确。此错误信息表示已为 sa 帐户创建了密码:
    "Login Failed for user "sa"."
    以下错误信息表示运行 SQL Server 的计算机设置为只限 Windows 身份验证:
    Login failed for user "sa".Reason:Not associated with a trusted SQL Server
    connection.
    在 Windows 身份验证模式下无法验证 sa 密码。但可以创建 sa 密码,以便 sa 帐户在以后身份验证模式更改为混合模式时仍然是安全的。
    如果您收到以下错误信息,则表示 SQL Server 可能未运行,或者您可能为安装的 SQL Server 的命名实例提供了错误名称:
    [Shared Memory]SQL Server does not exist or access denied.
    [Shared Memory]ConnectionOpen (Connect()).
    =================================
    5、问:我把我自己关在SQL Server 外面了,不能作为“sysadmin”登录。有什么办法解决吗?我需要重新安装SQL Server吗?
    答:您不必重新安装SQL Server。要想重新访问SQL Server,您需要修改SQL Server 2000 和 SQL Server 7.0决定SQL Server身份验证模式的注册表键值。
    在SQL Server 7.0中,该键为:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \MSSQLServer\MSSQLServer\LoginMode
    在SQL Server 2000中,该键为:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
    MicrosoftSQLServer\\MSSQLServer\LoginMode
    “LoginMode”的值为0表示只进行Windows 的身份验证,为1表示验证模式为混合模式。在您把自己关在外面之后,您可以把“LoginMode”改为1,重新启动SQL Server,然后以sa(system administrator)身份登录,输入您知道的sa密码即可。

      以下关于SQL Server的角色成员的信息可能会帮助您理解为什么您会把自己关在SQLServer外面。在您安装SQL Server 2000 或 7.0的时候,安装进程自动地为“BUILTIN\Administrators”创建一个登录帐号,该帐号为“sysadmin”角色成员。 “BUILTIN\Administrators”登录帐号代表了Microsoft Windows® 2000 或Microsoft Windows NT® server 上的系统管理员本地组。 Windows 2000 或 Windows NT的 “Administrator”帐户是系统管理员本地组的成员。此外,如果您的服务器是一个域的成员(包括Windows 2000 的域和Windows NT 4.0的域),“Domain Admins”全局组也会成为本地系统管理员组的成员。这意味着系统管理员本地组的所有成员都会自动地获得SQL Server上的“sysadmin”权限。

    为了加强您的SQL Server的安全性,您可能更愿意创建您自己的组并授予它“sysadmin”权限,然后删除“BUILTIN\Administrators”登录帐 号,或者至少从“sysadmin”服务器角色中删除它。使用这种方法,您可以较好地对谁可以访问您的SQL Server进行控制。这种方法也断开了SQL Server 系统管理员和Windows 2000 或 Windows NT 管理员之间的联系, 因为他们通常有不同的任务,并且需要不同的权限。为了加强安全性,您可能想把SQL Server配置成只支持Windows身份验证。但是,必须要记住:这种配置会禁用您的“sa”帐户。(这个方法可能是禁用“sa”帐户的唯一方法,因 为您不能删除“sa”帐户。)如果您以错误的顺序实施了这个安全措施,您将不能再以>“sysadmin”的身份登录到SQL Server上,除非按照我上面所说的方法修改注册表键值。正确的顺序是:

    创建Windows 2000 或者 Windows NT 用户组并为组分配成员。例如:创建一个叫做“SQLAdmins”的组。
    把“SQLAdmins”映射为SQL Server里的一个用Windows身份验证方式验证登录的帐户,并把该帐户分派到“sysadmin”服务器角色。
    删除“BUILTIN\Administrators”登录帐户或者把它从“sysadmin”服务器角色中删除。
    把SQL Server的身份验证模式改为“仅进行Windows身份验证”。
    重新启动SQL Server 以反映身份验证模式的变化。
    注意: 如果您以下面的这种错误顺序实施这些步骤:删除“BUILTIN\Administrators”登录帐户,改变SQL Server 的身份验证模式为“仅进行Windows身份验证”,然后重新启动SQL Server,那么“sa” 帐户将被禁用,并且因为没有定义其它Windows身份验证登录帐户而无法进入SQL Server。为了避免这种情况发生,请以正确的顺序实施这些安全措施。

    ========================================
    7、破解SA的密码的方法
    0)停掉你现有的数据库服务。
    1)新建一个实例,就是重新安装一次sql server,以下称为new
    2)把你旧的数据库实例(以下称为old)的master.mdf , master.ldf copy到一个文件夹
    3) 在new中,通过attach db的方式把文件夹中的两个文件加为new中的数据库,当然名称和位置在添加的时候都要改的。
    4)在new 中,通过语句的方式,把master中的表sysxlogins 中sa的密码更新到你刚添加的数据库(old中的master)的表sysxlogins中对应的sa 的密码字段。
    5)把你刚添加的数据库(old中的master)在new中detachdb,然后把文件覆盖掉old中对应文件(覆盖前把文件备份)
    6)重新启动old服务器,看是否可行
    7)卸载new服务器

    ===============================
    8、如何更改 SA 密码
    1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
    2. 键入下面的命令,然后按 Enter 键:

    osql -U sa

    在 Password:提示符下,按 Enter 键(如果密码为空)或键入当前密码。这样可以使用 sa 帐户连接到 MSDE 的本地默认实例。要使用 Windows 身份验证进行连接,请键入此命令: use osql -E

    3. 在各个单独的行内键入下列命令,然后按 Enter 键:
    sp_password @old = null, @new = 'complexpwd', @loginame ='sa'
    go

    注意:确保将“complexpwd”替换为新的强密码。强密码包括字母数字和特殊字符以及大小写字符的组合。

    您将收到以下提示信息,表示已成功更改密码:
    Password changed.

    ===============================
    9、SQL Server 安装的最佳安全方案
    下面的每一项都会增强系统的安全性,并且它们都属于任何 SQL Server 安装的标准安全“最佳方案”。 ? 使用非空密码保护 sa 登录帐户。有些蠕虫程序仅当您未对 sa 登录帐户采取安全措施时才会发作。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    313418 (http://support.microsoft.com/kb/313418/EN-US/) PRB:使用空 (NULL) SA 密码的非安全的 SQL Server 会给蠕虫程序以可乘之机
    因此,要确保内置 sa 帐户具有强密码,必须按照 SQL Server 联机丛书的“系统管理员 (SA) 登录”主题中的建议进行操作(即使您从未直接使用 sa 帐户)。
    ? 阻塞位于 Internet 网关的端口 1433,然后分配 SQL Server 侦听备用端口。
    ? 如果在 Internet 网关上必须使用端口 1433,请启用进出过滤功能以防止误用端口。
    ? 在 Microsoft Windows NT 帐户(而非本地系统帐户)下运行 SQLServer 服务和 SQL Server 代理。
    ? 启用 Microsoft Windows NT 身份验证,然后启用对成功和失败登录的审核。然后,停止并重新启动 MSSQLServer 服务。配置您的客户端使用 Windows NT 身份验证。


    下面是SQL的下载包:链接: http://pan.baidu.com/s/1pLH7TOZ 密码: ekw8

    大家回复“密码找回”即可查看更多解决办法哦。





    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-1 14:56
  • 签到天数: 1182 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
    发表于 2016-9-1 10:23:35 | 只看该作者
    再安装数据库的时候选择混合模式登陆数据库,这样就不担心sa的密码忘记。如果sa密码忘记可以是用Windows账户登陆数据库,再在安全性里面修改sa密码就可以。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-11-8 09:23
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]测试连长

    5#
     楼主| 发表于 2016-9-2 13:12:02 | 只看该作者
    清晨一缕阳光 发表于 2016-9-1 10:23
    再安装数据库的时候选择混合模式登陆数据库,这样就不担心sa的密码忘记。如果sa密码忘记可以是用Windows账 ...

    赞一个~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 12:44 , Processed in 0.071885 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表