SQL Server中使用sp_password重置SA密码实例

所属分类: 数据库 / MsSql 阅读数: 1417
收藏 0 赞 0 分享

SQL2000的SA密码不能更改的解决方法,在更改sa的密码出现下面的错误:

复制代码 代码如下:
Error 21776: [SQL-DMO] The name ‘dbo' was not found in the Users collection. If the name is a qualified name, use [] to separate various parts of the name, and try again.

解决方法:用SQl带的查询管理器连接到sql上,执行:

复制代码 代码如下:
EXEC sp_password NULL, ‘XXXXXX', ‘sa'

关于Sp_password具体信息如下:

sp_password

添加或更改 Microsoft? SQL Server? 登录的密码。

语法

sp_password [ ][ @old = ] ‘old_password' , ]
{ [ @new =] ‘new_password' }
[ , ][ @loginame = ] ‘login' ]

参数

[@old =] ‘old_password'
是旧密码。old_password 为 sysname 类型,其默认值为 NULL。
[@new =] ‘new_password'
是新密码。new_password 为 sysname 类型,无默认值。如果没有使用命名参数,就必须指定 old_password。
[@loginame =] ‘login'
是受密码更改影响的登录名。login 为 sysname 类型,其默认值为 NULL。login 必须已经存在,并且只能由 sysadmin 固定服务器角色的成员指定。

返回代码值

0(成功)或 1(失败)

注释

SQL Server 密码可包含 1 到 128 个字符,其中可包括任何字母、符号和数字。
新密码以加密的形式更新和存储,因此,任何用户(甚至系统管理员)都不能查看密码。

当 sysadmin 或 securityadmin 固定服务器角色的成员使用带全部三个参数的 sp_password 重新设置他们自己的密码时,审核记录反映的却是他们正在更改别人的密码。

sp_password 不能用于 Microsoft Windows NT? 安全帐户。通过 Windows NT 网络帐户连接到 SQL Server 的用户是由Windows NT 授权的,因此其密码只能在 Windows NT 中更改。

sp_password 不能在用户定义的事务中执行。

权限

执行权限默认地授予 public 角色,以供用户更改自己的登录密码。只有 sysadmin 角色的成员可更改其他用户的登录密码。

示例

A.无原密码的情况下更改登录密码
下面的示例将登录 Victoria 的密码更改为 ok。

复制代码 代码如下:
EXEC sp_password NULL, ‘ok', ‘Victoria'

B.更改密码
下面的示例将登录 Victoria 的密码由 ok 改为 coffee。
复制代码 代码如下:
EXEC sp_password ‘ok', ‘coffee'

更多精彩内容其他人还在看

sqlserver中将varchar类型转换为int型再进行排序的方法

sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话
收藏 0 赞 0 分享

在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名

在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程呢
收藏 0 赞 0 分享

sqlserver bcp(数据导入导出工具)一般用法与命令详解

bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据
收藏 0 赞 0 分享

重命名SQLServer数据库的方法

本文讲解重命名SQLServer 数据库,包括物理文件名、逻辑文件名的改名
收藏 0 赞 0 分享

SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)

昨天在项目中遇到了一个非常简单的问题,需要把SQL Server数据库中保存的一段路径地址取出其文件名,但SQL Server又没有现成的方法,最后在网上找到这样的一个方法,原理是先将字符串反转,取出第一个/的位置,从头进行截取后再次反转
收藏 0 赞 0 分享

使用SqlBulkCopy时应注意Sqlserver表中使用缺省值的列

今天,想将以前做的一个程序增加点功能,原本就使用SqlBulkCopy批量、定时的从目录中的txt文件导入数据到Sqlserver中。以前一直都使用正常,但是不知怎的就老是出现一个错误
收藏 0 赞 0 分享

Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法

讲解一下sql 2005日志怎么清理。一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
收藏 0 赞 0 分享

SQL Server 2000 清理日志精品图文教程

SQL Server 2000 数据库日志太大!如何清理SQL Server 2000的日志呢
收藏 0 赞 0 分享

SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

如何在SQL中对行进行动态编号,加行号这个问题,在数据库查询中,是经典的问题
收藏 0 赞 0 分享

sql分类汇总及Select的自增长脚本

对错误信息进行分类汇总,并实现错误数据的自增长编号
收藏 0 赞 0 分享
查看更多