忘记SQL Server的SA用户密码解决方法
作者:网路游侠@youxia.org
发布时间:2005-9-25 11:48:18 文章来源:youxia.org
台式机和本本分别安装了MS SQL Server,方便做测试用
结果时间长了,
台式机SQL Server的密码忘记了……
难道……没有办法了吗?——No!
经过一阵子郁闷,游侠在百度搜到了方法:
现在你的
企业管理器当然是进不去了,但是我们还有查询分析器
验证的时候,选择按照Windows身份验证,就直接进去了……汗!
输入下列命令,执
行:
exec sp_password null,'新密码','sa'
好了,现在密码已经改变了,到企业管理器看看 ^_^
下面是我在SQL Server的帮助看到的关于存储过程 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.更改密
相关文档:
--创建写文件的存储过程
ALTER proc [dbo].[p_movefile]
@filename varchar(1000),--要操作的文本文件名
@text varchar(8000), --要写入的内容
@obj int
as
begin
declare @err int,
@src varchar(255),
&n ......
1 当使用group by时,未在group by 部分用到的表列在s e l e c t部分出现时必须使用分组函数。
select last_name, state_cd, sum(sales) from customer group by last_name;
ERROR at line 1:
ORA-00979: not a GROUP BY expression.
state_cd应该使用分组函数,m a x ( )、m i n ( )、s u m ( )、c o u n t ( )或a v g ......
SELECT语句的完整语法为:
SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
from tableexpression[,…][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
注 ......
一、建立链接服务器
有人喜欢调用系统过程来建立,但我个人对系统过程没有特别的学习 ,所以用的是界面设置,当然有兴趣也可以研究一下的,因为可以把SQL执行导出来。
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'TEST2', @srvproduct=N'ORCL', @provider=N ......