1. 程式人生 > >SQLSERVER資料庫SA使用者密碼被改,不能登陸資料庫的解決辦法

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_passwordsysname

型別,其預設值為 NULL。

[@new =] 'new_password'

是新密碼。new_passwordsysname 型別,無預設值。如果沒有使用命名引數,就必須指定 old_password

[@loginame =] 'login'

是受密碼更改影響的登入名。loginsysname 型別,其預設值為 NULL。login 必須已經存在,並且只能由 sysadmin 固定伺服器角色的成員指定。

返回程式碼值

0(成功)或 1(失敗)

註釋

SQL Server 密碼可包含 1 到 128 個字元,其中可包括任何字母、符號和數字。

新密碼以加密的形式更新和儲存,因此,任何使用者(甚至系統管理員)都不能檢視密碼。

sysadminsecurityadmin 固定伺服器角色的成員使用帶全部三個引數的 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'