驗證和更改 MSDE 系統管理員密碼

概要

本文分步討論了可用於更改 SQL Server sa(系統管理員)密碼的步驟。

能夠將 Microsoft SQL Server Desktop Engine (MSDE) 2000 版本或更早版本配置爲在混合身份驗證模式下運行。 sa 賬戶在安裝過程當中建立,而且 sa 具備在 SQL Server 環境中的徹底權限。默認狀況下, sa 密碼爲空 (NULL),除非您在運行 MSDE 安裝程序時更改了該密碼。爲符合安全最佳方案的要求,必須在第一次使用時將 sa 密碼更改成強密碼。

 

如何驗證 SA 密碼是否爲空

1. 在正在鏈接到的 MSDE 實例的宿主計算機中,打開命令提示符窗口。
2. 在命令提示符處鍵入如下命令,而後按 Enter 鍵:

osql -U sa

這樣能夠經過 sa 賬戶鏈接到 MSDE 的本地默認實例。要鏈接到您的計算機上安裝的命名實例,請鍵入:

osql -U sa -S servername\instancename

隨即將出現如下提示:

Password:
3. 再次按 Enter 鍵。此操做將爲 sa 傳遞一個 NULL(空)密碼。

若是按 Enter 鍵後出現如下提示,則您對 sa 賬戶沒有密碼:

1>

爲了符合安全方案的要求,Microsoft 建議您建立非空的強密碼。

可是,若是收到如下錯誤信息,則表示您輸入的密碼不正確。此錯誤信息表示已爲 sa 賬戶建立了密碼:
"Login Failed for user 'sa'."
如下錯誤信息表示運行 SQL Server 的計算機設置爲只限 Windows 身份驗證:
Login failed for user 'sa'.Reason:Not associated with a trusted SQL Server connection.
在 Windows 身份驗證模式下沒法驗證 sa 密碼。但能夠建立 sa 密碼,以便 sa 賬戶在之後身份驗證模式更改成混合模式時仍然是安全的。

若是您收到如下錯誤信息,則表示 SQL Server 可能未運行,或者您可能爲安裝的 SQL Server 的命名實例提供了錯誤名稱:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).

 

如何更改 SA 密碼

1. 在正在鏈接到的 MSDE 實例的宿主計算機中,打開命令提示符窗口。
2. 鍵入下面的命令,而後按 Enter 鍵:

osql -U sa

Password:提示符下,按 Enter 鍵(若是密碼爲空)或鍵入當前密碼。這樣能夠使用 sa 賬戶鏈接到 MSDE 的本地默認實例。要使用 Windows 身份驗證進行鏈接,請鍵入此命令: use osql -E

3. 在各個單獨的行內鍵入下列命令,而後按 Enter 鍵:
   sp_password @old = null, @new = 'complexpwd',  @loginame ='sa' 
   go
						

注意:確保將「complexpwd」替換爲新的強密碼。強密碼包括字母數字和特殊字符以及大小寫字符的組合。

您將收到如下提示信息,表示已成功更改密碼:
Password changed.

 

如何肯定或更改身份驗證模式

重要說明:本文包含有關修改註冊表的信息。修改註冊表以前,必定要備份註冊表,而且必定要知道在發生問題時如何還原註冊表。有關如何備份、還原和編輯註冊表的信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
256986 ([url]http://support.microsoft.com/kb/256986/EN-US/[/url]) Microsoft Windows 註冊表說明

警告:註冊表編輯器使用不當可致使嚴重問題,可能須要從新安裝操做系統。Microsoft 不能保證您能夠解決因註冊表編輯器使用不當而致使的問題。使用註冊表編輯器須要您自擔風險。


若是不能肯定如何驗證 MSDE 安裝的身份驗證模式,能夠查看相應的註冊表項。默認狀況下,對於 Windows 身份驗證,Windows LoginMode 註冊表子項的值設置爲 1。若是啓用了混合模式身份驗證,則此值爲 2。

LoginMode 子項的位置取決於您是將 MSDE 做爲默認 MSDE 實例安裝仍是做爲命名實例安裝。若是 MSDE 是做爲默認實例安裝的,則 LoginMode 子項位於如下注冊表子項中:
HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
若是 MSDE 是做爲命名實例安裝的,則 LoginMode 子項位於如下注冊表子項中:
HKLM\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode
注意:切換身份驗證模式以前,必須設置 sa 密碼,以避免暴露潛在的安全漏洞。

有關其餘信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
274773 ([url]http://support.microsoft.com/kb/274773/EN-US/[/url]) FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank
要從混合模式切換到集成 (Windows) 身份驗證模式,請按如下步驟操做:
1. 要中止 MSSQLSERVER 以及全部其餘相關服務(如 SQLSERVERAgent),請在「控制面板」中打開服務程序。
2. 打開註冊表編輯器。要打開註冊表編輯器,請依次單擊開始運行,而後鍵入:「regedt32」(不包括引號)

單擊肯定

3. 找到如下兩個子項之一(取決於 MSDE 是做爲默認 MSDE 實例安裝的仍是做爲命名實例安裝的):
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer

- 或者 -

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\ \MSSQLServer\
4. 在右窗格中,雙擊 LoginMode 子項。
5. DWORD 編輯器對話框中,將此子項的值設置爲 1。確保選擇了 Hex 選項,而後單擊肯定
6. 從新啓動 MSSQLSERVER 和 SQLSERVERAgent 服務以使更改生效。
 

SQL Server 安裝的最佳安全方案

下面的每一項都會加強系統的安全性,而且它們都屬於任何 SQL Server 安裝的標準安全「最佳方案」。
使用非空密碼保護 sa 登陸賬戶。有些蠕蟲程序僅當您未對 sa 登陸賬戶採起安全措施時纔會發做。 有關其餘信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
313418 ([url]http://support.microsoft.com/kb/313418/EN-US/[/url]) PRB:使用空 (NULL) SA 密碼的非安全的 SQL Server 會給蠕蟲程序以可乘之機
所以,要確保內置 sa 賬戶具備強密碼,必須按照 SQL Server 聯機叢書的「系統管理員 (SA) 登陸」主題中的建議進行操做(即便您從未直接使用 sa 賬戶)。
阻塞位於 Internet 網關的端口 1433,而後分配 SQL Server 偵聽備用端口。
若是在 Internet 網關上必須使用端口 1433,請啓用進出過濾功能以防止誤用端口。
在 Microsoft Windows NT 賬戶(而非本地系統賬戶)下運行 SQLServer 服務和 SQL Server 代理。
啓用 Microsoft Windows NT 身份驗證,而後啓用對成功和失敗登陸的審覈。而後,中止並從新啓動 MSSQLServer 服務。配置您的客戶端使用 Windows NT 身份驗證。
相關文章
相關標籤/搜索