SQLSERVER資料庫SA使用者密碼被改,不能登陸資料庫的解決辦法
1.以Windows身份驗證登入"查詢分析器":
2.執行儲存過程修改"sa"帳號密碼
sp_password Null,'ok','sa'
執行後sa的密碼變為"ok"
以下是SQLSERVER幫助中的說明:
sp_password
新增或更改 Microsoft® SQL Server™ 登入的密碼。
語法
sp_password [ [ @old = ] 'old_password' , ]
{ [ @new =] 'new_password'
}
[ , [ @loginame = ] 'login' ]
引數
[@old =] 'old_password'
是舊密碼。old_password 為 sysname
[@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'