1、請(qǐng)教如何查找sqlserver的sa密碼?
=================================
查詢分析器,連接時(shí),身份驗(yàn)證使用"使用windows身份驗(yàn)證"
然后,執(zhí)行:
EXEC sp_password NULL, 'NewPassword', 'Sa'
------------------------------------------------------------------
企業(yè)管理器-->實(shí)例名-->安全性-->登錄-->雙擊右邊的SA-->更改密碼
--------------------------------------------------------------------
問:丟失SA密碼如何找回?
答:用戶操作失誤造成密碼丟失。有兩種方法:如果數(shù)據(jù)不多,可重裝TNSDB數(shù)據(jù)庫(kù)。如果只想找回密碼,可將安裝盤中的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的密碼。用他來(lái)替換tnsdb庫(kù)中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的管理員;
在查詢分析器窗口中輸入下面的語(yǔ)句直接更改SA密碼:
sp_password Null,\\\'ok\\\',\\\'sa\\\'
運(yùn)行后sa的密碼變?yōu)?ok"
sp_password存儲(chǔ)過程的功能是更改SQL Server登錄的密碼;
語(yǔ)法格式:
sp_password [ [ @old = ] \\\'old_password\\\' , ]
{ [ @new =] \\\'new_password\\\' }
[ , [ @loginame = ] \\\'login\\\' ]
參數(shù)說明
[@old =] \\\'old_password\\\' : 舊密碼;
[@new =] \\\'new_password\\\' : 要指定的新密碼
[@loginame =] \\\'login\\\' : 要指定的用戶
返回值: 0(成功)或 1(失敗)
以上方法的關(guān)鍵原理在于,從"查詢分析器"中以"Windows身份驗(yàn)證"連接SQL Server,只要你是本機(jī)的系統(tǒng)管理員或者域管理員,此時(shí)自動(dòng)成為SQL Server的管理員.
=================================
如何驗(yàn)證SA密碼是否為空
在命令提示符處鍵入以下命令,然后按 Enter 鍵:
osql -U sa
這樣可以通過 sa 帳戶連接到 MSDE 的本地默認(rèn)實(shí)例。要連接到您的計(jì)算機(jī)上安裝的命名實(shí)例,請(qǐng)鍵入:
osql -U sa -S servernameinstancename
隨即將出現(xiàn)以下提示:
Password:
再次按 Enter 鍵。此操作將為 sa 傳遞一個(gè) NULL(空)密碼。
如果按 Enter 鍵后出現(xiàn)以下提示,則您對(duì) sa 帳戶沒有密碼:
1>
為了符合安全方案的要求,Microsoft 建議您創(chuàng)建非空的強(qiáng)密碼。
但是,如果收到以下錯(cuò)誤信息,則表示您輸入的密碼不正確。此錯(cuò)誤信息表示已為 sa 帳戶創(chuàng)建了密碼:
"Login Failed for user "sa"."
以下錯(cuò)誤信息表示運(yùn)行 SQL Server 的計(jì)算機(jī)設(shè)置為只限 Windows 身份驗(yàn)證:
Login failed for user "sa".Reason:Not associated with a trusted SQL Server
connection.
在 Windows 身份驗(yàn)證模式下無(wú)法驗(yàn)證 sa 密碼。但可以創(chuàng)建 sa 密碼,以便 sa 帳戶在以后身份驗(yàn)證模式更改為混合模式時(shí)仍然是安全的。
如果您收到以下錯(cuò)誤信息,則表示 SQL Server 可能未運(yùn)行,或者您可能為安裝的 SQL Server 的命名實(shí)例提供了錯(cuò)誤名稱:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
=================================
問:我把我自己關(guān)在SQL Server 外面了,不能作為“sysadmin”登錄。有什么辦法解決嗎?我需要重新安裝SQL Server嗎?
答:您不必重新安裝SQL Server。要想重新訪問SQL Server,您需要修改SQL Server 2000 和 SQL Server 7.0決定SQL Server身份驗(yàn)證模式的注冊(cè)表鍵值。
在SQL Server 7.0中,該鍵為:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \MSSQLServer\MSSQLServer\LoginMode
在SQL Server 2000中,該鍵為:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
MicrosoftSQLServer\\MSSQLServer\LoginMode
“LoginMode”的值為0表示只進(jìn)行Windows 的身份驗(yàn)證,為1表示驗(yàn)證模式為混合模式。在您把自己關(guān)在外面之后,您可以把“LoginMode”改為1,重新啟動(dòng)SQL Server,然后以sa(system administrator)身份登錄,輸入您知道的sa密碼即可。
以下關(guān)于SQL Server的角色成員的信息可能會(huì)幫助您理解為什么您會(huì)把自己關(guān)在SQLServer外面。在您安裝SQL Server 2000 或 7.0的時(shí)候,安裝進(jìn)程自動(dòng)地為“BUILTIN\Administrators”創(chuàng)建一個(gè)登錄賬號(hào),該賬號(hào)為“sysadmin”角色成員。“BUILTIN\Administrators”登錄賬號(hào)代表了Microsoft Windows® 2000 或Microsoft Windows NT® server 上的系統(tǒng)管理員本地組。 Windows 2000 或 Windows NT的 “Administrator”帳戶是系統(tǒng)管理員本地組的成員。此外,如果您的服務(wù)器是一個(gè)域的成員(包括Windows 2000 的域和Windows NT 4.0的域),“Domain Admins”全局組也會(huì)成為本地系統(tǒng)管理員組的成員。這意味著系統(tǒng)管理員本地組的所有成員都會(huì)自動(dòng)地獲得SQL Server上的“sysadmin”權(quán)限。
為了加強(qiáng)您的SQL Server的安全性,您可能更愿意創(chuàng)建您自己的組并授予它“sysadmin”權(quán)限,然后刪除“BUILTIN\Administrators”登錄賬號(hào),或者至少?gòu)?#8220;sysadmin”服務(wù)器角色中刪除它。使用這種方法,您可以較好地對(duì)誰(shuí)可以訪問您的SQL Server進(jìn)行控制。這種方法也斷開了SQL Server 系統(tǒng)管理員和Windows 2000 或 Windows NT 管理員之間的聯(lián)系, 因?yàn)樗麄兺ǔS胁煌娜蝿?wù),并且需要不同的權(quán)限。為了加強(qiáng)安全性,您可能想把SQL Server配置成只支持Windows身份驗(yàn)證。但是,必須要記住:這種配置會(huì)禁用您的“sa”帳戶。(這個(gè)方法可能是禁用“sa”帳戶的唯一方法,因?yàn)槟荒軇h除“sa”帳戶。)如果您以錯(cuò)誤的順序?qū)嵤┝诉@個(gè)安全措施,您將不能再以>“sysadmin”的身份登錄到SQL Server上,除非按照我上面所說的方法修改注冊(cè)表鍵值。正確的順序是:
創(chuàng)建Windows 2000 或者 Windows NT 用戶組并為組分配成員。例如:創(chuàng)建一個(gè)叫做“SQLAdmins”的組。
把“SQLAdmins”映射為SQL Server里的一個(gè)用Windows身份驗(yàn)證方式驗(yàn)證登錄的帳戶,并把該帳戶分派到“sysadmin”服務(wù)器角色。
刪除“BUILTIN\Administrators”登錄帳戶或者把它從“sysadmin”服務(wù)器角色中刪除。
把SQL Server的身份驗(yàn)證模式改為“僅進(jìn)行Windows身份驗(yàn)證”。
重新啟動(dòng)SQL Server 以反映身份驗(yàn)證模式的變化。
注意: 如果您以下面的這種錯(cuò)誤順序?qū)嵤┻@些步驟:刪除“BUILTIN\Administrators”登錄帳戶,改變SQL Server 的身份驗(yàn)證模式為“僅進(jìn)行Windows身份驗(yàn)證”,然后重新啟動(dòng)SQL Server,那么“sa” 帳戶將被禁用,并且因?yàn)闆]有定義其它Windows身份驗(yàn)證登錄帳戶而無(wú)法進(jìn)入SQL Server。為了避免這種情況發(fā)生,請(qǐng)以正確的順序?qū)嵤┻@些安全措施。
========================================
破解SA的密碼的方法
0)停掉你現(xiàn)有的數(shù)據(jù)庫(kù)服務(wù)。
1)新建一個(gè)實(shí)例,就是重新安裝一次sql server,以下稱為new
2)把你舊的數(shù)據(jù)庫(kù)實(shí)例(以下稱為old)的master.mdf , master.ldf copy到一個(gè)文件夾
3) 在new中,通過attach db的方式把文件夾中的兩個(gè)文件加為new中的數(shù)據(jù)庫(kù),當(dāng)然名稱和位置在添加的時(shí)候都要改的。
4)在new 中,通過語(yǔ)句的方式,把master中的表sysxlogins 中sa的密碼更新到你剛添加的數(shù)據(jù)庫(kù)(old中的master)的表sysxlogins中對(duì)應(yīng)的sa 的密碼字段。
5)把你剛添加的數(shù)據(jù)庫(kù)(old中的master)在new中detachdb,然后把文件覆蓋掉old中對(duì)應(yīng)文件(覆蓋前把文件備份)
6)重新啟動(dòng)old服務(wù)器,看是否可行
7)卸載new服務(wù)器
===============================
驗(yàn)證和更改 MSDE 系統(tǒng)管理員密碼
如何更改 SA 密碼
1. 在正在連接到的 MSDE 實(shí)例的宿主計(jì)算機(jī)中,打開命令提示符窗口。
2. 鍵入下面的命令,然后按 Enter 鍵:
osql -U sa
在 Password:提示符下,按 Enter 鍵(如果密碼為空)或鍵入當(dāng)前密碼。這樣可以使用 sa 帳戶連接到 MSDE 的本地默認(rèn)實(shí)例。要使用 Windows 身份驗(yàn)證進(jìn)行連接,請(qǐng)鍵入此命令: use osql -E
3. 在各個(gè)單獨(dú)的行內(nèi)鍵入下列命令,然后按 Enter 鍵:
sp_password @old = null, @new = 'complexpwd', @loginame ='sa'
go
注意:確保將“complexpwd”替換為新的強(qiáng)密碼。強(qiáng)密碼包括字母數(shù)字和特殊字符以及大小寫字符的組合。
您將收到以下提示信息,表示已成功更改密碼:
Password changed.
如何確定或更改身份驗(yàn)證模式
重要說明:本文包含有關(guān)修改注冊(cè)表的信息。修改注冊(cè)表之前,一定要備份注冊(cè)表,并且一定要知道在發(fā)生問題時(shí)如何還原注冊(cè)表。有關(guān)如何備份、還原和編輯注冊(cè)表的信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(yīng)的文章:
256986 (http://support.microsoft.com/kb/256986/EN-US/) Microsoft Windows 注冊(cè)表說明
警告:注冊(cè)表編輯器使用不當(dāng)可導(dǎo)致嚴(yán)重問題,可能需要重新安裝操作系統(tǒng)。Microsoft 不能保證您可以解決因注冊(cè)表編輯器使用不當(dāng)而導(dǎo)致的問題。使用注冊(cè)表編輯器需要您自擔(dān)風(fēng)險(xiǎn)。
如果不能確定如何驗(yàn)證 MSDE 安裝的身份驗(yàn)證模式,可以查看相應(yīng)的注冊(cè)表項(xiàng)。默認(rèn)情況下,對(duì)于 Windows 身份驗(yàn)證,Windows LoginMode 注冊(cè)表子項(xiàng)的值設(shè)置為 1。如果啟用了混合模式身份驗(yàn)證,則此值為 2。
LoginMode 子項(xiàng)的位置取決于您是將 MSDE 作為默認(rèn) MSDE 實(shí)例安裝還是作為命名實(shí)例安裝。如果 MSDE 是作為默認(rèn)實(shí)例安裝的,則 LoginMode 子項(xiàng)位于以下注冊(cè)表子項(xiàng)中:
HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
如果 MSDE 是作為命名實(shí)例安裝的,則 LoginMode 子項(xiàng)位于以下注冊(cè)表子項(xiàng)中:
HKLM\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode
注意:切換身份驗(yàn)證模式之前,必須設(shè)置 sa 密碼,以免暴露潛在的安全漏洞。
有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(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)證模式,請(qǐng)按以下步驟操作: 1. 要停止 MSSQLSERVER 以及所有其他相關(guān)服務(wù)(如 SQLSERVERAgent),請(qǐng)?jiān)?#8220;控制面板”中打開服務(wù)程序。
2. 打開注冊(cè)表編輯器。要打開注冊(cè)表編輯器,請(qǐng)依次單擊開始和運(yùn)行,然后鍵入:“regedt32”(不包括引號(hào))
單擊確定。
3. 找到以下兩個(gè)子項(xiàng)之一(取決于 MSDE 是作為默認(rèn) MSDE 實(shí)例安裝的還是作為命名實(shí)例安裝的):
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer
- 或者 -
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\
4. 在右窗格中,雙擊 LoginMode 子項(xiàng)。
5. 在 DWORD 編輯器對(duì)話框中,將此子項(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)您未對(duì) sa 登錄帳戶采取安全措施時(shí)才會(huì)發(fā)作。 有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(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,請(qǐng)啟用進(jìn)出過濾功能以防止誤用端口。
在 Microsoft Windows NT 帳戶(而非本地系統(tǒng)帳戶)下運(yùn)行 SQLServer 服務(wù)和 SQL Server 代理。
啟用 Microsoft Windows NT 身份驗(yàn)證,然后啟用對(duì)成功和失敗登錄的審核。然后,停止并重新啟動(dòng) MSSQLServer 服務(wù)。配置您的客戶端使用 Windows NT 身份驗(yàn)證。
=============================
SQLServer2000 的sa密碼忘記之后的解決方法
今天,發(fā)現(xiàn)我維護(hù)的服務(wù)器的SQL2000 出錯(cuò)了。 前一段時(shí)間把服務(wù)器的密碼告訴了另一個(gè)同事,他在上面裝了個(gè)他做的系統(tǒng),也不知道被他怎么搞的一下。
現(xiàn)在竟然啟動(dòng)企業(yè)管理器也連接不上。 原來(lái)的sa密碼也不是我設(shè)置的。 他說也沒有動(dòng)過SQL2000,真的是麻煩。
以下是我找到的解決方法,但是對(duì)于我的機(jī)器好象還不太行。
"無(wú)法連接到服務(wù)器,用戶xxx登陸失敗"
該錯(cuò)誤產(chǎn)生的原因是由于SQL Server使用了"僅 Windows"的身份驗(yàn)證方式,
因此用戶無(wú)法使用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 失敗,
那就通過修改注冊(cè)表來(lái)解決此問題:
1.點(diǎn)擊"開始""運(yùn)行",輸入regedit,回車進(jìn)入注冊(cè)表編輯器
2.依次展開注冊(cè)表項(xiàng),瀏覽到以下注冊(cè)表鍵:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer]
3.在屏幕右方找到名稱"LoginMode",雙擊編輯雙字節(jié)值
4.將原值從1改為2,點(diǎn)擊"確定"
5.關(guān)閉注冊(cè)表編輯器
6.重新啟動(dòng)SQL Server服務(wù).
此時(shí),用戶可以成功地使用sa在企業(yè)管理器中新建SQL Server注冊(cè),
但是仍然無(wú)法使用Windows身份驗(yàn)證模式來(lái)連接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 登錄.
說明:
以下注冊(cè)表鍵:
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. 重新注冊(cè)SQL服務(wù)器,輸入服務(wù)器名為: LOCALHOST ,這個(gè)時(shí)候系統(tǒng)可以重新連接到SQL數(shù)據(jù)庫(kù)
2.打開LOCALHOST下面的安全性->登錄 ,修改sa的密碼
3. 編輯默認(rèn)的Local服務(wù)連接的屬性 ,修改為正確的sa的密碼。
這樣就可以正確的啟動(dòng)了LOCAL連接了。
最后當(dāng)然可以刪除LOCALHOST連接。
但是,有一個(gè)遺留問題,就是Windows身份驗(yàn)證模式還是不成功,不知道是什么原因。 我按照上面的說明把 BuiltIn/Administrators 和 Administrator都刪除重建好象都不行。
聯(lián)系客服