来自: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. 团队作业八-Beta版本冲刺计划及安排

    Beta版本冲刺计划及安排 目录: 1.介绍小组新加入的成员,他担任的角色 2.下一阶段需要改进完善的功能 3.下一阶段新增(或修改)的功能 4.需要改进的团队分工 5.需要改进的工具流程 6.冲刺的 ...

  2. Quartz入门指南

    Quartz入门指南 看到官网的教程对于新手来说不够全面和连贯,因此结合自己的使用过程写下这个入门指南,用以解惑.本文基于Quartz2.2.2版本.请注意,本文为了易于上手,省略了许多重要的概念,建 ...

  3. 201521123040《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 本周学习了类的继承,包括子类父类的概念还有extends关键字,super关键字.继承与代码 ...

  4. 201521123010 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  5. Java课程设计—学生成绩管理系统(201521123002 林楚虹)

    1. 团队课程设计博客链接 团队博客链接 2.个人责模块或任务说明 根据学生学号查找学生成绩 根据学生姓名(支持模糊匹配)查找学生成绩 用POI技术导出Excel文件 3.自己的代码提交记录截图 4. ...

  6. Jar文件 META-INF/MANIFEST.MF文件详解

    打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANI ...

  7. 32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址

    32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址 一丶基址,随机基址的理解 首先,全局变量的地址,我们都知道是固定的,是在PE文件中有保存的 但是高版本有了随机基址,那么要怎么解决这 ...

  8. SpringMVC第四篇【参数绑定详讲、默认支持参数类型、自定义参数绑定、RequestParam注解】

    参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定- 默认支持的参数类型 从上面的用法我们可以发现,我们可以使用req ...

  9. bookStore案例第一篇【部署开发环境、解决分类模块】

    前言 巩固Servlet+JSP开发模式,做一个比较完整的小项目 成果图 该项目包含了两个部分,前台和后台. 前台用于显示 后台用于管理 该项目可分为5个模块来组成:分类模块,用户模块,图书模块,购买 ...

  10. Activiti-04-.Spring integration

    ProcessEngineFactoryBean <beanid="processEngineConfiguration"class="org.activiti.s ...