SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_NULLS OFF 
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
GO 
SET QUOTED_IDENTIFIER OFF 
GO 
SET ANSI_NULLS ON 
GO

SQL数据库: 错误2812 未能找到存储过程 sp_password的更多相关文章

  1. SQL2000数据库密码被替换,重置密码提示未能找到存储过程sp_password解决方案

    利用windows身份验证进入查询分析器后在master数据库下运行如下脚本: create procedure sp_password @old sysname = NULL, -- the old ...

  2. 错误 1 未能找到元数据文件“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/wwwroot/7cb4fcd

    错误 1 未能找到元数据文件“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/wwwroot/7cb4fcd ...

  3. 错误 1 未能找到类型或命名空间名称“DataPager”(是否缺少 using 指令或程序集引用?)

    鄙人在设计器SearchTab.xaml中添加了如下一个分页控件: <sdk:DataPager x:Name="dataPagerPrj" Grid.Row="3 ...

  4. 分析器错误消息: 未能找到 CodeDom 提供程序类型

    ylbtech-Error-WebForm:分析器错误消息: 未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatfor ...

  5. sqlserver 2008 建立订阅发布时 报错 解决方案 “错误 2812” 无法创建存储过程

    11月10日早上  一大早,还在地铁14号线上 ,接到同事给的信息 说我们的XX系统宕机了,本想没什么问题,一般服务器 只要硬件没有问题 重启一下就可以了, 但是事与愿违,偏偏最后检测到服务器磁盘阵列 ...

  6. 解决 ASP.NET 编辑错误"CS0006: 未能找到元数据文件C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll"

    问题背景: 公司最近给我配置了一台新Windows 7旗舰版的电脑,这几天一直在迁移文件,因为新电脑上安装Sqlserver r2失败,解决方法是要安装一个800+MB的安装包 由于最近手上事情比较多 ...

  7. vs的一个奇葩错误 : 未能找到任何适合于指定的区域性或非特定区域性的资源...

    摘要: VS2005下进行开发的时候遇到的问头:未能找到任何适合于指定的区域性或非特定区域性的资源.请确保在编译时已将“xxx.Form1.resources”正确嵌入或链接到程序集“xxx”,或者确 ...

  8. javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。错误: 未能找到存储过程 'master..xp_sqljdbc_xa_init'

    配置JTA SQL Server XADataSource参考:https://msdn.microsoft.com/zh-cn/library/aa342335.aspx 使用 JDBC 驱动程序 ...

  9. 错误 6 未能找到类型或命名空间名称“BLL”(是否缺少 using 指令或程序集引用?)

    出现这个错误,要确保先引用BLL.dll, 如果引用之后还没有解决这个问题的话,确认一下程序集FrameWork版本与项目FrameWork版本一致.右击程序集属性可以更改.

随机推荐

  1. Servlet Filter

    Filter : Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...

  2. easyui combotree下拉框多选赋值

    发现jquery.easyui.min.js 1.3.4版本的用setValues给多选下拉框赋值不成功,只能用1.3.1版本的 Html代码: <input id="ProductL ...

  3. React(二)实现双向数据流

    <div id="app"></div> <script src="bower_components/react/react.min.js& ...

  4. 23.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。 具体要求如下: (1)Person类中的属性有:姓名name(String类型),地址address(String类型), 电话号码telphone(String类型)和电子邮件地址email(String类型); (2)Employee类中的属性有:办公室office(Stri

    package banking; public class Person { private String name; public String address; public String tel ...

  5. iOS设备的越狱方法

    最近公司的事情很忙,在开发一个类似于微信的App,经常加班,所以也没有时间去更新微信公众账号的内容了.iOSJailbreak, 申请这个账号大概有一个多月了吧,发布的内容不多,更多是针对开发者的内容 ...

  6. SSRS2:Reporting Service 配置Service Account

    1,Service Account SSRS以一个Service方式实现,有三部分组成:Web Service,Report Manager和一个后台的进程,这个Service运行的账号就是Servi ...

  7. 关于c#动态加载程序集的一些注意事项

    Assembly下有LoadFile,LoadFrom等方法可以加载程序集. LoadFile只加载你给定路径的那个dll,LoadFrom会自动加载依赖的dll. 如:A依赖B,LoadFile(& ...

  8. Network - SSH

    SSH(Secure Shell) https://wiki.wireshark.org/SSH   SSH 协议与OpenSSH详解 http://my.oschina.net/liting/blo ...

  9. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要五

    本篇文章主要是总结异步编程的知识点,也是本系列的最后一篇文章,每一个知识点我都有写出示例代码,方便大家理解,若发现有误或不足之处还请指出,由于书中作者对此知识点讲解过于简单,所以在写这篇文章时本人参考 ...

  10. Eclipse窗口总是在最前的解决办法

    Eclipse窗口总是在最前的解决办法 状况: Eclipse在偶然的情况下,会莫名其妙地保持在窗口的最前面,一直保持在最前:然后alt + tab,或者鼠标点击其他窗口.想切换/激活其他窗口时,根本 ...