SQL2000的SA密碼不能更改的解決方法,在更改sa的密碼出現下面的錯誤:
復制代碼 代碼如下:Error 21776: [SQL-DMO] The name ‘dbo' was not found in the Users collection. If the name is a qualified name, use [] to separate various parts of the name, and try again.
解決方法:用SQl帶的查詢管理器連接到sql上,執行:
復制代碼 代碼如下:EXEC sp_password NULL, ‘XXXXXX', ‘sa'
關於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.更改密碼
下面的示例將登錄 Victoria 的密碼由 ok 改為 coffee。
復制代碼 代碼如下:EXEC sp_password ‘ok', ‘coffee'
SQL Server Management Studio中,用windows賬戶登錄後,安全性-登錄名-找到sa,右鍵熟悉
或者命令行 sa或者windows登錄後 sp_passwd null,newpassword,sa 即可
直接進企業管理器——管理——登陸——用戶,改成你要的密碼就可以了。