數(shù)據(jù)庫中毒,軟件不能用了怎么辦
在使用電腦軟件的過程中,有時候會遇到突然間無法正常使用的情況。經(jīng)過檢查發(fā)現(xiàn),軟件無法連接數(shù)據(jù)庫,原來是數(shù)據(jù)庫中毒了或者密碼錯誤。這種情況非常令人頭疼,因為自己無法解決,只能依靠專業(yè)人員或者重新安裝數(shù)據(jù)
在使用電腦軟件的過程中,有時候會遇到突然間無法正常使用的情況。經(jīng)過檢查發(fā)現(xiàn),軟件無法連接數(shù)據(jù)庫,原來是數(shù)據(jù)庫中毒了或者密碼錯誤。這種情況非常令人頭疼,因為自己無法解決,只能依靠專業(yè)人員或者重新安裝數(shù)據(jù)庫來解決。但是現(xiàn)在,我來告訴你一種不需要重新安裝數(shù)據(jù)庫的方法。
使用SQL查詢分析器修改密碼
首先打開SQL查詢分析器(對于SQL2000,需要使用查詢分析器;對于SQL2005及更高版本,可以直接使用SQL Server Management Studio登陸)。
運行以下代碼:
create procedure sp_password
@old sysname NULL,
@new sysname,
@loginame sysname NULL
as
begin
-- 檢查權(quán)限
if (not is_srvrolemember('securityadmin') 1) and not @self 1
begin
raiserror(15210,-1,-1)
return (1)
end
else
begin
dbcc auditevent (107, @self, 1, @loginame, NULL, NULL, NULL)
end
-- 檢查是否存在登錄名
if not exists (select * from where loginname @loginame and isntname 0)
begin
raiserror(15007,-1,-1,@loginame)
return (1)
end
-- 檢查舊密碼是否正確
if not exists (select * from where 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
-- 修改密碼
update set password convert(varbinary(256), pwdencrypt(@new)), xdate2 getdate(), xstatus xstatus (~2048) where name @loginame and srvid is null
return (0)
end
修改數(shù)據(jù)庫密碼
運行完上述代碼后,現(xiàn)在可以直接使用企業(yè)管理器(Enterprise Manager)來修改密碼了。
將數(shù)據(jù)庫密碼修改成復(fù)雜的之后,就可以順利操作軟件了。如果是使用ERP軟件,還需要重新連接一下數(shù)據(jù)庫。祝大家工作順利,希望以上知識對大家有所幫助!