`

sqlserver 账户密码被改的解决办法

阅读更多
查询分析器:修改密码
========================================
EXEC sp_password NULL, '你的新密码', 'sa'



查询分析器:找不到存储过程   sp_password
=============================

use master

go


create procedure sp_password
    @old sysname = NULL,        -- the old (current) password
    @new sysname,               -- the new password
    @loginame sysname = NULL    -- user to change password on
as
    -- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
set nocount on
    declare @self int
    select @self = CASE WHEN @loginame is null THEN 1 ELSE 2 END

    -- RESOLVE LOGIN NAME
    if @loginame is null
        select @loginame = suser_sname()

    -- CHECK PERMISSIONS (SecurityAdmin per Richard Waymire) --
IF (not is_srvrolemember('securityadmin') = 1)
        AND not @self = 1
begin
    dbcc auditevent (107, @self, 0, @loginame, NULL, NULL, NULL)
    raiserror(15210,-1,-1)
    return (1)
end
ELSE
begin
    dbcc auditevent (107, @self, 1, @loginame, NULL, NULL, NULL)
end

    -- DISALLOW USER TRANSACTION --
set implicit_transactions off
IF (@@trancount > 0)
begin
  raiserror(15002,-1,-1,'sp_password')
  return (1)
end

    -- RESOLVE LOGIN NAME (disallows nt names)
    if not exists (select * from master.dbo.syslogins where
                    loginname = @loginame and isntname = 0)
begin
  raiserror(15007,-1,-1,@loginame)
  return (1)
end

-- IF non-SYSADMIN ATTEMPTING CHANGE TO SYSADMIN, REQUIRE PASSWORD (218078) --
if (@self <> 1 AND is_srvrolemember('sysadmin') = 0 AND exists
   (SELECT * FROM master.dbo.syslogins WHERE loginname = @loginame and isntname = 0
    AND sysadmin = 1) )
  SELECT @self = 1

    -- CHECK OLD PASSWORD IF NEEDED --
    if (@self = 1 or @old is not null)
        if not exists (select * from master.dbo.sysxlogins
                        where srvid IS NULL and
            name = @loginame and
                     ( (@old is null and password is null) or
                              (pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END)) = 1) )   )
        begin
      raiserror(15211,-1,-1)
      return (1)
     end

    -- CHANGE THE PASSWORD --
    update master.dbo.sysxlogins
set password = convert(varbinary(256), pwdencrypt(@new)), xdate2 = getdate(), xstatus = xstatus & (~2048)
where name = @loginame and srvid IS NULL

-- UPDATE PROTECTION TIMESTAMP FOR MASTER DB, TO INDICATE SYSLOGINS CHANGE --
exec('use master grant all to null')

    -- FINALIZATION: RETURN SUCCESS/FAILURE --
if @@error <> 0
        return (1)
    raiserror(15478,-1,-1)
return  (0) -- sp_password











查询分析器:修改密码
========================================
EXEC sp_password NULL, '你的新密码', 'sa'
分享到:
评论

相关推荐

    sqlserver sa 账号被锁定的解决办法

    在开发过程中,如果遇到sa账号被锁定,是一件很棘手的事情,本教程可以指导你解决这个问题,附带详细代码。

    WindowsXP安装SQL_server2000的过程图解

    ★下面介绍详细的安装过程和所出现问题的解决办法 打开安装包之后出现以下提示框。 请选择 "安装 SQL Server 2000 组件",出现下一个页面, 选择 "安装数据库服务器" ,将出现以下对话框 选择 "下一步...

    Java连接Sql Server2008数据库连接不上原因及解决办法.docx

    解决办法是改为混合模式,内嵌登录账户为 sa,修改其密码。步骤包括:用 window 验证模式,连接服务器实例,右键选择实例的属性、选择安全性,修改为混合模式、确定、选择安全性—》登录名—》sa,双击 sa,修改密码...

    SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法

     解决办法是使用管理员帐户修改此登录帐户的默认数据库。  1、使用管理员帐号登入企业管理器,在“对象资源管理器”中,展开“安全性”——“登录名”,右键该帐户点击“属性”  2、在“登录属性”的对话框中,...

    经典SQL语句大全

    在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db; 附加数据库:sp_attach_db 后...

    sql经典语句一部分

    在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db; 附加数据库:sp_attach_db 后...

    数据库操作语句大全(sql)

    在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db; 附加数据库:sp_attach_db ...

    网上日记本

    第三章软件概要设计,在这一章节中,我们将把各个问题一一作以详细的分析,并且制定解决的办法,用数据流程图,模拟日记本在使用过程中出现的情况;第四章软件详细设计,在此章节,我们将再次将日记本的各个功能提出...

    C#编程经验技巧宝典

    2 &lt;br&gt;0003 设置程序代码行序号 3 &lt;br&gt;0004 开发环境全屏显示 3 &lt;br&gt;0005 设置窗口的自动隐藏功能 3 &lt;br&gt;0006 根据需要创建所需解决方案 4 &lt;br&gt;0007 如何使用“验证的目标架构”功能 4 ...

    门户网站源码-门户网站全站完整版v5.0

    没有技术支持是没有办法完成修改的。 打开你所在的跟目录,点上面的搜索,左面会出现搜索栏。在文件中的一个字或词组下添上88852门户网然后搜索,会把所有包括这个字的文件都列出来。这样用记事本(一定)打开每一个...

    mysql-8.0.20-macos10.15-x86_64.tar.gz

    解决办法: mysql&gt; use mysql; mysql&gt; alter user 'root'@'localhost' identified with mysql_native_password by '12345678'; mysql&gt; flush privileges; 如上即可。 加入环境变量,编辑 /etc/profile,这样可以...

Global site tag (gtag.js) - Google Analytics