sql忘记sa密码修改方法SQL2000SA密码更改2008-05-2600:18sql忘记sa密码修改方法
方法一:
通过企业管理器进入查询分析执行:
EXECsp_passwordNULL,'你的新密码','sa'
如果你在NT下(包括2000)装的SQLServer,则可以这样做:
直接打开"查询分析器"(注意不是从"企业管理器"中进入,可以从开始菜单的程序组进去,如果找不到的话,直接在"运行"中输入"isqlw.exe"也可);
选择"Windows身份验证"进入,不需要输入密码,只要你是本机的系统管理员或者域管理员,此时自动成为SQLServer的管理员;
在查询分析器窗口中输入下面的语句直接更改SA密码:
sp_passwordNull,\'ok\',\'sa\'
运行后sa的密码变为"ok"
sp_password存储过程的功能是更改SQLServer登录的密码;
语法格式:
sp_password[[@old=]\'old_password\',]
{[@new=]\'new_password\'}
[,[@loginame=]\'login\']
参数说明
[@old=]\'old_password\':旧密码;
[@new=]\'new_password\':要指定的新密码
[@loginame=]\'login\':要指定的用户
返回值:0(成功)或1(失败)
以上方法的关键原理在于,从"查询分析器"中以"Windows身份验证"连接SQLServer,只要你是本机的系统管理员或者域管理员,此时自动成为SQLServer的管理员.
方法二:
1.试试注销你的操作系统,用administrator登陆查询分析器--连接使用"windows身份验证"--如果这里能成功,你就执行下面的语句来修改sa的密码sp_passwordnull,'新密码','sa'2.不行就rebuilt你的master??????
以window用户的方式进去,在企业管理器中把sa的密码改回来,这个方法好象可以。试试看
我不想改密码,有没办法把原来的密码找回来?
不会
原来的密码是找不回来的.因为SQL对于密码的加密算法是不可逆的.所以你还是用windows身份验证进去改sa密码吧.
以下来自微软网站问:我把我自己关在SQLServer外面了,不能作为“sysadmin”登录。有什么办法解决吗?我需要重新安装SQLServer吗?答:您不必重新安装SQLServer。要想重新访问SQLServer,您需要修改SQLServer2000和SQLServer7.0决定SQLServer身份验证模式的注册表键值。在SQLServer7.0中,该键为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode在SQLServer2000中,该键为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQLServer\\MSSQLServer\LoginMode“LoginMode”的值为0表示只进行Windows的身份验证,为1表示验证模式为混合模式。在您把自己关在外面之后,您可以把“LoginMode”改为1,重新启动SQLServer,然后以sa(systemadministrator)身份登录,输入您知道的sa密码即可。以下关于SQLServer的角色成员的信息可能会帮助您理解为什么您会把自己关在SQLServer外面。在您安装SQLServer2000或7.0的时候,安装进程自动地为“BUILTIN\Administrators”创建一个登录帐号,该帐号为“sysadmin”角色成员。“BUILTIN\Administrators”登录帐号代表了MicrosoftWindows?2000或MicrosoftWindowsNT?server上的系统管理员本地组。Windows2000或WindowsNT的“Administrator”帐户是系统管理员本地组的成员。此外,如果您的服务器是一个域的成员(包括Windows2000的域和WindowsNT4.0的域),“DomainAdmins”全局组也会成为本地系统管理员组的成员。这意味着系统管理员本地组的所有成员都会自动地获得SQLServer上的“sysadmin”权限。为了加强您的SQLServer的安全性,您可能更愿意创建您自己的组并授予它“sysadmin”权限,然后删除“BUILTIN\Administrators”登录帐号,或者至少从“sysadmin”服务器角色中删除它。使用这种方法,您可以较好地对谁可以访问您的SQLServer进行控制。这种方法也断开了SQLServer系统管理员和Windows2000或WindowsNT管理员之间的联系,因为他们通常有不同的任务,并且需要不同的权限。为了加强安全性,您可能想把SQLServer配置成只支持Windows身份验证。但是,必须要记住:这种配置会禁用您的“sa”帐户。(这个方法可能是禁用“sa”帐户的唯一方法,因为您不能删除“sa”帐户。)如果您以错误的顺序实施了这个安全措施,您将不能再以>“sysadmin”的身份登录到SQLServer上,除非按照我上面所说的方法修改注册表键值。正确的顺序是:创建Windows2000或者WindowsNT用户组并为组分配成员。例如:创建一个叫做“SQLAdmins”的组。把“SQLAdmins”映射为SQLServer里的一个用Windows身份验证方式验证登录的帐户,并把该帐户分派到“sysadmin”服务器角色。删除“BUILTIN\Administrators”登录帐户或者把它从“sysadmin”服务器角色中删除。把SQLServer的身份验证模式改为“仅进行Windows身份验证”。重新启动SQLServer以反映身份验证模式的变化。注意:如果您以下面的这种错误顺序实施这些步骤:删除“BUILTIN\Administrators”登录帐户,改变SQLServer的身份验证模式为“仅进行Windows身份验证”,然后重新启动SQLServer,那么“sa”帐户将被禁用,并且因为没有定义其它Windows身份验证登录帐户而无法进入SQLServer。为了避免这种情况发生,请以正确的顺序实施这些安全措施
停止sqlserver将自己应用数据库拷出,删除sqlserver,重新安装sqlserver,再将数据库用sp_attachdb过程导入