最新Sa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-'sp-password'”-解决方法.docx

上传人:1595****071 文档编号:47522337 上传时间:2022-10-02 格式:DOCX 页数:17 大小:476.23KB
返回 下载 相关 举报
最新Sa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-'sp-password'”-解决方法.docx_第1页
第1页 / 共17页
最新Sa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-'sp-password'”-解决方法.docx_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《最新Sa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-'sp-password'”-解决方法.docx》由会员分享,可在线阅读,更多相关《最新Sa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-'sp-password'”-解决方法.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateSa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-sp-password。”-解决方法Sa-无法修改密码-SQLSERVER-修改密码提示-“错误-2812-未能找到存储过程-sp-password。”-解决方法SQLSERVER 修改密码提示 “错误 2812: 未能找到存储过程 sp_password。” 解决方法问题分析:

2、因SQL服务器中毒,导致病毒篡改SQL用户的密码,病毒为了阻止操作员手工修正(修改)SQL用户的密码,而把存储过程sp_password删除,导致的问题。错误如下图所示:解决思路:在系统中重新建一个sp_password的存储过程,以便更新现有的SQL用户密码步骤:1、打开查询分析器:方法1.可以依次打开:开始-运行,输入命令isqlw,按回车即可启动查询分析器,如下图所示方法2.通过开始菜单、程序、MicrosoftSQLServer、找到“查询分析器”单击打开即可启动2、登录查询分析器:在弹出的登录界面中作如下图所示的设置,点“确定”,登录到查询分析器中3、把下面附录中的重建代码复制到刚才

3、打开的查询分析器中4、按F5执行重建代码代码分析:允许修改系统数据-重建系统内置存储过程-恢复为不能直接修改系统数据5、后记:此方法只是能解决因为没有存储过程而不能修改密码的问题,出现此问题,大多数情况下操作系统已经中毒,这也是为什么更改密码之后,过段时间又不能使用的原因。可能有的朋友会想,那把密码改得更复杂,让病毒程序不能连接到SQLSERVER。其实,改密码并不能彻底解决这个问题,有兴趣的朋友可以试试使用-E参数,即“使用信任连接而不请求密码”的方式连接到SQLSERVER取得SQLSERVER的所有权限。注:本文以SQLSERVER2000界面演示解决此问题的步骤附录:重建sp_pass

4、sword存储过程代码-SQL代码开始sp_configureallowupdates,1RECONFIGUREWITHOVERRIDEgousemastergoifexists(select*fromdbo.sysobjectswhereid=object_id(Ndbo.sp_password)andOBJECTPROPERTY(id,NIsProcedure)=1)dropproceduredbo.sp_passwordgocreateproceduresp_passwordoldsysname=NULL,-theold(current)passwordnewsysname,-thene

5、wpasswordloginamesysname=NULL-usertochangepasswordonas-SETUPRUNTIMEOPTIONS/DECLAREVARIABLES-setnocountondeclareselfintselectself=CASEWHENloginameisnullTHEN1ELSE2END-RESOLVELOGINNAMEifloginameisnullselectloginame=suser_sname()-CHECKPERMISSIONS(SecurityAdminperRichardWaymire)-IF(notis_srvrolemember(se

6、curityadmin)=1)ANDnotself=1begindbccauditevent(107,self,0,loginame,NULL,NULL,NULL)raiserror(15210,-1,-1)return(1)endELSEbegindbccauditevent(107,self,1,loginame,NULL,NULL,NULL)end-DISALLOWUSERTRANSACTION-setimplicit_transactionsoffIF(trancount0)beginraiserror(15002,-1,-1,sp_password)return(1)end-RESO

7、LVELOGINNAME(disallowsntnames)ifnotexists(select*frommaster.dbo.sysloginswhereloginname=loginameandisntname=0)beginraiserror(15007,-1,-1,loginame)return(1)end-IFnon-SYSADMINATTEMPTINGCHANGETOSYSADMIN,REQUIREPASSWORD(218078)-if(self1ANDis_srvrolemember(sysadmin)=0ANDexists(SELECT*FROMmaster.dbo.syslo

8、ginsWHEREloginname=loginameandisntname=0ANDsysadmin=1)SELECTself=1-CHECKOLDPASSWORDIFNEEDED-if(self=1oroldisnotnull)ifnotexists(select*frommaster.dbo.sysxloginswheresrvidISNULLandname=loginameand(oldisnullandpasswordisnull)or(pwdcompare(old,password,(CASEWHENxstatus&2048=2048THEN1ELSE0END)=1)beginra

9、iserror(15211,-1,-1)return(1)end-CHANGETHEPASSWORD-updatemaster.dbo.sysxloginssetpassword=convert(varbinary(256),pwdencrypt(new),xdate2=getdate(),xstatus=xstatus&(2048)wherename=loginameandsrvidISNULL-UPDATEPROTECTIONTIMESTAMPFORMASTERDB,TOINDICATESYSLOGINSCHANGE-exec(usemastergrantalltonull)-FINALIZATION:RETURNSUCCESS/FAILURE-iferror0return(1)raiserror(15478,-1,-1)return(0)-sp_passwordGOsp_configureallowupdates,0RECONFIGUREWITHOVERRIDE-SQL代码结束-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