SQL Server數(shù)據(jù)庫sa密碼相關(guān)問題的解決方法
1、請教如何查找sqlserver的sa密碼?
查詢分析器,連接時(shí),身份驗(yàn)證使用'使用windows身份驗(yàn)證'
然后,執(zhí)行:
EXEC sp_password NULL, 'NewPassword', 'Sa'
企業(yè)管理器-->實(shí)例名-->安全性-->登錄-->雙擊右邊的SA-->更改密碼
問:丟失SA密碼如何找回?
答:用戶操作失誤造成密碼丟失。有兩種方法:
如果數(shù)據(jù)不多,可重裝TNSDB數(shù)據(jù)庫。如果只想找回密碼,可將安裝盤中的tnsdb.txt文件中的“insert into
tns_secu_user(c_user_name,c_user_pwd,c_user_code,i_user_type,
c_expiry_date,c_user_lock,c_user_disa,c_who_crea,c_when_crea,
c_who_modi,c_when_modi) values('sa','c12e01f2a13ff5587e1e9e4aedb8242d','',1,'','1','1','','','','')
%”行。其中‘sa’后的‘c12e01f2a13ff5587e1e9e4aedb8242d’字串為sa的密碼。
用他來替換tnsdb庫中tns_secu_user表中的sa密碼。字段為c_user_pwd.
2、sql server2000忘記sa密碼的解決方法
以“windows身份驗(yàn)證”方式登錄SQL查詢分析器,然后執(zhí)行
EXEC sp_password NULL,'hello','sa'
就可以將sa的密碼改為hello了。
3、SQL忘記sa密碼修改方法
如果你在NT下(包括2000)裝的SQL Server,則可以這樣做:
直接打開'查詢分析器'(注意不是從'企業(yè)管理器'中進(jìn)入,可以從開始菜單的程序組進(jìn)去,如果找不到的話,直接在'運(yùn)行'中輸入'isqlw.exe'也可);
選擇'Windows身份驗(yàn)證'進(jìn)入,不需要輸入密碼,只要你是本機(jī)的系統(tǒng)管理員或者域管理員,此時(shí)自動(dòng)成為SQL Server的管理員;
在查詢分析器窗口中輸入下面的語句直接更改SA密碼:
sp_password Null,'ok','sa'
運(yùn)行后sa的密碼變?yōu)?ok'
sp_password存儲(chǔ)過程的功能是更改SQL Server登錄的密碼;
語法格式:
sp_password [ [ @old = ] http://support.microsoft.com/kb/256986/EN-US/) Microsoft Windows 注冊表說明
警告:注冊表編輯器使用不當(dāng)可導(dǎo)致嚴(yán)重問題,可能需要重新安裝操作系統(tǒng)。Microsoft 不能保證您可以解決因注冊表編輯器使用不當(dāng)而導(dǎo)致的問題。使用注冊表編輯器需要您自擔(dān)風(fēng)險(xiǎn)。
如果不能確定如何驗(yàn)證 MSDE 安裝的身份驗(yàn)證模式,可以查看相應(yīng)的注冊表項(xiàng)。默認(rèn)情況下,對于 Windows 身份驗(yàn)證,Windows LoginMode 注冊表子項(xiàng)的值設(shè)置為 1。如果啟用了混合模式身份驗(yàn)證,則此值為 2。
? LoginMode 子項(xiàng)的位置取決于您是將 MSDE 作為默認(rèn) MSDE 實(shí)例安裝還是作為命名實(shí)例安裝。如果 MSDE 是作為默認(rèn)實(shí)例安裝的,則 LoginMode 子項(xiàng)位于以下注冊表子項(xiàng)中:
HKLMSoftwareMicrosoftMSSqlserverMSSqlServerLoginMode
? 如果 MSDE 是作為命名實(shí)例安裝的,則 LoginMode 子項(xiàng)位于以下注冊表子項(xiàng)中:
HKLMSoftwareMicrosoftMicrosoft SQL Server%InstanceName%MSSQLServerLoginMode
注意:切換身份驗(yàn)證模式之前,必須設(shè)置 sa 密碼,以免暴露潛在的安全漏洞。
有關(guān)其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應(yīng)的文章:
274773 (http://support.microsoft.com/kb/274773/EN-US/) FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank
要從混合模式切換到集成 (Windows) 身份驗(yàn)證模式,請按以下步驟操作: 1. 要停止 MSSQLSERVER 以及所有其他相關(guān)服務(wù)(如 SQLSERVERAgent),請?jiān)凇翱刂泼姘濉敝写蜷_服務(wù)程序。
2. 打開注冊表編輯器。要打開注冊表編輯器,請依次單擊開始和運(yùn)行,然后鍵入:“regedt32”(不包括引號)
單擊確定。
3. 找到以下兩個(gè)子項(xiàng)之一(取決于 MSDE 是作為默認(rèn) MSDE 實(shí)例安裝的還是作為命名實(shí)例安裝的):
HKEY_LOCAL_MACHINESoftwareMicrosoftMSSqlserverMSSqlServer
- 或者 -
HKEY_LOCAL_MACHINESoftwareMicrosoftMicrosoft SQL ServerMSSQLServer
4. 在右窗格中,雙擊 LoginMode 子項(xiàng)。
5. 在 DWORD 編輯器對話框中,將此子項(xiàng)的值設(shè)置為 1。確保選擇了 Hex 選項(xiàng),然后單擊確定。
6. 重新啟動(dòng) MSSQLSERVER 和 SQLSERVERAgent 服務(wù)以使更改生效。
SQL Server 安裝的最佳安全方案
下面的每一項(xiàng)都會(huì)增強(qiáng)系統(tǒng)的安全性,并且它們都屬于任何 SQL Server 安裝的標(biāo)準(zhǔn)安全“最佳方案”。 ? 使用非空密碼保護(hù) sa 登錄帳戶。有些蠕蟲程序僅當(dāng)您未對 sa 登錄帳戶采取安全措施時(shí)才會(huì)發(fā)作。 有關(guān)其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應(yīng)的文章:
313418 (http://support.microsoft.com/kb/313418/EN-US/) PRB:使用空 (NULL) SA 密碼的非安全的 SQL Server 會(huì)給蠕蟲程序以可乘之機(jī)
因此,要確保內(nèi)置 sa 帳戶具有強(qiáng)密碼,必須按照 SQL Server 聯(lián)機(jī)叢書的“系統(tǒng)管理員 (SA) 登錄”主題中的建議進(jìn)行操作(即使您從未直接使用 sa 帳戶)。
? 阻塞位于 Internet 網(wǎng)關(guān)的端口 1433,然后分配 SQL Server 偵聽備用端口。
? 如果在 Internet 網(wǎng)關(guān)上必須使用端口 1433,請啟用進(jìn)出過濾功能以防止誤用端口。
? 在 Microsoft Windows NT 帳戶(而非本地系統(tǒng)帳戶)下運(yùn)行 SQLServer 服務(wù)和 SQL Server 代理。
? 啟用 Microsoft Windows NT 身份驗(yàn)證,然后啟用對成功和失敗登錄的審核。然后,停止并重新啟動(dòng) MSSQLServer 服務(wù)。配置您的客戶端使用 Windows NT 身份驗(yàn)證。
=============================
SQL Server 2000 的sa密碼忘記之后的解決方法:
今天,發(fā)現(xiàn)我維護(hù)的服務(wù)器的SQL2000 出錯(cuò)了。 前一段時(shí)間把服務(wù)器的密碼告訴了另一個(gè)同事,他在上面裝了個(gè)他做的系統(tǒng),也不知道被他怎么搞的一下。
現(xiàn)在竟然啟動(dòng)企業(yè)管理器也連接不上。 原來的sa密碼也不是我設(shè)置的。 他說也沒有動(dòng)過SQL2000,真的是麻煩。
以下是我找到的解決方法,但是對于我的機(jī)器好象還不太行。
'無法連接到服務(wù)器,用戶xxx登陸失敗'
該錯(cuò)誤產(chǎn)生的原因是由于SQL Server使用了'僅 Windows'的身份驗(yàn)證方式,
因此用戶無法使用SQL Server的登錄帳戶(如 sa )進(jìn)行連接.解決方法如下所示:
1.在服務(wù)器端使用企業(yè)管理器,并且選擇'使用 Windows 身份驗(yàn)證'連接上 SQL Server
2.展開'SQL Server組',鼠標(biāo)右鍵點(diǎn)擊SQL Server服務(wù)器的名稱,選擇'屬性',再選擇'安全性'選項(xiàng)卡
3.在'身份驗(yàn)證'下,選擇'SQL Server和 Windows '.
4.重新啟動(dòng)SQL Server服務(wù).
在以上解決方法中,如果在第 1 步中使用'使用 Windows 身份驗(yàn)證'連接 SQL Server 失敗,
那就通過修改注冊表來解決此問題:
1.點(diǎn)擊'開始''運(yùn)行',輸入regedit,回車進(jìn)入注冊表編輯器
2.依次展開注冊表項(xiàng),瀏覽到以下注冊表鍵:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer]
3.在屏幕右方找到名稱'LoginMode',雙擊編輯雙字節(jié)值
4.將原值從1改為2,點(diǎn)擊'確定'
5.關(guān)閉注冊表編輯器
6.重新啟動(dòng)SQL Server服務(wù).
此時(shí),用戶可以成功地使用sa在企業(yè)管理器中新建SQL Server注冊,
但是仍然無法使用Windows身份驗(yàn)證模式來連接SQL Server.
這是因?yàn)樵?SQL Server 中有兩個(gè)缺省的登錄帳戶:
BUILTIN/Administrators
<機(jī)器名>/Administrator 被刪除.
要恢復(fù)這兩個(gè)帳戶,可以使用以下的方法:
1.打開企業(yè)管理器,展開服務(wù)器組,然后展開服務(wù)器
2.展開'安全性',右擊'登錄',然后單擊'新建登錄'
3.在'名稱'框中,輸入 BUILTIN/Administrators
4.在'服務(wù)器角色'選項(xiàng)卡中,選擇'System Administrators'
5.點(diǎn)擊'確定'退出
6.使用同樣方法添加 <機(jī)器名>/Administrator 登錄.
說明:
以下注冊表鍵:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/LoginMode 的值決定了SQL Server將采取何種身份驗(yàn)證模式.
1.表示使用'Windows 身份驗(yàn)證'模式
2.表示使用混合模式(Windows 身份驗(yàn)證和 SQL Server 身份驗(yàn)證).
我在處理這個(gè)問題是這樣做的:
1. 重新注冊SQL服務(wù)器,輸入服務(wù)器名為: LOCALHOST ,這個(gè)時(shí)候系統(tǒng)可以重新連接到SQL數(shù)據(jù)庫
2.打開LOCALHOST下面的安全性->登錄 ,修改sa的密碼
3. 編輯默認(rèn)的Local服務(wù)連接的屬性 ,修改為正確的sa的密碼。
這樣就可以正確的啟動(dòng)了LOCAL連接了。
最后當(dāng)然可以刪除LOCALHOST連接。
