如何在DELPHI中修改SQLSERVER数据库的SA的密码?(100分)

  • 主题发起人 主题发起人 mcs51
  • 开始时间 开始时间
M

mcs51

Unregistered / Unconfirmed
GUEST, unregistred user!
1、需要在程序中修改SQLSERVER的密码,请各位富翁指点,谢谢~~~~
2、在用ADO连接到远程SQLSERVER数据库中的时候,如果没有访问过服务器,就不能连接数据库
该如何解决(SQLSERVER在安装的时候没有选择为双验证)?
 
sqlserver的sa密码是加密以后放入系统表中的,
甚至你可以找到并打开那个表,但是你不解密是的不到密码字符串的[:D]
所以更不要说修改密码了,要不你去看看sqlserver SDK[:)]
 
调用存诸过程sp_password
 
sp_password [ [ @old = ] 'old_password' , ]
{ [ @new =] 'new_password' }
[ , [ @loginame = ] 'login' ]

EXEC sp_password 'SAOldPasswd', 'SANewPasswd', 'sa'
 
mcs51,试过我的方法了吗?
 
可以用sql或tsql实现所有的功能,都可以编程实现。
 
mcs51,问题解决了吗?
 
我试了,这个过程可行。只不过程序中来实现?
真不知道怎么想的,有那个必要吗?
 
补充一点wumeng的方法。
 
with Q do
begin
close;
sql.clear;
// sql.add('use Master');
if (szOld='') and (szNew<>'') then //原口令为空,新不为空
sql.add('sp_password null,'''+ szPwd+''','''+'sa'+'''')
else if (szOld<>'') and (szNew<>'') then //原口令不为空,新也不为空
sql.add('sp_password '''+trim(EditOld.text)+''','''+ szPwd+''','''+'sa'+'''')
else if (szOld<>'') and (szNew='') then //原口令不为空,新的为空
sql.add('sp_password '''+trim(EditOld.text)+''',null,'''+'sa'+'''');

try
execSQL;
sql.add('use BKMsys');
sql.add('update BKMlogin set LoginPwd='''+jiami(trim(EditNew.text))+'''');
messagedlg('成功更改系统管理员口令!',mtInformation,[mbOk],0);
except
messagedlg('更改系统管理员账号时出现错误',mtError,[mbOk],0);
exit;
end;
end;
执行后口令仍然是原来的
 
后退
顶部