来自:http://www.cnblogs.com/xred/archive/2012/03/09/2386185.html

在网上看了很多如何修改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、验证和更改 MSDE 系统管理员密码

如何更改 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.

如何确定或更改身份验证模式
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 (http://support.microsoft.com/kb/256986/EN-US/) Microsoft Windows 注册表说明

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

如果不能确定如何验证 MSDE 安装的身份验证模式,可以查看相应的注册表项。默认情况下,对于 Windows 身份验证,Windows LoginMode 注册表子项的值设置为 1。如果启用了混合模式身份验证,则此值为 2。

? LoginMode 子项的位置取决于您是将 MSDE 作为默认 MSDE 实例安装还是作为命名实例安装。如果 MSDE 是作为默认实例安装的,则 LoginMode 子项位于以下注册表子项中:
HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode 
? 如果 MSDE 是作为命名实例安装的,则 LoginMode 子项位于以下注册表子项中:
HKLM\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode 
注意:切换身份验证模式之前,必须设置 sa 密码,以免暴露潜在的安全漏洞。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
274773 (http://support.microsoft.com/kb/274773/EN-US/) FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank 
要从混合模式切换到集成 (Windows) 身份验证模式,请按以下步骤操作: 1. 要停止 MSSQLSERVER 以及所有其他相关服务(如 SQLSERVERAgent),请在“控制面板”中打开服务程序。 
2. 打开注册表编辑器。要打开注册表编辑器,请依次单击开始和运行,然后键入:“regedt32”(不包括引号)
单击确定。
3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装的还是作为命名实例安装的):
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer

- 或者 -

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\ 
4. 在右窗格中,双击 LoginMode 子项。 
5. 在 DWORD 编辑器对话框中,将此子项的值设置为 1。确保选择了 Hex 选项,然后单击确定。 
6. 重新启动 MSSQLSERVER 和 SQLSERVERAgent 服务以使更改生效。

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 身份验证。 
=============================
9、SQLServer2000 的sa密码忘记之后的解决方法

今天,发现我维护的服务器的SQL2000 出错了。 前一段时间把服务器的密码告诉了另一个同事,他在上面装了个他做的系统,也不知道被他怎么搞的一下。 
现在竟然启动企业管理器也连接不上。 原来的sa密码也不是我设置的。 他说也没有动过SQL2000,真的是麻烦。

以下是我找到的解决方法,但是对于我的机器好象还不太行。

"无法连接到服务器,用户xxx登陆失败"

该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 
因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示:

1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server 
2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡 
3.在"身份验证"下,选择"SQL Server和 Windows ". 
4.重新启动SQL Server服务.

在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败, 
那就通过修改注册表来解决此问题:

1.点击"开始""运行",输入regedit,回车进入注册表编辑器 
2.依次展开注册表项,浏览到以下注册表键: 
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer] 
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值 
4.将原值从1改为2,点击"确定" 
5.关闭注册表编辑器 
6.重新启动SQL Server服务.

此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册, 
但是仍然无法使用Windows身份验证模式来连接SQL Server. 
这是因为在 SQL Server 中有两个缺省的登录帐户: 
BUILTIN/Administrators 
<机器名>/Administrator 被删除. 
要恢复这两个帐户,可以使用以下的方法:

1.打开企业管理器,展开服务器组,然后展开服务器 
2.展开"安全性",右击"登录",然后单击"新建登录" 
3.在"名称"框中,输入 BUILTIN/Administrators 
4.在"服务器角色"选项卡中,选择"System Administrators"  
5.点击"确定"退出 
6.使用同样方法添加 <机器名>/Administrator 登录.

说明:

以下注册表键: 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/LoginMode 的值决定了SQL Server将采取何种身份验证模式. 
1.表示使用"Windows 身份验证"模式 
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).

我在处理这个问题是这样做的:

1. 重新注册SQL服务器,输入服务器名为: LOCALHOST ,这个时候系统可以重新连接到SQL数据库

2.打开LOCALHOST下面的安全性->登录 ,修改sa的密码

3. 编辑默认的Local服务连接的属性 ,修改为正确的sa的密码。

这样就可以正确的启动了LOCAL连接了。

最后当然可以删除LOCALHOST连接。

但是,有一个遗留问题,就是Windows身份验证模式还是不成功,不知道是什么原因。 我按照上面的说明把 BuiltIn/Administrators 和 Administrator都删除重建好象都不行。

