當 SQL Server 2000 升級為 SQL Server 2005 時,SQL Server 2005 沒有啟動

文章翻譯 文章翻譯
文章編號: 900497 - 檢視此文章適用的產品。
Beta 版資訊
本文將告訴您 Beta 版的 Microsoft 產品。本文中的資訊係依「現況」提供,如有變更恕不另行通知。

Microsoft 不提供本 Beta 版產品的一般產品支援。如需有關如何取得 Beta 版本支援的詳細資訊,請參閱隨附於 Beta 版產品檔案中的說明文件,或是造訪下載此版本產品的網站。
全部展開 | 全部摺疊

徵狀

當 Microsoft SQL Server 2000 升級為 Microsoft SQL Server 2005 時,SQL Server 2005 沒有啟動。下列訊息會記錄在應用程式記錄檔中:

訊息 1
無法載入使用者專屬的憑證。伺服器將不會接受連接。您應該確認已正確安裝憑證。請參閱線上叢書中的<設定憑證給 SSL 使用>(Configuring Certificate for Use by SSL)。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 2
TDSSNIClient 初始化失敗,其錯誤為 0x80092004,狀態碼為 0x80。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 3
TDSSNIClient 初始化失敗,其錯誤為 0x80092004,狀態碼為 0x1。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 4
由於網路程式庫發生內部錯誤而無法啟動網路程式庫。若要確定其原因,請檢閱錯誤記錄檔中此錯誤的前一個錯誤。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。

發生的原因

發生這個問題的原因是儲存在 Certificate 登錄項目中的值在升級前不是有效的。

如果在升級前,將 Certificate 登錄項目設定為非零的值,SQL Server 2005 會遷移並使用該值。因此,如果該值不是有效的,SQL Server 2005 便會因為找不到對應的憑證而無法啟動。

解決方案

如果要解決這個問題,請使用下列其中一種方法:
  • 請使用「SQL Server 組態管理員」來匯入有效的憑證。
  • 清除 Certificate 登錄項目,以取消設定值。SQL Server 2005 會使用自動簽署的憑證。

其他相關資訊

SQL Server 2000 和 SQL Server 2005 永遠會嘗試在連線過程中對登入封包加密。因此,不論是否啟用資料加密,SQL Server 2000 和 SQL Server 2005 都會嘗試載入安全通訊端層 (SSL) 憑證。

如果未將 Certificate 登錄項目設定為有效的值時,那麼 SQL Server 2000 不需在本機電腦上載入憑證即可啟動。SQL Server 2000 也就不會嘗試對登入封包加密。例如,0 就是無效值。如果將 Certificate 登錄項目設定為有效的值時,SQL Server 2000 就會嘗試載入憑證並對登入封包加密。

下面的登錄子機碼為 SQL Server 2000 的 Certificate 登錄項目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib

值名稱:Certificate
類型:REG_SZ
和 SQL Server 2000 不同的是,SQL Server 2005 不會讓您透過將 Certificate 登錄項目的值設定為 0 的方式來停用加密。當您將 SQL Server 2000 升級為 SQL Server 2005 時,如果將 Certificate 登錄項目的值設定為 0,那麼 SQL Server 2005 便會清除 Certificate 登錄項目。在這種情況下,當執行個體啟動時,SQL Server 2005 便會產生自動簽署的憑證。

下面的登錄子機碼為 SQL Server 2005 的 Certificate 登錄項目:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib

值名稱:Certificate
類型:REG_SZ
如果儲存在 Certificate 登錄項目中的值因長度不正確而不是有效的,那麼 SQL Server 2005 便不會啟動。下列訊息會記錄在應用程式記錄檔中:

訊息 1
TDSSNIClient 初始化失敗,其錯誤為 0xd,狀態碼為 0x38。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 2
TDSSNIClient 初始化失敗,其錯誤為 0xd,狀態碼為 0x1。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
訊息 3
由於網路程式庫發生內部錯誤而無法啟動網路程式庫。若要確定其原因,請檢閱錯誤記錄檔中此錯誤的前一個錯誤。
如需詳細資訊,請參閱 http://support.microsoft.com 上的「說明和支援中心」。
如果儲存在 Certificate 登錄項目中的值是有效的,那麼 SQL Server 2005 便會成功啟動,而下面的訊息會記錄在應用程式記錄檔中:
憑證已成功載入進行加密。

屬性

文章編號: 900497 - 上次校閱: 2006年9月22日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Standard Edition Community Technology Preview
  • Microsoft SQL Server 2005 Enterprise Edition Community Technology Preview
  • Microsoft SQL Server 2005 Developer Edition Community Technology Preview
  • Microsoft SQL Server 2005 Express Edition Community Technology Preview
關鍵字:?
kbtshoot kbprb KB900497
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com