SQL Server数据库sa用户密码相关问题解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server数据库sa用户密码相关问题解决方法
SQL Server 是一个关系数据库管理系统。
它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。
在Windows NT 推出后,Microsoft 与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。
Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access 等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
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_t ype,
c_expiry_date,c_user_lock,c_user_disa,c_who_crea,c_when_c rea,
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 = ] /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 (/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\MSSqlSe rver
- 或者 -
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\\MSSQLServer\
4. 在右窗格中,双击 LoginMode 子项。
5. 在 DWORD 编辑器对话框中,将此子项的值设置为 1。
确保选择了 Hex 选项,然后单击确定。
6. 重新启动 MSSQLSERVER 和 SQLSERVERAgent 服务以使更改生效。
SQL Server 安装的最佳安全方案
下面的每一项都会增强系统的安全性,并且它们都属于任何 SQL Server 安装的标准安全“最佳方案”。
? 使用非空密码保护 sa 登录帐户。
有些蠕虫程序仅当您未对 sa 登录帐户采取安全措施时才会发作。
有关其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:
313418 (/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 Server 2000 的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/MSSQLS erver]
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/MSSQLSe rver/LoginMode 的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).
我在处理这个问题是这样做的:
1. 重新注册SQL服务器,输入服务器名为: LOCALHOST ,这个时候系统可以重新连接到SQL数据库
2.打开LOCALHOST下面的安全性->登录,修改sa的密码
3. 编辑默认的Local服务连接的属性,修改为正确的sa的密码。
这样就可以正确的启动了LOCAL连接了。
最后当然可以删除LOCALHOST连接。