sa账户和密码丢失如何找回的更多相关文章

  1. 【转】在SQL Server 2008中SA密码丢失了怎么办?

    sql server 2008的sa用户莫名其妙就登陆不进去了.提示如下: 以上提示就表明是密码错误,但密码我可是记得牢牢的,也许是系统被黑的原因吧.一直以来我的Windows身份验证就用不起,以下方 ...

  2. sys用户密码丢失找回密码的步骤和命令

    假设你的sys用户密码丢失,写出找回密码的步骤和命令? 1.确认哪个数据库实例的sys用户密码丢失:(例:数据库实例为orclA) 2.进入数据库实例的目录中找到PWDorclA.ora文件:(例目录 ...

  3. 【转】SQL2008的sa账户被禁用,其他账户无法连接的解决方法

    或者你还有其它的sysadmin权限的账号,你可以用此账号登录,重置SA密码. 但是在以下情况下,怎么办呢? 1. SA密码丢失或者SA账号被禁用. 2. 你进行了一些安全操作,把BuiltinAdm ...

  4. (转)Linux下root密码丢失和运行级别错误的解决办法

    我们知道,root用户在Linux中是相当重要的,其地位如同Windows中的Adminstrator 有了root权限我们还能修改其他用户的密码,可是,如果root用户的密码丢失该怎么办? 不用担心 ...

  5. iphone4s丢失如何找回

    iphone4s丢失如何找回 iphone4s手机丢了怎么办,其实苹果手机自带找回功能,但是前提你得打开了icloud这款软件. 方法/步骤 1 在手机的设置里找到icloud设置,如图. 2 点击进 ...

  6. 提高SqlServer数据库的安全性,禁用掉sa账户

    Sqlsever 数据库有两种登陆身份验证模式,一种是windows身份验证:一种是sqlserver 账户验证模式,在sqlserver 账户验证模式中,sa账户是大家所熟知的,并且sa也是内置的默 ...

  7. [No0000116]SQLServer启用sa账户

    SQLServer如何启用sa账户,今天在这里唠叨一下关于SQL Server数据库如何启用sa账户的,作为一个数据库管理者,需要非常熟练掌握,具体步骤如下: 1.先登录数据库服务 首先在“开始”菜单 ...

  8. SQL Server 2008开启sa账户以及如何用JDBC进行连接

    做实验需要用Java与SQL Server连接,因为使用的 SQL 2008 Express Edition 是基于 Visual Studio2010 安装包安装时一起安装的,所以为了方便数据库的操 ...

  9. Oracle OS认证 口令文件 密码丢失处理

    Oracle OS认证 口令文件 密码丢失处理 分类: Oracle Basic Knowledge2009-10-19 14:24 5031人阅读 评论(9) 收藏 举报 oracleos数据库sq ...

随机推荐

  1. 201521123024 《Java程序设计》第5周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 不能编 ...

  2. JAVA课程设计 刘舒婷 201521123096

    1.团队课程设计博客链接 2.个人负责模块说明 2.1 界面菜单的设计: 2.2 录入学生信息: 2.3 对已录入的学生信息进行修改: 3.个人代码提交记录截图 4.自己负责模块或任务详细说明 4.1 ...

  3. Could not chdir to home directory /home/USER: Permission denied

    Could not chdir to home directory /home/USER: Permission denied  2 years ago davidzhang We changed t ...

  4. Python爬虫总结

    Python爬虫的原理:1通过URLopen()来获取到url页面, 这个过程可以加代理 2这个页面上都是字符串,所以我们而通过字符串查找的方法来获取到目标字符串,用到了正则来匹配目标re.finda ...

  5. Shiro第六篇【验证码、记住我】

    验证码 在登陆的时候,我们一般都设置有验证码,但是我们如果使用Shiro的话,那么Shiro默认的是使用FormAuthenticationFilter进行表单认证. 而我们的验证校验的功能应该加在F ...

  6. [13] static 和 final

    不论是类.属性,还是方法的声明中,都有一个可设置的"修饰符",它可以实现一些高级特性. 1.static static被称之为静态的,并不是指不可以修改的意思,而是说它的内存空间是 ...

  7. python实例编写(5)--异常处理,截图,用例设计

    一.python的异常处理 异常抛出处理机制: 1.若在运行时发生异常,解释器会查找相应的处理语句(handler) 2.若在当前函数无法找到,就将异常传给上层的调用函数,看是否能处理 3.如果在最外 ...

  8. tomcat The specified JRE installation does not exist

    window->perferences->server->installed runtimes 里tomcat删掉,重新建立服务,再运行

  9. gephi安装后无法打开

    具体解决的方法是找到gephi.conf文件(在“gephi安装目录\etc”中)文件,添加下面的一行,指定jdkhome的路径. jdkhome="C:\Program Files (x8 ...

  10. OpenStack Ocata 超详细搭建文档

    前言 搭建前必须看我本文档搭建的是分布式O版openstack(controller+ N compute + 1 cinder)的文档.openstack版本为Ocata.搭建的时候,请严格按照文档 ...